Skip to content

A11Y Cheat Sheet

Powered byA11y University

Time, motion & flashing

The Page Refreshes or Redirects Itself After a Delay

The page reloads or jumps to another page on a timer, so people lose their place, their reading or their typing before they're ready.

meta-refresh-no-exceptionsWCAG 2.0Introduced in WCAG 2.0.Level AAAAAA — the highest level; beyond the Australian baseline (AA).

Status
ModerateModerate — An annoyance, with a workaround.CurrentScanners run this rule today.
Owner
DevContentTestProduct
Audit
AutomatedA scanner finds it, and a clean scan means it's fixed.

Why it matters

A delayed <meta http-equiv="refresh"> tag reloads the page or sends people elsewhere after a set time. Nobody asked for it, and nobody can stop it.

People who read slowly, use a screen reader or zoom in get pulled away mid-sentence. Their focus jumps back to the top, and anything they typed may be gone.

Who it affects

Who it affects, and how much
WhoWhat they experienceImpact
Screen reader usersReading stops and jumps back to the top of the page without warning.High impact
Cognitive and neurodivergent usersThe page changes before they've finished reading, which is confusing and stressful.High impact
Low-vision users (magnification)When zoomed in, they lose their spot and must find it again.Partial impact
Keyboard-only usersTheir focus resets to the top, so they must Tab all the way back.Partial impact
Voice control usersA command in progress can land on a page that has just changed.Partial impact
Motor and dexteritySlow typing or pointing may not finish before the page reloads.Partial impact

Business & product impact

Business & product impact, with how much each claim weighs
AreaWhyImpact
LegalThis rule checks Level AAA criteria, above the usual WCAG 2.2 Level AA target. But timed refreshes can also break Level AA timing rules, so check them.Moderate impact
ConversionA reload that wipes a half-filled form or cart loses people at the worst moment.Moderate impact
SEOSearch engines prefer proper server redirects to timed ones, but the gain is small.Low impact
Brand trustPages that jump on their own feel broken and pushy.Moderate impact
Cost to fixUsually one line to remove. A server redirect or a refresh button is quick to add.High impact

Fixing it in code

A page that refreshes itself every minute

Don't

<meta http-equiv="refresh" content="60">
<h1>Live scores</h1>

A screen reader says: “Live scores, heading level 1 … (a minute later, the page reloads and reading starts again from the top)”

Do

<h1>Live scores</h1>
<p>Last updated 2:15 pm.</p>
<button type="button">Refresh scores</button>

A screen reader says: “Refresh scores, button”

People update the page when they choose, not when a timer does.

A page that moved

Don't

<meta http-equiv="refresh" content="5; url=/new-page">
<p>This page has moved. Redirecting in 5 seconds…</p>

A screen reader says: “This page has moved. Redirecting in 5 seconds… (then the page changes mid-sentence)”

Do

<!-- Best: a 301 redirect set up on the server. If you can't, redirect instantly: -->
<meta http-equiv="refresh" content="0; url=/new-page">
<p>This page has moved to <a href="/new-page">the new page</a>.</p>

A screen reader says: “This page has moved to the new page, link”

An instant or server redirect never cuts anyone off part-way through.

Designer's handoff note

Don't design pages that change on a timer. If content must stay fresh, show when it was last updated and give a clear refresh button.

Product owners: decide if auto-refresh is truly needed. If so, let people turn it off.

Quick test

Tool

Your browser's View Source

Checklist

Pass
There's no refresh tag, or its delay is 0.
Fail
The tag has a delay above 0, like `content="30"`.

What a green scan still misses

A scanner finds the <meta> tag, but not refreshes done with JavaScript timers. Watch the page for a few minutes to catch those.

Reference

Rule ID
meta-refresh-no-exceptions
Raised by
  • axe-core: “Delayed refresh must not be used”
WCAG
Last reviewed
14 October 2026