microformats food menu proposal: first draft

The properties below are a first draft proposal for a food menu microformat based on ideas from the microformats wiki menu brainstorming page. This is still in the alpha stage, and should not be considered anywhere close to beta, let alone a standard.

The reason for this proposal is mostly because I learn by doing. I marked up actual food menus based on real menus that I once published for two restaurants that I used to work for. In order to add microformats, I had to come up with proposed names, even though this violates the microformats process. Incidentally, the process of creating html food menus with microformats did give me ideas of things to do or avoid, which I shared on the menu brainstorming page.

Root Name

Following the microformats2 design patterns, the root name could be h-x-menu.


The following proposed property names also follow microformats2 design patterns and the microformats principle of re-using existing class names.

the name of the menu, e.g., breakfast, dinner, etc.; might also refer to the menu item category, e.g., appetizers, main dishes, desserts, beverages, wine list, etc.; or might describe à la carte or prix fixe menu
restaurant, vendor, or other organization or person selling the food item; can be a nested h-card
individual menu item, e.g., an appetizer, dessert, beverage, etc.; can be an embedded h-product, which would allow product details like price, photo, or description; see h-product for details
to allow for menu sections (lunch, dinner, appetizers, salads, etc.), h-menu can include nested h-menu items which can have their own name and list of h-products; h-menu can be nested as deep as needed to represent a food menu

example menus