We'd like to set Google Analytics cookies to learn how people use the Knowledge Base, so we can improve it. We set them only if you accept.

Skip to main content
Digital Accessibility Knowledge Base

meta-refresh

Web validation

Timed page refresh or redirect triggered by the meta element must be set to a minimum of 20 hours. If this is not an option it should not be used at all.

A meta element with http-equiv="refresh" causes the browser to reload or redirect after a set number of seconds. Users who rely on assistive technology, have low vision, or need extra time can lose their place or data when the page suddenly changes. Because the timing cannot be paused, adjusted, or extended, it conflicts with the principle that everyone should have enough time to finish a task.

Pass Patterns

Refresh handled on the server

The page performs a redirect with an HTTP 302 status code instead of a timed client-side refresh.

HTML
<!-- no meta refresh here -->

Instant redirect

A delay of 0 redirects immediately, so users never see a page that changes under them.

HTML
<meta http-equiv="refresh" content="0; url=/new-location">

Refresh interval set well beyond any realistic session

A long interval allows ample time and meets the WCAG exception for very long timeouts (20 hours).

HTML
<meta http-equiv="refresh" content="72000">

Fail Patterns

Five-second timed redirect

The page reloads after five seconds with no way to stop the countdown.

HTML
<meta http-equiv="refresh" content="5; url=/dashboard">

Auto-refresh every 30 seconds

Continuous refreshing prevents users from reading or interacting with the content.

HTML
<meta http-equiv="refresh" content="30">

WCAG techniques

Advisory techniques

Failure techniques

ACT Rules

Try It Yourself

Watching the page

  1. Load the page and wait without interacting for at least a minute.
  2. Watch whether the page reloads or redirects on its own.

Expected result: The page doesn't reload or redirect unless you act.

Actual result: The page reloads or redirects after a delay.

Inspecting the browser dev-tools

  1. In the Elements panel, search the <head> for <meta http-equiv="refresh">.
  2. Check the number at the start of its content value, which is the delay in seconds.

Expected result: There's no meta refresh, or its delay is 0 (an instant redirect) or at least 72000 (20 hours).

Actual result: The delay is between 1 and 71,999 seconds.

FAQ

How does this issue relate to 2.2.1 Timing Adjustable?

SC 2.2.1 requires that users be able to turn off, adjust, or extend any time limit. A timed meta refresh provides none of those options, so it fails the criterion unless the interval is at least 20 hours or the user can control it.

Why is this issue marked as Critical?

An unexpected refresh can cause loss of data, disorientation, and repeated context shifts. Screen reader users may be forced back to the start of the page, and keyboard users can lose focus. Because the barrier blocks completion of tasks and affects all major browsers and assistive technologies, it is classified as critical.

Standards and Regulations

StandardSuccess CriterionReference
WCAG 2.22.2.1 Timing Adjustable (A)For each time limit set by content, the user can turn off, adjust, or extend the time limit, except for real-time events, essential timing, or limits longer than 20 hours.
EN 301 5499.2.2.1 Timing AdjustableSame as the WCAG text.
508 Trusted Tester2.2.1-timing-adjustable, 8.AThe user can turn off, adjust, or extend the time limit.

Personas impacted by this issue