WCAG 2.2.1 Timing Adjustable — Testing Guide for Mobile & Web Apps

WCAG 2.2.1, now updated to WCAG 2.2, addresses a fundamental user need: control over time. This Success Criterion, classified as Level A, requires that any time limits imposed on users can be turned o

March 12, 2026 · 6 min read · WCAG Guides

Ensuring Time is on Your Users' Side: A Guide to WCAG 2.2.1 (Timing Adjustable)

WCAG 2.2.1, now updated to WCAG 2.2, addresses a fundamental user need: control over time. This Success Criterion, classified as Level A, requires that any time limits imposed on users can be turned off, adjusted, or extended. This isn't about removing time limits entirely, but about providing users with the agency to manage them according to their individual needs and pace.

What WCAG 2.2.1 (Timing Adjustable) Requires

At its core, WCAG 2.2.1 mandates that if your application presents time limits for a user to complete an action, you must offer at least one of the following:

This applies to any user interaction where a time constraint exists, from filling out a form to completing a multi-step process. The key is user control.

Why WCAG 2.2.1 Matters: Broadening User Access

Strict time limits can create significant barriers for a wide range of users. Understanding who is affected highlights the importance of this criterion:

In essence, adhering to WCAG 2.2.1 makes your application more inclusive and usable for a broader audience, aligning with principles of digital accessibility mandated by regulations like the EU's European Accessibility Act (EAA) and the Americans with Disabilities Act (ADA) in the US.

Common Violations and Examples

Strict, non-adjustable time limits are a prevalent issue in web and mobile applications. Here are a few common scenarios:

#### Mobile App Violations:

  1. Session Timeouts Without Warning or Extension:
  1. Limited Time for Form Submission:
  1. Timed Quizzes/Challenges:

#### Web App Violations:

  1. Expired Session Warning:
  1. Form Time Limits:
  1. CAPTCHA/Verification Timeouts:

How to Test for Compliance

Testing for WCAG 2.2.1 requires a combination of manual exploration and automated checks.

#### Manual Testing Steps:

  1. Identify All Time Limits: Carefully review your application for any instance where a user must complete an action within a specific duration. This includes form submissions, session timeouts, timed quizzes, or any interactive element with a countdown.
  2. Attempt to Exceed the Limit: Intentionally take longer than the specified time. Observe what happens:
  1. Test Persona Variations: Simulate users with different needs:

#### Automated Tools for WCAG 2.2.1 Checks:

While truly testing the *adjustability* of time limits often requires manual interaction, automated tools can identify the *presence* of time limits that might need further scrutiny.

#### Mobile-Specific Considerations (Android/iOS):

How to Fix Violations

Addressing WCAG 2.2.1 violations involves implementing user-friendly time management features.

#### Code Examples:

Web (JavaScript):


// Example: Implementing a session timeout with a warning and extend option

let sessionTimeout = 15 * 60 * 1000; // 15 minutes in milliseconds
let warningTime = 5 * 60 * 1000; // 5 minutes warning
let sessionTimer;
let warningTimer;

function startSessionTimers() {
    sessionTimer = setTimeout(handleSessionTimeout, sessionTimeout);
    warningTimer = setTimeout(showSessionWarning, sessionTimeout - warningTime);
}

function handleSessionTimeout() {
    alert("Your session has expired. Please log in again.");
    // Redirect to login page or perform logout
    window.location.href = "/login";
}

function showSessionWarning() {
    // Display a modal or banner with a warning
    const warningMessage = "Your session will expire in 5 minutes. Click 'Extend Session' to continue.";
    const extendButton = "<button id='extendSessionBtn'>Extend Session</button>";
    // Display this message to the user
    console.log(warningMessage + " " + extendButton);

    document.getElementById('extendSessionBtn').addEventListener('click', extendSession);
}

function extendSession() {
    // Clear existing timers
    clearTimeout(sessionTimer);
    clearTimeout(warningTimer);
    // Reset timers
    startSessionTimers();
    // Hide warning message
    console.log("Session extended.");
}

// Initial call to start timers when user logs in or page loads
startSessionTimers();

Mobile (Conceptual - Android Kotlin):

For mobile applications, session timeouts and time limits are often managed within the application logic, potentially involving background services or lifecycle observers.

How SUSA Checks This Criterion During Autonomous Exploration

SUSA's autonomous QA platform tackles WCAG 2.2.1 by integrating accessibility testing into its core exploration process.

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free