Keyboard shortcuts are documented and non-conflicting
Why it matters
Custom keyboard shortcuts that override browser defaults — Ctrl+W, Ctrl+T, Ctrl+L — can trap users who reach for familiar browser actions and instead trigger in-app behavior. WCAG 2.2 SC 2.1.4 (Character Key Shortcuts) is a Level A requirement: any keyboard shortcut using only printable characters must be remappable, togglable, or active only on focus. Undocumented shortcuts are also inaccessible to AT users who need to know what keyboard controls are available.
Severity rationale
Info because keyboard shortcut conflicts are an edge-case usability issue that affects only specific key combinations — the violation exists when shortcuts genuinely override browser defaults or lack documentation, not merely because shortcuts exist.
Remediation
Document all custom keyboard shortcuts in an in-app help panel, avoid overriding critical browser shortcuts, and add the ability to disable or remap shortcuts.
// Keyboard shortcut registry — avoids browser-reserved combinations
const SHORTCUTS = [
{ key: '?', action: 'Open keyboard shortcuts help' },
{ key: 'Ctrl+K', action: 'Open command palette' },
// Avoid: Ctrl+W (close tab), Ctrl+T (new tab), Ctrl+L (address bar)
]
export function KeyboardShortcutsHelp() {
return (
<dialog aria-labelledby="shortcuts-title">
<h2 id="shortcuts-title">Keyboard shortcuts</h2>
<ul>
{SHORTCUTS.map(s => (
<li key={s.key}>
<kbd>{s.key}</kbd> — {s.action}
</li>
))}
</ul>
</dialog>
)
}
Open the help panel with ? and link to it from the app's navigation so users know shortcuts exist. Per WCAG 2.2 SC 2.1.4, single-character shortcuts must be disableable or remappable.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Accessibility WCAG Compliance Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- wcag:2.2 · 2.1.4 — Character Key Shortcuts
- section-508:2018-refresh · 407.6 — Operation of Mechanical Controls
Taxons
History
- 2026-04-18·v1.0.0·Initial import from accessibility-wcag·automated