2.2.3 No Timing

Level: AAA | Principle: Operable | Since: WCAG 2.0 | Automation: Manual


What This Means

Timing is not an essential part of any event or activity presented by the content, except for real-time events and non-interactive synchronized media. There are no time limits at all — no countdown timers on forms, no session timeouts, no auto-advancing content.

This is stricter than the Level A criterion 2.2.1 (Timing Adjustable), which allows time limits as long as users can extend or disable them. At AAA, the content itself must not require timing. If a quiz has a timer, that timer must be removed entirely, not just made adjustable.

The only exceptions are truly real-time events (like a live auction where timing is inherent to the activity) and non-interactive synchronized media (like a video where timing is part of the presentation).

Who This Affects

  1. Users with cognitive disabilities — need more time to read, understand, and respond
  2. Users with motor disabilities — typing and navigating takes longer
  3. Screen reader users — sequential reading of content takes more time than visual scanning
  4. Users with anxiety disorders — time pressure causes stress that impairs performance

Common Pitfalls

1. Timed quizzes or assessments

<!-- Bad: countdown timer on a quiz -->
<div class="timer">Time remaining: <span id="countdown">5:00</span></div>
<form id="quiz">
  <label>Question 1: What is HTML?</label>
  <input type="text" name="q1">
  <button type="submit">Submit</button>
</form>

<!-- Good: no timer at all -->
<form id="quiz">
  <label>Question 1: What is HTML?</label>
  <input type="text" name="q1">
  <button type="submit">Submit</button>
</form>

2. Auto-advancing carousels or slideshows

<!-- Bad: slides auto-advance every 5 seconds -->
<div class="carousel" data-autoplay="true" data-interval="5000">
  <div class="slide">Slide 1</div>
  <div class="slide">Slide 2</div>
</div>

<!-- Good: manual navigation only -->
<div class="carousel" role="region" aria-label="Slideshow">
  <div class="slide">Slide 1</div>
  <div class="slide">Slide 2</div>
  <button aria-label="Previous slide">Previous</button>
  <button aria-label="Next slide">Next</button>
</div>

How to Test

  1. Navigate through every page and interactive feature on the site, looking for any time constraints: countdown timers, auto-expiring sessions, auto-advancing carousels.
  2. Verify that no quiz, form, or assessment has a countdown timer.
  3. Check that carousels and slideshows advance only when the user clicks Next/Previous, not automatically.
  4. Test authenticated sessions by leaving the page idle and confirming either no timeout occurs or data is preserved server-side indefinitely.
  5. Pass: No activity on the site is time-limited (except real-time events like live auctions or video playback).
  6. Fail: Any activity has a time constraint that is not essential to a real-time event.

How to Fix

  1. Remove all countdown timers from quizzes, forms, and assessments
  2. Replace auto-advancing carousels with user-controlled navigation
  3. Eliminate session timeouts entirely, or save user data server-side so it persists indefinitely
  4. If a real-time event requires timing, document it as an exception and provide a non-timed alternative where possible
  5. Review JavaScript for any setTimeout or setInterval calls that limit user interaction time

Resources

  1. WCAG Understanding 2.2.3
  2. How to Meet 2.2.3