Understandable · 3.2 Predictable

Change on Request WCAG 3.2.5 · Level AAA

Changes of context must happen only when the user requests them, or a mechanism must be available to turn automatic changes off. Without such a control, timed redirects, automatic page reloads, and unrequested pop-up windows fail, while content updates that are not changes of context are allowed.

Level
AAA
Since
WCAG 2.0
Principle
Understandable
Guideline
3.2 Predictable

Live demo

Open two links from an order page

The same task, done two ways: switch between the version that passes and the one that fails, or put them side by side. Everything in the box is live, so try it with a keyboard, a pointer or a screen reader.

Activate the links in each version. Only the passing version tells you before you choose that a new window will open.

Live example

Passes

What happened

    Why it passes

    Each link says it opens a new window, so you expect the change before it happens and know how to get back.

    Why it fails

    The links open a new window with no warning, so you may not notice you have left the order page, and the Back button will not bring you back.

    Examples

    Code that fails, and the fix

    Five examples, each one running: the usual ways this criterion fails, and code that passes. Listen to them, measure them, or copy the code.

    Fails

    Timed redirect with meta refresh

    Live preview

    HTML
    <head>  <meta charset="utf-8">  <meta http-equiv="refresh" content="5; url=/offers/">  <title>This sale has ended</title></head>

    After five seconds the page replaces itself with another one, whether or not the person has finished reading. They never asked for the change.

    Passes

    Redirect on the server instead

    Live preview

    JavaScript
    // Express: answer the old address with a permanent redirectapp.get("/summer-sale/", (req, res) => {  res.redirect(301, "/offers/");});

    The server sends the browser straight to the new address before anything is shown, so no page changes under the reader. This is technique SVR1.

    01What changes 3 lines

    Fails

    Link opens a new window without warning

    Live preview

    HTML
    <a href="/returns-policy/" target="_blank">Returns policy</a>

    The person asked for the page, not for a new window. Without a warning they may not notice the switch, and the Back button will not bring them back. WCAG documents this as failure F22.

    Passes

    Warning in the link text

    Live preview

    HTML
    <a href="/returns-policy/" target="_blank">  Returns policy (opens in a new window)</a>

    The link text says what will happen before the person activates it, so the new window is something they chose. This is technique H83.

    Passes

    Automatic reload only when turned on

    Live preview

    HTML
    <label>  <input type="checkbox" id="auto-refresh">  Reload this page automatically every minute</label>

    The page reloads on its own only after the person turns this on, so every reload is one they asked for. It starts unchecked.

    Why it matters

    Who it helps

    Screen reader users and people with visual or cognitive disabilities can lose their place or become confused when the page changes without their action. Keeping changes under user control helps them stay oriented.

    W3C: Understanding 3.2.5
    • Level AAA

      Level AAA is the highest level. It is not required for whole sites, but it is worth meeting where you can.

    • In WCAG versions

      Part of WCAG 2.0 since December 2008, and of every version after it.

      WCAG 1.0 checkpoints: 7.4, 7.5, 10.1

    • Where it is required

      No law on this site requires Level AAA criteria for whole sites.

    How to test

    Checking it

    A few concrete steps. Automated tools find some failures; most need a person.

    1. Leave the page idle for a while and note any redirect, reload, new window, or focus shift that happens on its own.
    2. Activate links and controls and check that any link opening a new window warns the user in advance.
    3. If automatic changes of context exist, confirm there is a working option to turn them off.

    Common failures

    Where it breaks

    • A meta refresh or script redirects the user to another page after a delay without any request.
    • A new window or pop-up opens when the page loads, without the user asking for it.
    • Moving focus out of a form field automatically submits the form or loads a new page.