Het <menu>-element definieert een lijst van commando's. Elk omsloten <li>-element is een commando. In (X)HTML5 zijn ook andere elementen toegestaan, bijv. als de commando's in tekst worden beschreven.
Als het type-attribuut gebruikt is, gelden er echter andere regels voor de inhoud:
- <hr>-elementen voor scheidingslijnen;
- <menu>-elementen of <select>-elementen, met label-attribuut als submenu, zonder label boven en onder omsloten door scheidingslijnen;
- <li>-elementen en <label>-elementen, deze worden genegeerd maar hun kinderen niet.
<menu … > … </menu>
label-attribuut
Wanneer het <menu>-element binnen een ander <menu>-element is opgenomen, definieert het een submenu. Het label-attribuut wordt dan gebruikt om dit submenu een label te geven zodat de gebruiker het submenu kan herkennen.
<menu label="…" … > … </menu>
type-attribuut
Indien het type-attribuut is opgenomen, verandert het menu van een simpele lijst van commando's in:
- een contextmenu (rechtermuisklikmenu) als de waarde
"context"is; - een werkbalk indien de waarde
"toolbar"is.
Zoals hierboven reeds vermeld veranderen de eisen aan de inhoud van het element. De commando's van het menu kunnen door verschillende elementen worden aangegeven:
- <a>-elementen met href-attributen;
- <button>-elementen;
- <input>-elementen met als type-attribuut
"submit","reset","image","button","radio"of"checkbox"; - <option>-elementen (binnen <select>-elementen) die geen expliciet leeg value-attribuut hebben;
- <command>-elementen;
- andere elementen met een accesskey-attribuut.
<menu type="…" … > … </menu>
Globale attributen
De globale attributen mogen op elk element worden toegepast. Dit zijn accesskey, class, contenteditable, contextmenu, data-…, dir, draggable, hidden, id, lang, spellcheck, style, tabindex en title.
Geschrapte attributen
De volgende attributen zijn niet meer toegestaan in (X)HTML5, maar waren wel toegestaan in HTML 4 en XHTML 1:
compact-attribuut
Het booleaanse compact-attribuut gaf aan dat de lijst van commando's compact moet worden weergegeven door de browser.
<menu compact="compact" … > … </menu>