Character Key Shortcuts
Summary:
WCAG 2.1.4, "Character Key Shortcuts," focuses on the accessibility concerns related to keyboard shortcuts that use character keys. This guideline ensures that users who rely on assistive technologies or have motor impairments are not adversely affected by shortcuts that might inadvertently be triggered.
What:
This criterion requires that if a keyboard shortcut is implemented using letter (including upper and lower case), punctuation, number, or symbol characters, then at least one of the following must be true: the shortcut can be turned off, it can be remapped to involve one or more non-printable keyboard characters (like Ctrl or Alt), or it's only active when the component has focus.
Why:
Character key shortcuts can conflict with assistive technologies or can be activated accidentally by users with motor impairments. By providing options to remap or turn off these shortcuts, or ensuring they're only active when in focus, we prevent interference with assistive tools and make navigation more predictable and user-friendly.
Examples and Scenarios:
- Single-Key Shortcuts: A web app that uses single-key shortcuts should provide an option to disable these or change them to combination keys involving Ctrl or Alt.
- Global Shortcuts: If a website uses global character key shortcuts, these should only work when certain elements have focus, to prevent accidental activation.
- Text Input Fields: In applications where text input is common, ensure character key shortcuts do not interfere with normal typing.
How to Comply:
- Websites: Offer settings to disable or remap keyboard shortcuts. Use JavaScript to implement these functionalities.
- Mobile Apps: Provide options within the app to customize or deactivate keyboard shortcuts, especially if the app can be used with external keyboards.
- Software Applications: Design the UI to include options for managing and customizing keyboard shortcuts, ensuring they don’t interfere with assistive technologies or user input.
Exceptions:
- Essential Shortcuts: If the character key is essential for the function and doing so without it would invalidate the activity, it might not be possible to adhere to this criterion. However, such cases are expected to be rare.