Techniques for WCAG 2.0

Skip to Content (Press Enter)

This document is a draft, and is designed to show changes from a previous version. It is presently showing added text,changed text,deleted text,[start]/[end] markers,and Issue Numbers.

Hide All Edits   |   Toggle Deletions  |   Toggle Issue Numbers   |   Toggle [start]/[end] Markers   |   Show All Edits

Changes are displayed as follows:

-

FLASH24: Allowing the user to extend the default time limit

Applicability

This technique relates to:

User Agent and Assistive Technology Support Notes

See User Agent Support for Flash for general information on user agent support.

Description

The objective of this technique is to allow the user to extend the default time limit by providing a mechanism to extend the time when scripts provide functionality that has default time limits. In order to allow the user to request a longer time limit, the script can provide a form (for example) allowing the user to enter a larger time limit or indicating that more time is needed.

Examples

Example 1: Changing timeout with a dropdown list

This is a basic AS2 example where the timeout duration can be changed by the user through a dropdown list. In this example there is a combobox with the instance name sessionLimitDuration.

Example Code:

import mx.controls.Alert;
import mx.accessibility.AlertAccImpl;
import mx.accessibility.ComboBoxAccImpl;

ComboBoxAccImpl.enableAccessibility();
AlertAccImpl.enableAccessibility();

var sessionTimeout;
var sessionNotificationTimeout;
var timeLimit: Number;
var sessionAlert: Alert;

adjustTimeoutDuration();
// reset the timeout when interaction occurs
testField.addEventListener("change", resetTimeout);

//
//update limit duration when the combobox value changes
//
sessionLimitDuration.addEventListener("change", adjustTimeoutDuration);

function adjustTimeoutDuration(e) {
  timeLimit = sessionLimitDuration.value * 1000;
  resetTimeout();
  timeoutDescription.text = "A session timeout will be simulated after " + 
    sessionLimitDuration.selectedLabel + " without interaction in the form field below."
}

function resetTimeout() {
  clearTimeout(sessionTimeout);
  sessionTimeout = setTimeout(endSession, timeLimit);
}

function endSession() {
  sessionAlert.deletePopUp();
  Alert.show("please log in again",
  "Your session has expired");
}

For a demonstration, see the working version of Changing timeout with a dropdown list. The source of Changing timeout with a dropdown list is available. Please note that the session times are purposefully short for demonstration purposes, developers will want to provide durations that are sufficient to meet the requirements of Success Criterion 2.2.1 (Timing Adjustable) .

Editorial Note: The test zip was updated but seems completely changed from the previous version. And it seems to be a checkbox, while the example in the wiki source mentions a drop-down list. Is this one correct, or does the inline example need updating, or a second example added, or something? For the moment the working example references the updated version.

Tests

Procedure

For Flash content that include a time limit:

  1. Check that there is a control to adjust the time limit near the top of the page that allows the user to adjust the time to at least ten times longer than the default.

  2. Verify that the default time limit for the page is long enough that a user can easily navigate to the control even if they are 10 times slower than most users.

Expected Results

The above is true