Give users enough time to access content

Applicable Role(s): Developer

Overview

People that don't use a mouse, use assistive tech like speech recognition or on-screen keyboards, and take longer to read a page may need more time to complete tasks or navigate a page. Setting time limits on content, or not letting users know there is a time limit, means some content won't be detectable or reachable by your users.

Best Practices

Only set time limits where timing is an essential part of the activity, and/or removing the time limit would invalidate the activity. Examples of essential timing includes live events where timing is a factor like auction bidding.

If a time limit is needed, one of the following must be true:

  • The user has the option to turn off the time limit.
  • The user can choose their time limit, at least 10 times longer than the default setting.
  • The user can extend the default time limit if they are warned the content will expire. They should also be given at least 20 seconds after the warning to extend the time limit, and can extend it at least ten times.
  • The time limit is longer than 20 hours.

Pattern Examples

No Timing Example

Most Drupal webforms by default don't not require a time limit, so those pass the timing requirement.

Multi-step form with next page and reset buttons

Extended Time Example

The following image is a demo warning, letting the user decide whether to extend the time, or sign out (note: this is not a real or actionable dialog).

Example Warning, your session will expire in 20 seconds, extend by fifteen minutes button, sign out button