responsibility: Code
Collection of success criterion where the responsibility falls under technical implementation and developer tasks.
2.1.1 Keyboard
All functionality must be operable using a keyboard alone, unless the task requires freehand input (e.g. drawing).
2.1.2 No Keyboard Trap
It must always be possible to move focus into and out of any component using a keyboard alone (e.g. [tab], [shift] + [tab], [enter], [esc]), without getting stuck.
2.1.4 Character Key Shortcuts
Keyboard shortcuts should use modifier keys like [ctrl], [cmd], or [alt/option]. If single-key shortcuts are used (e.g. ‘S’ for save), it must be possible to turn them off, remap them with a modifier key, or restrict them to when the relevant element is focused.
2.2.1 Timing Adjustable
Time limits must be avoided unless essential for the task (e.g. exams, auctions). If time limits are used, it must be possible to turn them off, adjust them to at least 10× the default, or extend them by at least 10×.
2.2.2 Pause, Stop, Hide
If content moves, scrolls, blinks, or updates automatically for more than 5 seconds, it must be possible to pause it, stop it, or hide it.
2.2.3 No Timing
Content must not include time limits for reading or interaction, unless it’s part of a live event or time-based activity (e.g. auctions, broadcasts).
2.2.4 Interruptions
Interruptions (like pop-ups, alerts, or notifications) must be able to be delayed or suppressed, and controlled, except in emergencies (e.g. critical system warnings).
2.2.5 Re-authenticating
When (re-)authentication is required (e.g. after session timeout), all previously entered data must be preserved so the task can continue without starting over.
2.2.6 Timeouts
If inactivity could lead to data loss, a clear warning must be shown before the timeout, with enough time to react, and including an option to extend the session.
2.3.3 Animation from Interactions
Animations triggered by interaction (e.g. on click, hover, tap) must be able to be disabled through system settings (e.g. “reduce motion”), or turned off using a site-level option.