Timeouts

Must

A timed response must be adjustable.

Description

Some people may not be able to respond or interact before a time limit is reached. If a timeout is essential, allow users to extend, change or disable the time limit to ensure they can still access content, complete forms, and make choices at their own speed.

For example, as appropriate for the content:

  • provide a means to adjust or disable a timing feature before starting an interaction,
  • warn the user of a timeout and provide a means to extend the time.

An exception may be made, with sought advice, for real-time content and content that would be invalidated by allowing more time, such as a quiz or vote.

IOS

Allow at least 30-60 seconds for each field on the screen for the default timeout and display a popup allowing the user to extend the time. After the timeout time is reached a UIAlertView is displayed offering the user a chance to extend their time.

ANDROID

Allow at least 30-60 seconds for each field on the screen for the default timeout and display a popup allowing the user to extend the time. After the timeout time is reached an AlertDialog is displayed offering the user an opportunity to extend their time. This would fail if after the timeout time is reached the form is reset or closed without any warning to the user or offer to extend the time.

HTML

The JavaScript setTimeout method to track the time can be used to manage time-outs.

HTML example

<head>
<script type="text/javascript">
    var time ; global to keep track of time
    function setTimer() {
        time = setTimeout("displayAlert()",300000);
    }
    function displayAlert() {
        var c = conform("Do you need more time?");
        if (c == true) {
            time = setTimeout("displayAlert()",300000);
        } else {
            alert("Your session has ended");
        }
    }
</script>
</head>
<body onload="setTimer();">
...
</body>                        
<head>
<script type="text/javascript">
    var time ; global to keep track of time
    function setTimer() {
        time = setTimeout("displayAlert()",300000);
    }
    function displayAlert() {
        alert("Your session has ended");
    }
</script>
</head>
<body onload="setTimer();">
...
</body>                        

TESTING

 

Procedures
  1. Activate the app.
  2. Determine if the app contains a form or activity that must be completed within a given amount of time.
  3. Verify that the app allows the user to do one of the following:
    • disable the timeout before it occurs,
    • extend the length of the current session,
    • increase the time limit.
  4. Verify that the user is warned at least 20 seconds prior to the timeout.
  5. Verify that the user is warned if any data entered during the session will be deleted upon session timeout.
  6. Verify that the user can renew or extend the session using an alternative input method.
Results

One of the following checks is true:

  • When a form or activity has a time limit:
    • The timeout can be disabled by the user;
    • A mechanism exists whereby the user can request more time to complete the form/activity;
    • The user can modify the session to extend the amount of time before timeout.