APG · Menu Button

Menu button

Real focus moves into the menu here — the opposite of the combobox, where focus stays in the input. There is no text field to keep it in.

Last action: none yet

What to check. Type d repeatedly in the first menu — it cycles Duplicate → Delete → Duplicate, rather than searching for "dd". Checkbox items keep the menu open so several can be set in one visit; everything else closes and returns focus to the button.
Keyboard interaction — trigger
Enter, Space or ↓Open the menu and focus the first item.
↑Open the menu and focus the last item.
Keyboard interaction — open menu
↓ / ↑Next / previous item, wrapping at both ends. Disabled items are stepped over.
Home / EndFirst / last item.
Enter or SpaceActivate the focused item.
EscClose and return focus to the button.
TabClose the menu and let focus move on — the keystroke is not consumed.
Printable characterJump to the next item starting with it. Repeating a character cycles through matches.

Notes

Do not use this for site navigation. A <nav> full of links marked role="menuitem" is the single most common misuse of the role: it strips every link affordance a screen reader user relies on — no "link" announcement, no link list in the rotor, no open-in-new-tab expectation. role="menu" is a promise that this is a list of actions with menu keyboard behaviour. Navigation is a list of links.

Checkbox and radio items carry their state in aria-checked, and the tick is drawn from that attribute in CSS — so the visual state cannot drift from the announced state.