All WCAG criteria
WCAG 2.1.1 · OperableLevel A

2.1.1Keyboard

All functionality must be operable through a keyboard interface — no mouse, no touch required.

Common failures

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
How to test

Testing approach: manual.

Manual — unplug your mouse. Tab, Shift+Tab, Enter, Space, Arrow keys. Can you use every feature?

axe-core rules

button-namelink-nametabindex
How to fix

Remediation steps.

  1. 1

    Use semantic elements

    Native `<button>`, `<a>`, `<input>` get keyboard support for free. Custom `<div>` with onClick gets nothing.

  2. 2

    For custom widgets

    Implement the WAI-ARIA Authoring Practices keyboard pattern for combo box, listbox, menu, dialog, tablist, etc.

  3. 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.

Scan for WCAG 2.1.1 on your site

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.

All 50 WCAG 2.1 Level A + AA success criteria explained.

View the full checklist