2.2.6 Timeouts
Level AAA · added in WCAG 2.1
If a period of inactivity can make users lose data, tell them how long that period is. You do not need the warning if you keep their data for more than 20 hours.
Who it helps
People with cognitive, memory or attention disabilities may need breaks or extra time to gather documents. Knowing the timeout up front lets them plan, prepare in advance or save their work before stepping away.
How to meet it
- The best fix is to keep users' entered data for more than 20 hours of inactivity, so nothing is lost when they come back.
- If you cannot, state the inactivity limit at the start of the task, for example "This form times out after 30 minutes of inactivity."
- Say what will be lost, and show the notice once at the start, not on every step.
- Check privacy rules such as HIPAA or PCI DSS before storing data, since some require consent first.
- Level AAA is not required by most laws or policies, which point to AA. It is still worth meeting where you can.
Examples
<h1>Apply for a parking permit</h1>
<form action="/apply" method="post">
<!-- fields -->
</form><h1>Apply for a parking permit</h1>
<p id="timeout-note">
For your security, this form times out after 15 minutes of inactivity.
Answers you have not submitted will be lost.
</p>
<form action="/apply" method="post" aria-describedby="timeout-note">
<!-- fields -->
</form>Can a scanner detect this?
No
axe-core has no rule for timeouts, because inactivity limits are set on the server and cannot be seen in the page code. Find out the session and form timeouts for each task. Then check that the page states them, or that data is kept for over 20 hours.
No automated rule tests this criterion. Check it by hand.
Common mistakes
- Warning users only seconds before a timeout, instead of telling them the limit at the start.
- Stating the timeout in a help page or terms document that users do not see during the task.
- Keeping data for a few hours and assuming that is enough without a warning; the threshold is 20 hours.
- Warning about a timeout on every step of a long process, which adds noise.
Related criteria
Check your own page
See which automated WCAG checks your page fails, with the failing elements and how to fix them.
Reviewed November 2, 2026