2.1.1Keyboard
All functionality must be operable through a keyboard interface — no mouse, no touch required.
Patterns that fail this criterion.
- 01Custom dropdowns that only respond to click events
- 02Sliders without arrow-key handling
- 03Cards/tiles with `onClick` on a `<div>` — keyboard cannot reach
- 04Drag-and-drop interfaces without keyboard alternative
Testing approach: manual.
Manual — unplug your mouse. Tab, Shift+Tab, Enter, Space, Arrow keys. Can you use every feature?
axe-core rules
button-namelink-nametabindexRemediation steps.
- 1
Use semantic elements
Native `<button>`, `<a>`, `<input>` get keyboard support for free. Custom `<div>` with onClick gets nothing.
- 2
For custom widgets
Implement the WAI-ARIA Authoring Practices keyboard pattern for combo box, listbox, menu, dialog, tablist, etc.
- 3
tabindex thoughtfully
`tabindex="0"` to include in tab order; `tabindex="-1"` to make programmatically focusable but not in tab order. Never `tabindex="2"` or higher.
Find every violation in 42 seconds.
AccessProof runs axe-core 4.9.1 against your site and flags every WCAG criterion with the offending element selector. WCAG 2.1.1 is one of 49 criteria we check on every scan.
Often appears with…
All 50 WCAG 2.1 Level A + AA success criteria explained.
View the full checklist