This document provides requirements for making UIs compliant with keyboard accessibility guidelines.
Checklist
Use these checklists to make the UI compliant. Related items are grouped together for easier understanding.
1. Tab Chain
| Item |
|---|
| Page contains tab chains and elements can be focused by keyboard controls |
| Elements in the tab chain are grouped and groups can be navigated with keyboard controls |
| Tab chains are expanded with static content for extra accessibility |
| Focus can be moved inside elements with embedded navigation options |
| Focus can be moved inside the elements of a container |
| Selection in lists and grids can be made using keyboard controls |
| Complex layouts can be navigated with Tab and Arrow keys |
| Complex components can be navigated by keyboard controls |
2. Item Actions
| Item |
|---|
| Elements with actions can be triggered by keyboard controls |
| Selection inside a grid-like interface is supported by keyboard controls |
| The selected value of list-based inputs can be changed without opening the list |
| Expandable/collapsible elements can be opened and closed with keyboard controls |
| Tooltips can be displayed or hidden with keyboard controls |
| Drill-down details for an element can be accessed with keyboard controls |
| Contextual menus can be operated with keyboard controls |
| Deletable items can be deleted using keyboard controls |
| Lists of properties for objects can be edited with keyboard controls |
3. Text Editing
| Item |
|---|
| Text cursor can be moved with keyboard controls |
| Editable elements can be edited using only keyboard controls |
| Text editors support paragraph navigation with keyboard controls |
| Text inputs that require specific case are automatically formatted |
4. Navigation
| Item |
|---|
| Multi-step interfaces can be navigated with keyboard controls |
| Dialogs can be cancelled or accepted by keyboard controls |
| Floating elements can be closed with the Escape key |
| Pagination can be used without moving focus to it |
| Item |
|---|
| The layout adapts to resizing and zooming |
| Scrollable containers can be scrolled using keyboard controls |
| Pages and canvases can be zoomed using keyboard controls |
| Draggable canvases can be navigated with keyboard controls |
6. Special
| Item |
|---|
| Media players support keyboard controls |
| Scrubbing interfaces can be accessed with keyboard controls |
Details
Tab Chain
Elements are tabbable and a tab chain exists on the page. A tab chain should be structured like reading order: left to right, then the next line.
| Keys | Action |
|---|
Tab | Move focus forward |
Shift + Tab | Move focus backward |
Scrollable containers should auto-scroll so focused elements remain visible.
Tab Chain Groups
| Keys | Action |
|---|
Ctrl + Tab or F6 | Move focus to the next group |
Ctrl + Shift + Tab or Shift + F6 | Move focus to the previous group |
Selection in Lists and Grids
| Keys | Action |
|---|
Left arrow | Move focus left/backward |
Right arrow | Move focus right/forward |
Up arrow | Move focus up |
Down arrow | Move focus down |
Home | Move focus to first item |
End | Move focus to last item |
Activating Elements
| Keys | Action |
|---|
Spacebar or Enter | Activate focused element |
Enter | Activates the default button in a dialog |
Escape while Spacebar is pressed | Cancel activation |
Links:
| Keys | Action |
|---|
Enter | Open link in same window |
Shift + Enter | Open link in new window |
Ctrl + Enter | Open link in new tab |
Deletion
| Keys | Action |
|---|
Delete | Delete selected items or character after cursor |
Backspace | Delete selected items or character before cursor |
Drill-Down
| Keys | Action |
|---|
F2 | Activate UI element action (equivalent to double click) |
Enter | Start an underlying action or dialog |
Alt + Enter | Open properties dialog |
Escape
Press Escape to return to a safe state — cancels dialogs, closes popover lists and panels.
Focus Into Element with Navigation
Automatic focus switching when navigating into a child element:
- Window/page: default or last focus location
- Dialog: first interactive or autofocus element
- Containers: first interactive or autofocus element
- List-like elements: first item
Editable Elements
| Keys | Action |
|---|
F2 | Invoke inline editing |
Enter or Tab | Accept changes |
Escape | Revert changes |
Delete | Delete character after cursor |
Backspace | Delete character before cursor |
Expand/Collapse
| Keys | Action |
|---|
Right arrow | Expand and move focus to first child |
Left arrow | Collapse and move focus to parent |
+ or Numpad + | Expand without moving focus |
- or Numpad - | Collapse without moving focus |
Grid Selection
| Keys | Action |
|---|
Ctrl + Space | Select entire column |
Shift + Space | Select entire row |
Ctrl + A | Select all items |
| Keys | Action |
|---|
ContextMenu key or Shift + F10 | Open context menu |
Escape | Close menu |
Up arrow / Down arrow | Move focus within menu |
Enter | Activate focused item |
| Keys | Action |
|---|
Shift + Ctrl + I | Show/hide tooltip for focused element |
List Quick Access
| Keys | Action |
|---|
Left arrow | Select previous item |
Right arrow | Select next item |
Dialogs
| Keys | Action |
|---|
Enter | Accept and close dialog |
Escape | Cancel and close dialog |
Multi-Step Navigation
| Keys | Action |
|---|
Enter | Navigate to next step |
Escape | Cancel wizard and close dialog |
Shift + Enter | Navigate to previous step |
| Keys | Action |
|---|
Ctrl + PageDown | Next page |
Ctrl + PageUp | Previous page |
Text Cursor
Move the cursor with Arrow keys, Home, End, Ctrl + Left, and Ctrl + Right (word step).
Paragraph Navigation
| Keys | Action |
|---|
Ctrl + Up Arrow | Move to previous paragraph |
Ctrl + Down Arrow | Move to next paragraph |
| Keys | Action |
|---|
Arrow keys | Scroll in a specific direction |
Spacebar / Shift + Spacebar | Scroll down / up |
Canvas Zooming
| Keys | Action |
|---|
Ctrl + + | Zoom in |
Ctrl + - | Zoom out |
Alt + Ctrl + 0 | Default zoom level |
Canvas Panning
| Keys | Action |
|---|
Arrow keys | Directional scrolling |
PageDown / PageUp | Scroll one page down/up |
Alt + PageDown / PageUp | Scroll one page right/left |
| Keys | Action |
|---|
Spacebar or P | Play/pause |
+ / - | Increase/decrease volume |
M | Mute/unmute |
Left arrow / Right arrow | Previous/next frame |
PageDown / PageUp | Next/previous chapter |
Ctrl + Home / End | Jump to beginning/end |