Powered by
Time, motion & flashing
The Page Reloads or Redirects Itself on a Timer
The page reloads or jumps to another page after a set time, so people lose their place, their typing, or the page before they finish.
meta-refreshWCAG 2.0Introduced in WCAG 2.0.Level AA — the minimum. Missing it blocks people outright.
- Status
- CriticalCritical — Someone can complete the task only with great difficulty or outside help.CurrentScanners run this rule today.
- Owner
- DevContentTestProduct
- Audit
- AutomatedA scanner finds it, and a clean scan means it's fixed.
Why it matters
A <meta http-equiv="refresh"> tag tells the browser to reload the page, or go to a new one, after a number of seconds. The person gets no warning and no way to stop it.
People who read slowly, use a screen reader or zoom in need more time. When the page reloads, they're sent back to the top. Anything they typed may be gone.
Who it affects
| Who | What they experience | Impact |
|---|---|---|
| Screen reader users | Reading stops without warning and starts again from the top of the page. | High impact |
| Cognitive and neurodivergent users | The page changes before they've finished reading, and they can't tell what happened. | High impact |
| Low-vision users (magnification) | Their zoomed-in view resets, and they have to find their place again. | Partial impact |
| Keyboard-only users | Their focus jumps back to the top, so they must Tab through everything again. | Partial impact |
| Voice control users | Commands can land on a page that has just changed under them. | Partial impact |
| Motor and dexterity | Slow typing or pointing may not finish before the reload wipes it out. | Partial impact |
Business & product impact
| Area | Why | Impact |
|---|---|---|
| Legal | It fails WCAG 2.2.1 Timing Adjustable at Level A, the minimum. Complaints under Australia's Disability Discrimination Act and EN 301 549 point to WCAG. | High impact |
| Conversion | A reload that wipes a half-filled form loses the sale or sign-up. | Moderate impact |
| SEO | Search engines prefer a proper server redirect to a timed one. It's a small gain, not a selling point. | Low impact |
| Brand trust | Pages that jump around feel broken to everyone, not only disabled people. | Moderate impact |
| Cost to fix | Usually a small change: delete one tag, or move the redirect to the server. | High impact |
Fixing it in code
Sending people to a page's new address
Don't
<meta http-equiv="refresh" content="5; url=/new-page">
<p>This page has moved.</p>A screen reader says: “"This page has moved." Five seconds later, a new page starts reading from the top with no warning.”
Do
<!-- On the server: 301 redirect from /old-page to /new-page -->
<p>This page has moved to <a href="/new-page">the new page</a>.</p>A screen reader says: “The new page loads straight away. If the notice is shown: "This page has moved to the new page, link."”
A server redirect is instant, so nobody is caught part-way through reading.
Keeping live information up to date
Don't
<meta http-equiv="refresh" content="60">
<h1>Departures</h1>A screen reader says: “Every minute the page reloads and reading restarts at "Departures, heading level 1".”
Do
<h1>Departures</h1>
<button type="button" id="refresh">Refresh times</button>A screen reader says: “"Refresh times, button" — the page only updates when the person asks.”
The person decides when to update, so they never lose their place.
Designer's handoff note
Don't design pages that change on a timer. If content must stay fresh, give people a visible "Refresh" button, or a way to pause or extend automatic updates.
Quick test
Tool
The browser alone
Checklist
- Pass
- The page stays put until you choose to move on.
- Fail
- The page reloads or redirects by itself, and you lose your place or typing.
What a green scan still misses
The scanner only sees the <meta> tag. It can't catch reloads or redirects done with JavaScript timers, or session timeouts — check those by waiting on the page.
Reference
- Rule ID
meta-refresh- Raised by
- axe-core: “Delayed refresh under 20 hours must not be used”
- WCAG
- 2.2.1 Timing Adjustable (opens in a new tab) · Level A · since WCAG 2.0
- Other standards
- EN 301 549 9.2.2.1 · RGAA 13.1.2
- Last reviewed
- 14 October 2026