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
| Enter, Space or ↓ | Open the menu and focus the first item. |
|---|---|
| ↑ | Open the menu and focus the last item. |
| ↓ / ↑ | Next / previous item, wrapping at both ends. Disabled items are stepped over. |
|---|---|
| Home / End | First / last item. |
| Enter or Space | Activate the focused item. |
| Esc | Close and return focus to the button. |
| Tab | Close the menu and let focus move on — the keystroke is not consumed. |
| Printable character | Jump 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.