Loading content...
Loading content...
Everything must be keyboard accessible, with no exceptions.
Why it matters: Ensures complete access for users who rely solely on keyboards.
All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes.
What This Means: This success criterion is a stricter version of 2.1.1 (Level A). At Level AAA, ALL functionality must be keyboard accessible with no exceptions, and keystrokes must not require specific timings. This means there can be no mouse-only functionality, no exceptions for complex interactions, and users must be able to take their time with keystrokes without timing out.
Why It's Important: Some users rely entirely on keyboard input and cannot use pointing devices at all. At the AAA level, we ensure complete access for these users by requiring that every single piece of functionality is keyboard accessible. Additionally, users with motor disabilities may need more time between keystrokes, so timing requirements must be eliminated.
Ensure absolutely every interactive element and function is keyboard accessible. This includes complex interactions like drag-and-drop, which must have keyboard alternatives. Remove any timing requirements for keystrokes - users should be able to take as long as needed between key presses. Test thoroughly with keyboard-only navigation to verify complete access.
This criterion ensures that blind users can access and understand the content, improving their overall experience and ability to use the website effectively.
This criterion ensures that users with motor disabilities can access and understand the content, improving their overall experience and ability to use the website effectively.
Impact: When this criterion is properly implemented, it removes barriers for these user groups and creates a more inclusive web experience for everyone.
Some functionality can only be accessed with a mouse, violating this criterion.
<div onmouseover="showMenu()" onmouseout="hideMenu()">
Menu
</div>All functionality is accessible via keyboard, including focus and keyboard events.
<div onfocus="showMenu()" onblur="hideMenu()" tabindex="0">
Menu
</div>This success criterion benefits the following user groups:
Tip: Use this checklist during development and testing to ensure all requirements for 2.1.3 Keyboard (No Exception) are met. Check off items as you complete them.
Note: These are official W3C resources for 2.1.3. For the most up-to-date information and detailed technical guidance, always refer to the official W3C documentation.
Implementing 2.1.3 Keyboard (No Exception) correctly requires understanding your specific context. Code solutions vary significantly based on multiple factors:
HTML, React, Vue, Angular, PHP, Python, and other frameworks each have different patterns and best practices.
Server-side rendering, client-side rendering, static generation, and hybrid approaches require different solutions.
Your existing components, styling approach, and UI library influence how accessibility must be implemented.
Your specific user base, content type, and interaction patterns determine the most appropriate implementation.
We provide tailored implementation guidance by analyzing your specific technology stack, coding patterns, design system, and project requirements. Our team reviews your codebase and provides custom solutions that integrate seamlessly with your existing architecture.
Get Custom Implementation HelpPart of
Operable PrincipleGuideline
2.1 Keyboard Accessible