- Success Criterion 2.2.1
- Conformance level A
Session Expiring With No Warning and No Way to Extend It
2.2.1 — Timing Adjustable
Scenario
Setting
An online spreadsheet's toolbar
What’s wrong
Session expiry with no warning and no extend option (form data lost) — no exception applies.
Example
function checkIdle() {
if (idleTime > 600000) logout(); // no warning shown
} Why it matters
A user typing formulas into cells loses unsaved calculations the instant the session silently drops.
How to test
Leave a session idle until it expires: check for a warning before expiry, and confirm form data isn't lost when the session ends.
How to fix
Always warn before expiry and auto-save draft data as a backstop.
function warnBeforeExpiry() {
showDialog('Your session ends in 2 minutes. Extend it?', extendSession);
}
setTimeout(warnBeforeExpiry, sessionDuration - 120000); Outcome
A spreadsheet user saves their work before the session ends instead of losing an afternoon's edits.
Who is affected
Users who type slowly, including those with motor impairments, lose work with no chance to save it first.
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 Warning That Gives Users Less Than 20 Seconds to Respond
- Session Extension Allowed Fewer Than the Required 10 Times
- Timeout Adjustment Option Set Below the Required 10x Default