Design Pattern: Avoid Data Loss and “Timeouts”

User Need

I need time to complete my work. I do not want a session to timeout while I try to find the information needed, such as my postal/zip code or social security number.

What to do

Avoid timeouts and let the user save their work as they go.

When this is not possible, inform the user when they initiate the process:

  • the amount of time available to complete the process,
  • if the user will lose entered data if a timeout occurs.

How it Helps

Timed events can present significant barriers for users with cognitive and learning disabilities. These users may require more time to read content or to perform functions, such as completing an online form. They may need to read help or look at notes.

Users with cognitive and learning disabilities may need additional time to look up the information required to complete a transaction. They may need a break, without losing their place in the process, and without losing data that has already been entered.

For example, while making a purchase on an e-commerce web site, a user does not remember required information. This may be a date, a phone number, or a zip code that may seem easy to remember for users without a cognitive or learning disability. They need to look up this information, which takes them time away from the screen. Then they need to copy it carefully into the form.

In another example, a user is completing an online process for reserving a hotel room and purchasing a plane ticket. They become overwhelmed with the amount of instruction and data input required to complete the process. The user cannot complete the process in one sitting, and takes a break.

Users’ cognitive skills may diminish as they get tired. They then must stop the task for that day. When users know that their data won’t be lost, they can recover from mental fatigue and return to successfully complete the task.

It is important to note that many people need time to read the “timeout” notice. Often, the session ends before the user has finished reading about how to extend the time. If the user is looking up information, they will not see the timeout notice.

More Details

When a web site must timeout because sensitive information (such as credit card information) is entered or displayed, the web site should ask for the sensitive information at the last stage.

The web site should also warn the user that once they give the credit card information they should complete the process quickly as the session can timeout.

Examples

Use:

  1. Unlimited time, when possible.
  2. Timeouts that users with learning and cognitive disabilities find it easy to avoid. For example: At the start of the task the user is told that they have a day to complete the task. They have an option to set it to longer.
  3. When the timeout is needed:
    1. Timeout warnings at the start of the task. For example: In an auction, there is a time limit on the amount of time a user has to submit a bid. At the start of the task, the user is warned about the time limit, and how long they have until the time ends.
    2. When possible and safe, the user’s work is not lost. For example: A web site with sensitive information uses a client-side time limit to help protect users who may step away from their computers. When the user logs in again all the work is still in place. The user is warned ahead of time how long they have for inactive sessions and is told that their data will not be lost.

Avoid:

  1. System timeouts that are not necessary for security.
  2. System timeouts without warning the user at the start of the process.
  3. System timeouts where the user loses their work, without it being a security or privacy risk.
Back to Top

This is an unpublished draft preview that might include content that is not yet approved. The published website is at w3.org/WAI/.