Skip to main content
WCAGrules
Quick navigation

Do not auto-reload pages with meta refresh

F41 is a documented failure and it is F40's twin, the same attribute with no destination in it. Instead of moving the user, the page reloads itself on a timer. Everything they were doing restarts. The same two passing values apply, under one second or over 72,000 seconds, and the same two exception checks come first, real-time content and timing that is essential. The published page is unusually blunt about the motive. This should not be used to simulate push, because no author can predict how long a reader needs, and a premature refresh disorients them. If people want the latest information, let them ask for it. A button that reloads on demand does everything the timer does and none of the harm.

How we find it in an audit

A crawler finds every meta refresh with no url in its content attribute, which is the reload form, and reads the interval. Then a reviewer applies the two exception checks and looks at what the page is for. We watch a real session as well, because the harm shows up in the middle of a task rather than in the markup, and a sixty-second refresh looks harmless right up until you are on a form at second fifty-nine.

How affected users experience it

A reload throws a screen reader back to the top of the document. Everything already read is read again, and the place the user had reached is gone with no way to ask where it was. A magnifier user is returned to the top left corner of a page they were reading the bottom of. Anybody mid-form loses what they had typed. All three were doing nothing wrong, and all three restart, on a schedule, for as long as they stay.

Passes vs. fails

Passes: warned, and one press extends. Fails: silent expiry destroys work.

Passes

<button onclick="refreshScores()">Refresh scores</button>
<!-- Or offer auto-update as something the user switches on and can switch off. -->

Fails

<meta http-equiv="refresh" content="60">
<!-- Every sixty seconds, from the top, whatever the reader was doing. -->

How this gets tested

The W3C publishes test rules that define what a checker looks for here.

The other techniques filed under this rule

11 guides on this site are filed under 2.2.1 Timing Adjustable. W3C documents this one as a failure of that rule, so it describes a way the rule gets broken rather than a way to pass it.

This guide is our interpretation of W3C technique F41: Failure of Success Criterion 2.2.1, 2.2.4, and 3.2.5 due to using meta refresh to reload the page. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.

Go somewhere useful

Find tools, resources and your workspace.

29 destinations