APG · Combobox (ARIA 1.2)
Combobox
DOM focus never leaves the text field. The highlighted option is carried
by aria-activedescendant — which is what lets you keep
typing while an option is highlighted.
Selected: nothing yet
What to check. With VoiceOver on, press ↓ and
listen: you should hear the option name and its position, without focus
leaving the field. Type quickly in the second combobox — a slow response
for an earlier query must never overwrite the list you are already
navigating.
| ↓ | Open the popup and highlight the first option. If already open, move to the next option, wrapping at the end. |
|---|---|
| ↑ | Open the popup and highlight the last option. If already open, move to the previous option. |
| Alt + ↓ | Open the popup without highlighting anything. |
| Alt + ↑ | Close the popup, keeping the current value. |
| Enter | Commit the highlighted option. With nothing highlighted, the keystroke passes through to the form. |
| Esc | First press closes the popup. Second press clears the field. |
| Home / End | Move the text cursor, per the APG, and drop the highlight so Enter cannot commit a stale option. |
| Tab | Commit the highlighted option, then move on. |
| Printable character | Filter the list. Nothing is auto-highlighted. |
Notes
The result count is announced through a polite live region scoped to the widget, debounced by 350 ms. Announcing on every keystroke floods the speech queue, and the user never hears the count that actually matters.
Nothing is highlighted automatically while typing. Auto-highlighting the first result is common and quietly hostile: Enter then commits a value the user never chose and, on a form, often submits it too.