2.2: Enough Time
Guideline 2.2: Provide users enough time to read and use content.
In certain cases, you might have to limit a session to a certain amount of time. Security reasons may require such measure, or if a task has to be completed in a given amount of time. However, some people may require more time than what you originally allow. You have to provide options to allow people the amount of time they need to perform a certain function or access information.
2.2.1: Timing Adjustable (Level A)
For each time limit that is set by the content, at least one of the following is true: (Level A)
- Turn off: The user is allowed to turn off the time limit before encountering it; or
- Adjust: The user is allowed to adjust the time limit before encountering it over a wide range that is at least ten times the length of the default setting; or
- Extend: The user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action (for example, "press the space bar"), and the user is allowed to extend the time limit at least ten times; or
- Real-time Exception: The time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible; or
- Essential Exception: The time limit is essential and extending it would invalidate the activity; or
- 20 Hour Exception: The time limit is longer than 20 hours.
If you have to set a time limit for any activities, make sure one of the following is true:
Turn off time limit
If going over the time limit does not have any consequences, provide an option for the user to turn off the time limit. However, in this case, you may just not use any time limits, at all.
Adjusting time limit
If the time limit can be greatly extended, but not indefinitely, allow the user to adjust this limit. The best way to do it is to offer the user different lengths of extensions, one of which should be at least ten times longer than the original time limit.
If you have to stick to a time limit for any reason, warn the user at least 20 seconds before the time limit expires. In this case, the user should be able to extend the time at least ten times, by a very simple action, which should not be any more complicated than pressing a button.
Real time event
If the time limitation is due to a real time event, obviously, you will not be able to extend it. In this case, while you do not have any responsibilities, it is always a good idea to let the user know when the time expires.
In other cases, while the event is not tied to a real time activity, extending the time would invalidate a certain action. For example, if you would like to measure the number of words a person can type in a minute. In this case, you do not have any responsibilities of extending the time limit.
Time limit is longer than 20 hours
You also do not have any responsibilities, if the original time limit is longer than 20 hours. This can be a little deceiving, because it may appear that a time limit is not imposed. Therefore, it is always a good idea to let the user know that the time limit is 20 hours, or more.
2.2.2: Pause, Stop, Hide (Level A)
For moving, blinking, scrolling, or auto-updating information, all of the following are true: (Level A)
- Moving, blinking, scrolling: For any moving, blinking or scrolling information that (1) starts automatically, (2) lasts more than five seconds, and (3) is presented in parallel with other content, there is a mechanism for the user to pause, stop, or hide it unless the movement, blinking, or scrolling is part of an activity where it is essential; and
- Auto-updating: For any auto-updating information that (1) starts automatically and (2) is presented in parallel with other content, there is a mechanism for the user to pause, stop, or hide it or to control the frequency of the update unless the auto-updating is part of an activity where it is essential.
When you have scrolling, blinking, moving or updating information on your web page which lasts longer than five seconds, allow the user to pause, stop or hide this activity.
When you automatically update information, allow the user to set the updating frequency.
You are not obliged to do any of the above, if there is a reason for the blinking, moving or scrolling content, or for any reason the update frequency is relevant.
2.2.3: No Timing (Level AAA)
Timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events. (Level AAA)
In an ideal situation, timing should not occur in any context. To bring your web application to a Level AAA conformance, eliminate all timing. The only exception is synchronized media which already has a given length of time, and real time events, which due to their nature have a timing limit.
2.2.4: Interruptions (Level AAA)
Interruptions can be postponed or suppressed by the user, except interruptions involving an emergency. (Level AAA)
There are times when it would be necessary or desirable to interrupt the users work in order to provide any information. It could be advertisements, software updates, or emergency situations. Unless it is an emergency situation, obtain the users consent to be interrupted, or allow the user to postpone the interruption. The only time you are allowed to move the user's focus and interrupt with a message if it is a real emergency, either life threatening, security, or any loss of data.
2.2.5: Re-authenticating (Level AAA)
When an authenticated session expires, the user can continue the activity without loss of data after re-authenticating. (Level AAA)
Authentication means that you have to identify a specific user. Usually, this involves an account where the user can log in. When the user starts any task when logged into an account, such as entering information or performing any functions, if for any reason the user needs to log in again or is disconnected from the service, it should be possible to continue the started activity without having to reenter information, or without losing any data.