Time Limits
What constitutes a time limit?
Any process that happens without the user initiating it, after a set time or on a periodic basis.
Examples include:
- logging user out after a set period of time
- time limit to complete a task
- time limit to read content before it auto-reloads or advances
What's wrong with time limits?
Some users take longer with certain tasks, for example:
- People who are blind or have low vision, and people with cognitive impairments, may take longer to find content on the page.
- People using assistive technology may require extra time to interact with controls.
- Reading and understanding content can take longer for people who speak English as a second language (this can include some deaf people who learned a sign language as their first language), and those with cognitive impairments.
When is a time limit appropriate?
Before implementing a time limit in an application, consider whether the time limit is necessary. If possible, avoid the time limit. Examples of appropriate contexts for time limits include:
- Privacy or security concerns
- Time-sensitive information (e.g. updating election results)
- Timing is critical to the application (e.g. an auction happening in real time; buying tickets on a ticket site that might sell out)
If you must use a time limit
If you must use a time limit, take the following into consideration:
For session time limits or scripted time limits:
- Tell users there will be a time limit before the timer begins.
- If possible for your application, at this point allow users to either disable the time limit (e.g. for election results, allow users to indicate they do not want results to auto-update) or extend the time limit (e.g. for election results that refresh every 30 seconds, allow users to choose to refresh every minute, two minutes, or more)
- Before the time limit is reached, notify the user, and give them at least 20-30 seconds to extend the time limit with a simple action (e.g. press any key, press the space bar, press a large target button)
- The user must be able to repeat this process (i.e. reaching the time limit and extending it) at least 10 times.
- Keep as much activity as possible outside of the timed window - e.g. if there is any information they can provide that does not need to be secure, can that activity happen before the timer begins?
For time limits on reading content:
- Provide a way for a user to pause and restart the content.
Never allowed
The following techniques must not be used:
- Using the meta or server-side techniques element to create a redirect after a time delay.
- Using the meta element to refresh the page after a time delay without providing a mechanism to turn off the refresh.
A note on countdown clocks
- Countdown clocks can be distracting, both for visual users and screen reader users. They can also provoke anxiety in users. Avoid them where possible.
- If a countdown clock is important to your application, it must be available to assistive technology. Consider the intervals at which the time is announced, and ensure it is informative but not interruptive.
- If your application requires a countdown clock, provide an accessible way for users to hide and un-hide it. Ensure this mechanism stops announcing content to assistive technology when it is hidden, and starts announcing content again when it is shown.