Guide
Accessibility reference
Which components take keyboard input, every component's key map in one place, and what is checked for each page.
This page is generated from the component pages when the docs are built, so it lists every component and cannot drift from them. For what is tested and what is not, see Accessibility.
"Live demos" counts the demos embedded on the page. The docs tests render every demo and fail on an axe violation, so each one is accessibility-checked. "Key map rows" counts the rows of the key map on the page.
15 components take keyboard input. Each key map below is the one on the component's own page.
Keyboard interactions| Key | Action |
|---|
| Tab | Moves focus to the scrollable region. |
| ArrowDownorArrowUp | Scrolls the region vertically. |
| ArrowRightorArrowLeft | Scrolls horizontally when it overflows that way. |
| PageDownorPageUp | Scrolls by a page. |
| HomeorEnd | Scrolls to the start or end. |
Keyboard interactions| Key | Action |
|---|
| EnterorSpace | Activates the button. Ignored while loading. |
| Tab | Moves focus to the button. A loading button stays in the tab order. |
| ShiftorTab | Moves focus to the previous control. |
Keyboard interactions| Key | Action |
|---|
| Tab | Moves to the main button, then to the arrow button. |
| EnterorSpace | On the main button: runs the primary action. On the arrow: opens the menu. |
| ArrowDown | On the arrow button: opens the menu on its first item. |
| Escape | Closes the menu and returns focus to the arrow button. |
Keyboard interactions| Key | Action |
|---|
| Tab | Moves focus into and out of the field. Disabled inputs are skipped. |
| ShiftorTab | Moves focus to the previous control. |
| Esc | Not captured, so a parent dialog can use it to close. |
Keyboard interactions| Key | Action |
|---|
| Tab | Enters the group at a single tab stop, then moves on. Only one item is in the tab order at a time (roving tabindex). |
| ArrowRightorArrowLeft | Moves focus to the next or previous item and wraps (ArrowDown and ArrowUp when vertical). It never changes the selection. |
| HomeorEnd | Moves focus to the first or last item. |
| SpaceorEnter | Presses or releases the focused item. |
Keyboard interactions| Key | Action |
|---|
| Tab | Moves focus to the dismiss button of an Alert that has one. |
| EnterorSpace | Dismisses the Alert (calls onDismiss). |
Keyboard interactions| Key | Action |
|---|
| Tab | Moves to the scroll region when the table has a label. Nothing else in a static table is focusable. |
| ArrowDownorArrowUporArrowRightorArrowLeft | Scrolls a focused, labelled region. |
| PageDownorPageUporHomeorEnd | Scrolls by a page, or to the start or end. |
Keyboard interactions| Key | Action |
|---|
| Tab | Moves to the next trigger (or the first focusable element in an open panel). |
| EnterorSpace | Opens or closes the focused section. |
| ArrowDownorArrowUp | Moves focus to the next or previous trigger and wraps. It does not open anything. |
| HomeorEnd | Moves focus to the first or last trigger. |
Keyboard interactions| Key | Action |
|---|
| Tab | Enters the tab list at the selected tab, then moves on to the panel. |
| ArrowRightorArrowLeft | Moves focus between tabs and wraps (ArrowDown and ArrowUp when vertical). |
| HomeorEnd | Moves focus to the first or last tab. |
| EnterorSpace | Selects the focused tab (not needed with activateOnFocus). |
Keyboard interactions| Key | Action |
|---|
| F6 | Moves focus into the notifications region. Tab then moves between the actions and close buttons. |
| TaborShift+Tab | Moves between the toasts' buttons. The timers pause while focus is inside. |
| EnterorSpace | Activates the focused action or close button. |
Keyboard interactions| Key | Action |
|---|
| Tab | Focusing a tooltip trigger or hover-card link shows its surface; leaving hides it. |
| EnterorSpace | Opens a popover from its trigger. |
| TaborShift+Tab | Moves through the content of an open popover. |
| Escape | Closes the open tooltip, popover or hover card. Focus returns to the trigger. |
Keyboard interactions| Key | Action |
|---|
| TaborShift+Tab | Moves through the controls inside the surface and wraps at the ends. |
| Escape | Closes the top surface. Focus returns to the control that opened it. |
| EnterorSpace | Opens from a trigger, and activates the focused button inside. |
Keyboard interactions| Key | Action |
|---|
| EnterorSpaceorArrowDown | On the trigger: opens the menu on the first item. |
| ArrowUp | On the trigger: opens the menu on the last item. |
| ArrowDownorArrowUp | Moves to the next or previous item and wraps at the ends. |
| HomeorEnd | Jumps to the first or last item. |
| A–Z | Typeahead: jumps to the item that starts with the letters you type. Letters typed together are one search. |
| EnterorSpace | Runs the focused item and closes the menu. A checkbox or radio item toggles. |
| ArrowRight | On a submenu trigger: opens the submenu and focuses its first item. |
| ArrowLeft | In a submenu: closes it and returns to its trigger. |
| Escape | Closes the open submenu, or the menu. Focus returns to the trigger. |
| Tab | Closes the menu and moves on. Focus is never trapped. |
Keyboard interactions| Key | Action |
|---|
| Tab | Moves through the links in order. The current page and the separators are not focusable. |
| Enter | Follows the focused link. |
Keyboard interactions| Key | Action |
|---|
| Tab | Moves through the page controls. A disabled Previous or Next is skipped. |
| Enter | Follows a link, or activates a button. |
| Space | Activates a button page. (Links respond to Enter only, as native links do.) |
Keyboard interactions| Key | Action |
|---|
| Tab | Nothing in a stepper is focusable: it only reports progress. |