Avoid timed refresh/redirects under 20 hours

Content available in English only.

Accessibility isn’t just about avoiding violations — it’s about ensuring that everyone can use your product with confidence. This guide explains each rule’s intent, highlights common issues, and shows how to fix them according to WCAG and the European Accessibility Act (EAA).

These guidelines do not replace the official WCAG standards. They’re concise, developer-focused notes to help you identify and fix issues effectively.

Never move the user without their permission.

Why this matters and how to fix it

Why this matters

Timed refreshes and automatic redirects can cause users to lose progress, context, or entered information without warning. People with mobility, cognitive, or screen reader delays may not have enough time to understand content before the page refreshes or changes unexpectedly.

How to fix this issue

Do not use timed auto-refresh or redirect via `<meta http-equiv="refresh">`. If a time limit is necessary (such as session timeout), provide clear notice and a button or modal to extend time, pause, or complete the task.

Automated detection · Manual review recommended

Developer guidance

Ban `meta refresh` in code review or linters. For session timeout or inactivity patterns, use a visible countdown with a clear 'Extend session' action. Avoid forcing automatic navigation without user intent.


Code examples

Incorrect Implementation

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

Correct Implementation

<!-- Avoid timed redirects; show a link or button instead -->
<p>Your session is expiring soon.</p>
<button>Stay signed in</button>

Real-World Examples

Before

<meta http-equiv="refresh" content="30"> <!-- Page refreshes every 30 seconds → unpredictable behavior for assistive tech users -->

After

<p>This dashboard updates automatically. <button id="refresh">Refresh now</button></p>
<!-- Gives control to the user rather than forcing motion or navigation -->

Manual testing

  1. 1. Search the document head for `<meta http-equiv="refresh">`.
  2. 2. If present, examine the `content` value:
  3. • If the redirect or refresh is under **20 hours**, it fails unless a user control to pause/extend is provided.
  4. 3. If session timeout is required:
  5. • Verify the user receives a visible warning before timeout.
  6. • Verify a clear 'extend time' action is provided.
  7. 4. Test with a screen reader:
  8. • Confirm the warning is announced in time to respond.
  9. 5. Test with reduced mobility (keyboard-only):
  10. • Ensure the user can activate the extension control before timeout expires.
  11. 6. Test with cognitive load (slow reading / deliberate pacing):
  12. • Verify there is enough time to understand what is happening without being rushed.
eu icon getwcag

Trusted by organizations across Europe working toward WCAG and EAA conformance