- Success Criterion 2.2.1
- Conformance level A
Re-Login Flow That Also Discards the User’s Entered Data
2.2.1 — Timing Adjustable
Scenario
Setting
A music streaming app's playlist screen
What’s wrong
Re-login loops that also discard entered data (compound with 2.2.5 AAA, but base timing fail here).
Example
setTimeout(() => logOut(), 60000); // no warning Why it matters
People who read, type, or move slowly, including many screen-reader users.
How to test
Let a session time out mid-form: if re-login is required and the previously entered form data is also discarded, it fails.
How to fix
The time limit must be removable or adjustable (to at least 10x) before it starts, or extendable via a warning giving at least 20 seconds to respond with a simple action. setTimeout(() => showExtendSessionPrompt(), 55000); Users need a warning and a way to extend a time limit before it expires, unless the limit is essential (e.g. an auction).
Outcome
On a music streaming app's playlist screen, this barrier is gone for people who read — they reach the same outcome without extra effort.
Who is affected
People who read, type, or move slowly, including many screen-reader users.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Page Auto-Redirects on a Timer With No Way to Stop It
- Page That Auto-Reloads and Resets the User’s Position
- Server Redirect Timeout With No Warning or Way to Extend It
- Session Expiring With No Warning and No Way to Extend It
- Session Warning That Gives Users Less Than 20 Seconds to Respond
- Session Extension Allowed Fewer Than the Required 10 Times