The o-hydroxyaryl ketone first undergoes tautomerization to form the respective enol.
The pi electrons of the double bond then attack the electrophilic carbon of the anhydride; a carboxylate anion is subsequently lost as a leaving group.
The carboxylate anion then attacks an alpha hydrogen to form an enol.
The nucleophilic hydroxyl group then attacks the carbonyl carbon to form a six-membered heterocyclic ring.
A proton is abstracted from the hydroxyl group of the enol to form a ketone, and the remaining hydroxyl group is lost as a leaving group in a concerted step to afford the final product.