Skip to main content
Perceivly: Perceivly home

3.2.5 Change on Request

Level AAA · added in WCAG 2.0

Changes of context, such as opening a window, loading a new page or moving focus, must happen only when the user asks for them, or users must be able to turn them off. This is a level AAA criterion: most laws and policies require AA, but it is still worth meeting where you can.

Who it helps

Screen reader users and people with low vision may not notice that a new window opened or the page changed, and then get lost. People with cognitive disabilities and people who read slowly are disrupted by changes they did not start.

How to meet it

Examples

Fails:A timed meta refresh sends users to another page after 5 seconds
<head>
  <meta http-equiv="refresh" content="5; url=/new-location">
</head>
Fails:A new window opens as soon as the page loads
<body onload="window.open('/special-offer')">
  <h1>Welcome</h1>
</body>
Passes:The page explains the move and lets users follow a link (or the server sends a 301 instead)
<main>
  <h1>This page has moved</h1>
  <p><a href="/new-location">Go to the new page</a></p>
</main>
Passes:The offer opens only when the user asks, and the link says it opens a new tab
<body>
  <h1>Welcome</h1>
  <a href="/special-offer" target="_blank">See this week's offer (opens in a new tab)</a>
</body>

Can a scanner detect this?

No

axe-core has no rule for this criterion. Some tools flag a timed meta refresh as a best practice, but most automatic changes happen in scripts at run time. A person must load and use each page and note any change they did not ask for.

No automated rule tests this criterion. Check it by hand.

Common mistakes

Official W3C explanation of 3.2.5

Check your own page

See which automated WCAG checks your page fails, with the failing elements and how to fix them.

Enter a page address, for example example.com/shop.

Reviewed November 2, 2026