Blog

The 2025 TestParty Guide to WCAG 2.1.3 – Keyboard (No Exception) (Level AAA)

TestParty
TestParty
February 1, 2025

Why did the keyboard-only user refuse to play the piano game on the website? Because the developer said "timing is everything," and they knew that was a WCAG violation.

WCAG 2.1.3 Keyboard (No Exception) is the strictest keyboard accessibility standard in WCAG 2.2. It requires that every single function on your site works via keyboard alone—no exceptions, no timing requirements. If you're aiming for Level AAA compliance or building applications for users who depend exclusively on keyboards, this criterion is your north star.

Table of Contents

  • What WCAG 2.1.3 Requires
  • Why This Matters
  • Quick Implementation Guide
  • Common Mistakes to Avoid
  • How to Test for WCAG 2.1.3
  • How TestParty Helps
  • FAQs

What WCAG 2.1.3 Requires

WCAG 2.1.3 demands that all functionality be operable through a keyboard interface without requiring specific timings for individual keystrokes.

This is the Level AAA version of 2.1.1 Keyboard (Level A). The key difference? No exceptions allowed.

Key requirements:

  • Every interactive element must be keyboard-accessible—buttons, links, form controls, custom widgets, media players, maps, games, everything.
  • No timing dependencies: Users cannot be required to press keys at specific intervals or speeds. Rapid key sequences, timed holds, or rhythm-based inputs are prohibited.
  • No exceptions for underlying technology: Unlike 2.1.1, you cannot claim "the underlying function requires path-dependent input" (like freehand drawing). At Level AAA, you must provide an alternative keyboard method.

What's affected:

  • Custom JavaScript components (carousels, modals, drag-and-drop interfaces)
  • Canvas-based applications and games
  • Drawing tools, signature pads, and gesture-based interfaces
  • Video players with custom controls
  • Interactive maps and data visualizations
  • Any feature that currently requires mouse, touch, or timing

Why This Matters

Many users cannot use a mouse or touchscreen at all. They rely on keyboards, switch devices, sip-and-puff controls, or other assistive technologies that emulate keyboard input.

Real-world impact:

Users with motor disabilities, tremors, paralysis, or limited dexterity depend on keyboard-only navigation. Timing requirements exclude users who need more time to locate and press keys. Without full keyboard access, these users are locked out of essential functions—shopping carts, form submissions, account management, content creation tools.

Legal and compliance context:

While Level AAA is not typically required for broad legal compliance under the ADA or Section 508 (which reference Level AA), it represents best practice and may be mandated in specific contexts—government contracts, healthcare systems, educational institutions, or organizations committed to universal design. The European Accessibility Act and EN 301 549 primarily require Level AA, but AAA demonstrates industry leadership and reduces legal risk.

Business case:

Achieving 2.1.3 compliance expands your addressable market, reduces support costs, and future-proofs your product against evolving accessibility standards. It also improves usability for power users who prefer keyboard shortcuts.

Quick Implementation Guide

Meeting 2.1.3 requires a comprehensive keyboard accessibility strategy. Here's where to start:

1. Ensure all interactive elements are focusable and operable via keyboard

Use semantic HTML (<button>, <a>, <input>) wherever possible. These elements are keyboard-accessible by default.

<!-- Good: Native button, keyboard-accessible -->
<button onclick="saveData()">Save</button>

<!-- Bad: Div with click handler, not keyboard-accessible -->
<div onclick="saveData()">Save</div>

<!-- Acceptable: Div with proper ARIA and keyboard handlers -->
<div role="button" tabindex="0" onclick="saveData()" onkeydown="handleKey(event)">
  Save
</div>

2. Implement keyboard event handlers for custom components

If you must use non-semantic elements, add tabindex="0" and handle both click and keydown events (Enter and Space for buttons).

3. Eliminate timing requirements

Never require users to press keys within a specific timeframe. Avoid auto-advancing carousels that require rapid key presses to control, rhythm-based games without keyboard alternatives, or features that timeout during keyboard navigation.

4. Provide keyboard alternatives for path-dependent input

For drawing tools, signature pads, or drag-and-drop interfaces, offer alternative methods: text input, file upload, arrow-key-based positioning, or pre-defined templates.

5. Test with keyboard only

Unplug your mouse and navigate your entire site using only Tab, Shift+Tab, Enter, Space, and arrow keys. If you can't complete every task, you're not compliant.

Relevant WCAG techniques: G202 (ensuring keyboard control), SCR35 (making actions keyboard-accessible via onclick), SCR2 (using redundant keyboard and mouse event handlers).

Common Mistakes to Avoid

Even teams that pass Level A and AA keyboard requirements often stumble at Level AAA. Watch out for these pitfalls:

1. Assuming "mostly keyboard-accessible" is enough

At Level AAA, 99% isn't good enough. That one drag-and-drop file uploader without a "Browse" button alternative? That's a failure.

2. Requiring rapid or timed key sequences

Auto-complete dropdowns that disappear if you don't press Enter within two seconds, games that require rhythmic key presses, or shortcuts that only work if keys are pressed simultaneously within a narrow window all violate 2.1.3.

3. Relying on the "path-dependent input" exception

The exception allowed in 2.1.1 (Level A) does not apply at Level AAA. Freehand signature tools, drawing canvases, and gesture-based interfaces must offer keyboard alternatives—typed signatures, shape tools with arrow-key control, or alternative input methods.

4. Forgetting about custom widgets

Date pickers, color selectors, sliders, and rich text editors often fail keyboard testing. Ensure every control within these widgets is reachable and operable via keyboard, with no timing constraints.

How to Test for WCAG 2.1.3

Testing for 2.1.3 requires both automated scanning and thorough manual evaluation.

Automated testing catches:

  • Missing tabindex on custom interactive elements
  • Elements with click handlers but no keyboard handlers
  • Broken focus order or keyboard traps
  • ARIA roles without corresponding keyboard support

Manual testing is essential for:

  • Functional completeness: Can you complete every user flow (checkout, form submission, content creation) using only the keyboard?
  • Timing requirements: Do any features require rapid key presses or timed sequences?
  • Alternative methods: For path-dependent inputs (drawing, gestures), is there a keyboard-accessible alternative?
  • Custom widgets: Do date pickers, modals, carousels, and other components work fully via keyboard?

Testing checklist:

  • Unplug your mouse and navigate the entire site using Tab, Shift+Tab, Enter, Space, and arrow keys.
  • Attempt every interactive function—forms, buttons, menus, media controls, custom widgets.
  • Verify that no features require specific timing or rapid key sequences.
  • For drawing tools, drag-and-drop, or gesture-based features, confirm keyboard alternatives exist.
  • Use screen reader testing (NVDA, JAWS, VoiceOver) to verify keyboard commands are announced correctly.

How TestParty Helps

TestParty's AI-powered platform is designed to help teams achieve and maintain Level AAA keyboard accessibility at scale.

What TestParty detects:

TestParty's automated scanning analyzes your DOM and source code to identify keyboard accessibility violations related to 2.1.3:

  • Interactive elements (divs, spans with click handlers) missing tabindex or keyboard event handlers
  • Custom widgets (modals, dropdowns, sliders) without proper keyboard support
  • Keyboard traps where focus gets stuck and users can't Tab out
  • Missing or incorrect ARIA roles that break keyboard operability (e.g., role="button" without tabindex or Enter/Space handlers)
  • Focus order issues that make keyboard navigation illogical or impossible
  • Elements that require mouse-specific events (hover, drag) without keyboard alternatives

TestParty flags these issues at the component level, pinpointing the exact line of code and providing context about why each violation fails 2.1.3.

How TestParty suggests fixes:

For many keyboard accessibility issues, TestParty's AI generates specific code remediation:

  • Adding tabindex="0" to custom interactive elements
  • Injecting keyboard event handlers (onkeydown, onkeyup) that mirror click behavior
  • Suggesting ARIA attributes (role, aria-pressed, aria-expanded) to make custom widgets keyboard-operable
  • Recommending semantic HTML replacements (e.g., replacing <div onclick> with <button>)
  • Providing code snippets for keyboard-accessible alternatives to drag-and-drop or drawing interfaces (file upload buttons, arrow-key positioning)

Because keyboard accessibility often requires understanding user intent, TestParty's AI-generated fixes are reviewed by developers or TestParty accessibility specialists before being committed. This ensures that keyboard interactions are logical, intuitive, and meet user expectations—not just technically compliant.

Developer workflow integration:

TestParty integrates directly into your development lifecycle to catch keyboard accessibility issues before they reach production:

  • CI/CD gates: Block pull requests that introduce keyboard traps, missing keyboard handlers, or timing-dependent interactions.
  • IDE and PR integration: Surface keyboard accessibility violations as inline annotations during code review, with suggested fixes and links to WCAG documentation.
  • Pre-commit hooks: Flag new keyboard issues locally, giving developers immediate feedback as they code.

This shift-left approach is critical for 2.1.3 compliance. Keyboard accessibility regressions are common when teams add new features, refactor components, or update JavaScript frameworks. TestParty's continuous monitoring ensures that once you achieve Level AAA, you stay there.

Ongoing monitoring:

TestParty continuously scans your site for keyboard accessibility issues, tracking compliance over time:

  • Dashboards show 2.1.3 violation trends across pages, components, and releases.
  • Regression alerts notify your team immediately if a deployment introduces new keyboard accessibility failures.
  • Audit-ready reports document your Level AAA compliance efforts for legal, procurement, or certification purposes.

For organizations managing large sites, ecommerce platforms, or SaaS applications, TestParty's template-level remediation ensures that keyboard accessibility fixes cascade across thousands of pages—fixing the root cause, not just individual instances.


Some TestParty features described in this article are currently under development. Visit TestParty.ai to learn more about our current capabilities and roadmap, or book a demo at TestParty.ai/book-a-demo to see TestParty in action.

Disclaimer: Some of this article was generated with Large Language Models (LLMs) and Artificial Intelligence (AI). There may be some errors and we advise you to consult with human professionals for detailed questions.


FAQs About WCAG 2.1.3

What is WCAG 2.1.3 in plain language?

WCAG 2.1.3 requires that every function on your website works via keyboard alone, without requiring users to press keys at specific speeds or timings. Unlike the Level A version (2.1.1), there are no exceptions—even for features like drawing tools or drag-and-drop interfaces, you must provide keyboard alternatives.

Is WCAG 2.1.3 required for ADA compliance?

No, ADA compliance typically references WCAG 2.1 Level AA, which includes 2.1.1 (Keyboard, Level A) but not 2.1.3 (Level AAA). However, achieving Level AAA demonstrates best practice, reduces legal risk, and may be required for specific government contracts, healthcare systems, or educational institutions.

What's the difference between WCAG 2.1.1 and 2.1.3?

WCAG 2.1.1 (Level A) requires keyboard accessibility for all functionality except where the underlying function requires path-dependent input (like freehand drawing). WCAG 2.1.3 (Level AAA) removes that exception—every function must have a keyboard-accessible method, and no timing requirements are allowed for keystrokes.

Do keyboard shortcuts violate WCAG 2.1.3?

No, keyboard shortcuts are allowed and encouraged. However, they must not require specific timing (e.g., pressing keys simultaneously within a narrow window) or rapid sequences. Shortcuts should be discoverable, documented, and not conflict with assistive technology commands. WCAG 2.1.4 (Character Key Shortcuts) provides additional guidance.

How do I make drag-and-drop keyboard-accessible?

Provide an alternative method that doesn't require path-dependent input. Options include: arrow keys to reposition items, a "Move to" dropdown menu, cut/paste keyboard shortcuts, or a form-based interface where users select items and specify their destination. The alternative must accomplish the same task as drag-and-drop without requiring mouse or timing-based input.

Stay informed

Accessibility insights delivered
straight to your inbox.

Contact Us

Automate the software work for accessibility compliance, end-to-end.

Empowering businesses with seamless digital accessibility solutions—simple, inclusive, effective.

Book a Demo