Change on Request
Changes of context happen only when the reader asks for them, or a mechanism exists to turn such changes off. Either branch satisfies the rule. A change of context is a major one, and W3C is specific about what that excludes. An expanding outline, a dynamic menu or a tab control does not change context by itself, so tabs and accordions are not what this is about.
Why it matters
An unrequested change moves the ground under the reader. For a screen reader user, a page that refreshes puts the virtual cursor back at the top, which is where they were before they started reading. W3C also makes a point almost nobody expects. Some readers rely on automatic context changes, because a single-switch user depends on the system animating through the options for them. So the answer is not always to remove the change. Making it happen only when the reader's preferences allow it is a conforming route too.
Who this rule protects
Screen reader users, people with low vision, people with motor impairments and people with cognitive limitations are the four groups W3C names.
How to check it yourself
- Sit on each key page and wait without touching anything. Note whatever navigates, opens or replaces itself.
- Check your redirects. Server-side and instant ones pass. A timed one fails.
- Tab out of a form field without changing anything, and check that nothing submits, which is one of the documented failures here.
- Leave tabs, accordions and dynamic menus alone. A change of content is not automatically a change of context.
Failures we see most often
- A meta refresh with a delay sends the reader to another page while they are still reading this one.
- A form submits when focus leaves a field, so somebody tabbing through loses the rest of it.
- Search results rewrite themselves under the reader as they type, with no way to switch that off.
- A new window opens on page load, or opens because the reader typed in a field.
Who this one is for
Read from this rule's own note above, so the grouping and the note cannot disagree.
- Blind and screen reader userspeople who cannot see the screen
- Low visionpeople who can see the screen but not easily
- Motor and keyboard-onlypeople who cannot use a mouse, or cannot use one precisely
- Cognitive and learningpeople for whom the difficulty is understanding, remembering, or staying with it
How this one is tested
We list 2 ACT rules against 3.2.5. Each one defines exactly what a checker looks at, which is how automated tools decide what to flag. Each one also checks a slice, so passing every rule here is not the same as meeting the criterion, and a rule can be proposed rather than approved or need a person to finish it. The note beside each says which.
- Meta element has no refresh delayA tool can check this
- Meta element has no refresh delay (no exception)A tool can check this
How to fix it
- Do redirects on the server. That is the first sufficient technique W3C names, and its stated benefit is that readers with cognitive limitations are not confused by them.
- Replace a timed client-side redirect with an instant one, or with a link the reader chooses.
- Offer an update-on-request control instead of refreshing content automatically.
- For a link that opens a new window, pair the target attribute with a plain statement in the link text. The words alone are advisory and do not satisfy the rule. Better still, do not open one, and let the reader decide.
Step-by-step fix guides (16)
- H76: Make meta refresh redirects instant, never timed
- H83: Warn users when links open new windows
- SCR19: Never change context when a select changes
- SCR24: Open new windows only when the user asks
- SVR1: Redirect on the server, not with a timed refresh
- G76: Update content only when the user asks
- G110: Make client-side redirects instant, not timed
- G200: Stop opening new tabs without causeAdvisory
- G201: Warn users before opening a new windowAdvisory
- F9: Do not change context when a field loses focus
- F22: Do not open windows the user never requested
- F40: Do not redirect with a timed meta refresh
- F41: Do not auto-reload pages with meta refresh
- F52: Do not spawn new windows on page load
- F60: Do not launch new windows while users type
- F61: Do not auto-replace content users cannot stop
Passes vs. fails
Passes
The same move happens as a server-side redirect the reader never notices, or as a link they choose to follow.
Fails
A page redirects itself five seconds after loading, whether the reader has finished or not.
In audits and lawsuits
This is Level AAA and it does not prohibit automatic redirects, which is the misreading we carried for a long time. A server-side redirect is a sufficient technique, and so is an instant client-side one. W3C's own example is a redirect the reader never realizes happened. What fails is a timed redirect, where the page sits there long enough to be read and then leaves anyway. Two Level A rules already handle changes triggered by focus and by input, so this one picks up everything else. Note what is not sufficient, either. Saying that a link opens in a new window is an advisory technique, and W3C states plainly that on its own it does not satisfy this criterion.