Skip to content

Find what you need, instantly

Search components, ARIA roles & attributes, and WCAG criteria.

Keyboard testing quick reference

The conventions used throughout this site's component pages, and the general rules to check any custom widget against.

Last verified against WCAG 2.2 and WAI-ARIA APG 1.2 on 2026-07-02.

Global keyboard shortcut legend

Keyboard interaction model
KeyBehavior
TabMoves focus to the next focusable element in DOM/visual order.
Shift+TabMoves focus to the previous focusable element.
EnterActivates the focused link or button; submits the focused form.
SpaceActivates the focused button, toggles the focused checkbox/switch, or scrolls the page if focus is on the document body.
Arrow keysMove selection/focus within a composite widget (menu, tablist, listbox, radio group, slider) — never used for page-level navigation.
Home / EndMove to the first / last item within a composite widget, or the top/bottom of a scrollable region.
EscapeDismisses a transient UI element (menu, dialog, tooltip, popover) without committing a change, and returns focus to a sensible place.
Page Up / Page DownScrolls a large view (e.g. a slider or scrollable list) by a larger increment.

General testing rules

  • Arrow keys operate only inside a single composite widget — they should never move focus to a different, unrelated widget on the page.
  • Anything a mouse can activate must also be reachable and activatable by keyboard alone (SC 2.1.1).
  • Focus must never become trapped in a region a user can't Tab or Escape their way out of, except intentionally inside an open modal dialog (SC 2.1.2).
  • Tab order should follow visual/reading order — components positioned visually later shouldn't receive focus earlier (SC 2.4.3).
  • A visible focus indicator (2px minimum, 3:1 contrast against its background) must be present on every focusable element (SC 2.4.7).

How to run a keyboard-only pass

  1. Unplug or ignore your mouse/trackpad for the entire pass.
  2. Starting from the browser address bar, press Tab repeatedly through the whole page.
  3. At every stop, confirm you can see where focus is (SC 2.4.7) and that the order makes sense (SC 2.4.3).
  4. For every interactive control, try to complete its task using only keyboard keys documented on that component's page.
  5. Confirm you can always get back out — no dead ends, no traps.