WCAG 2.2 - All Success Criteria

Accessibility Checkpoints

Description

If a keyboard shortcut is implemented using only a single letter, punctuation, number, or symbol character key, then the user must be able to turn it off, remap it to include a modifier key (such as Ctrl, Alt, or Shift), or have it active only when the relevant component has focus. This criterion was introduced to address conflicts between web application shortcuts and the single-character shortcuts used by screen readers and other assistive technologies.

How To Test

  1. Review the page or application documentation for any advertised keyboard shortcuts.
  2. Tab through the page and, without focusing any form field, press single letter keys (a–z), number keys, and common punctuation keys (/, ?, !, etc.).
  3. Note any unintended actions that are triggered by these single-character keypresses.
  4. If single-character shortcuts exist, look for a setting (often in a preferences or help menu) to turn them off or remap them to use a modifier key.
  5. Verify the setting works and that shortcuts remain disabled or remapped after the setting is saved.
  6. Confirm that shortcuts tied to a specific focused component (e.g., arrow key navigation inside a list) only fire when that component has focus.

Testing Tools

Demo

Demo 1: Character key shortcut with modifier

Pressing "S" anywhere on the page triggers a search action - even while a screen reader user is navigating or composing text.

Try it: Focus below and press the "S" key:

Code
Code
Demo 2: Undocumented vs documented shortcuts

The application uses single-character shortcuts (D for delete, A for archive, R for reply) with no documentation or user control. Users cannot discover or disable them.

Keyboard shortcuts exist but are not listed anywhere. Pressing "D" deletes, "A" archives, "R" replies - all without warning and with no way to turn them off.

Code
Code
Demo 3: Focus-scoped shortcuts

The delete shortcut (D) is active everywhere in the application. Pressing D deletes the selected message even when focus is in the compose area, causing accidental message deletion while typing.

Messages

Message 1

D = Delete (active)

Compose

D = Delete (active - DANGER)

Code
Code

Fail Explanation

A failure occurs when a web application binds functionality to a single character key globally - for example, pressing "S" to search or "D" to delete - with no way for the user to disable or remap that shortcut. Screen reader users often speak commands letter-by-letter or use single-key navigation shortcuts, and these will accidentally trigger the application's shortcut instead, causing unintended actions such as deleting content, submitting forms, or navigating away from the current view. Additionally, users of voice control software (like Dragon NaturallySpeaking) may trigger shortcuts while dictating.

Pass Explanation

A passing implementation either avoids single-character shortcuts altogether, or provides one of these three approaches:

  1. Add a modifier key: Require Ctrl, Alt, or Shift to be held with the character (e.g., Ctrl+S instead of S).
  2. Scope to focus: Activate the shortcut only when a specific component (like a search input) has keyboard focus.
  3. Document and control: List all shortcuts in a visible, accessible preferences menu where users can disable any that conflict with their assistive technology or workflow.

Notes

This criterion is particularly relevant for single-page applications and productivity tools (email clients, document editors, project management apps) that implement rich keyboard shortcut schemes. Shortcuts that already require a modifier key (e.g., Ctrl+S) are not subject to this criterion. Testing this criterion requires understanding the assistive technology being used - what shortcuts does NVDA use? What does Dragon NaturallySpeaking rely on? The best approach is often to support modifier keys or provide detailed, user-configurable shortcut settings.

WCAG Techniques

Techniques

WCAG techniques used in this demo: G217

Suggested Solutions & References