ADA Title II Deadline: April 24, 2026

Keyboard Navigation Accessibility Checker

All website functionality must be operable through a keyboard interface. WCAG 2.1.1 is a Level A requirement — the absolute minimum — yet keyboard failures affect millions of users who cannot use a mouse.

No signup required. Results in under 60 seconds.

WCAG 2.1 AAAI Fix SuggestionsFree, No Signup

What WCAG 2.1.1 and 2.1.2 Require

WCAG 2.1.1 (Keyboard, Level A) requires that all functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes. WCAG 2.1.2 (No Keyboard Trap, Level A) requires that if keyboard focus can be moved to a component, focus can also be moved away from that component using the keyboard — and if non-standard keys are needed, the user is advised. These are Level A criteria — the absolute baseline of accessibility. Keyboard operability is foundational because it enables access for users of screen readers, switch devices, voice control software, and other assistive technologies that all ultimately interface through keyboard events.

Who Relies on Keyboard Navigation

Keyboard accessibility serves a broad range of users:

  • Screen reader users: Screen readers like JAWS, NVDA, and VoiceOver navigate entirely through keyboard commands. If an element is not keyboard-reachable, it is invisible to these users
  • Motor disability users: People with conditions like cerebral palsy, muscular dystrophy, or repetitive strain injury may use keyboards, switch devices, sip-and-puff devices, or head trackers — all of which send keyboard events
  • Voice control users: Software like Dragon NaturallySpeaking maps voice commands to keyboard and mouse actions. Keyboard-accessible interfaces work better with voice control
  • Power users: Many non-disabled users prefer keyboard navigation for efficiency. Tab, Enter, Space, and arrow keys should work predictably

The US ADA Title II deadline of April 24, 2026 requires WCAG 2.1 AA compliance, which includes these Level A keyboard criteria. The European Accessibility Act similarly mandates keyboard operability through EN 301 549.

Common Violations and Code Examples

Keyboard accessibility violations are among the most impactful failures:

  • Click-only handlers on divs: <div onclick="doAction()">Click me</div> is not keyboard accessible. Fix: <button onclick="doAction()">Click me</button> or add role="button" tabindex="0" onkeydown="handleKey(e)"
  • Keyboard traps in modals: Focus enters a modal but Tab never cycles back to the close button. Fix: trap focus within the modal using JavaScript and handle Escape to close
  • Custom dropdowns without key handlers: <div class="dropdown"> with mouse-only interaction. Fix: implement Arrow Up/Down to navigate options, Enter to select, Escape to close
  • Non-focusable interactive elements: <span class="link" onclick="navigate()"> cannot receive focus. Fix: use <a href="..."> or add tabindex="0" with keyboard event handlers
  • Skip navigation missing: No "Skip to main content" link forces keyboard users to Tab through every navigation item on every page

How CompliScan Detects Keyboard Issues

CompliScan's scanner detects many keyboard accessibility violations automatically: interactive elements without keyboard support (onclick without onkeydown), missing tabindex on custom widgets, focusable elements with tabindex="-1" that should be in the tab order, and elements with mouse-only event handlers. The scanner also checks for keyboard trap indicators and missing skip navigation links. Each finding includes the specific element, its role, and an AI-generated fix with correct keyboard event handling code. Automated tools catch approximately 30-40% of keyboard issues — keyboard traps and complex widget interactions often require manual testing with Tab, Shift+Tab, Enter, Space, Escape, and arrow keys. We recommend running CompliScan first to identify structural keyboard issues, then manually testing your most critical user flows. CompliScan's Shield plan ($49/mo) monitors for keyboard regressions as your site evolves.

Frequently Asked Questions

What is a keyboard trap?

A keyboard trap occurs when a user can Tab into a component but cannot Tab out of it using standard keyboard navigation. Common examples include modals that do not handle Escape or cycle focus, embedded media players, and third-party widgets like chatbots or cookie consent banners. WCAG 2.1.2 requires that users can always move focus away from any component using the keyboard.

Do I need to make everything keyboard accessible?

All interactive functionality must be keyboard accessible — links, buttons, form fields, menus, dialogs, tabs, sliders, and any custom widgets. Static content that is not interactive does not need to be individually focusable, but it must be reachable by screen readers through normal reading order. The exception in WCAG 2.1.1 is for functionality that fundamentally depends on the path of the user's movement (e.g., freehand drawing), not just the endpoints.

How do I test for keyboard accessibility?

Start with CompliScan for automated detection of structural keyboard issues. Then manually test: use Tab to move through all interactive elements, Shift+Tab to go backward, Enter/Space to activate buttons and links, Arrow keys in menus and widgets, and Escape to close modals. Verify you can complete every user flow without a mouse. Check that the focus indicator is always visible (WCAG 2.4.7). Test in multiple browsers as keyboard behavior can vary.

What is tabindex and how should I use it?

tabindex controls whether and in what order elements receive keyboard focus. tabindex='0' adds an element to the natural tab order (use for custom interactive elements). tabindex='-1' makes an element focusable programmatically but removes it from the tab order (use for managing focus in scripts). Avoid positive tabindex values (tabindex='1', '2', etc.) as they override the natural DOM order and create confusing navigation sequences. Native HTML elements like button, a, and input are already in the tab order — you do not need tabindex for them.

Check Your Website Now

Enter your URL below and get a free accessibility report with AI-powered fix suggestions in under 60 seconds.

No signup required. Results in under 60 seconds.