Meta refresh

Pattern Checker

What does this mean?

A meta refresh tag has been found in the head of the page.

Impact on users

A meta refresh tag is a way of automatically reloading the page after a given amount of time. It is commonly used when checking if a process has completed on the server, for example a file upload where once the action has completed a redirect is then used.

However an automatic refresh can be confusing for users, especially screen-reader users, who might be reading the contents of the page when it is reloaded. The reload and subsequent redirect can also cause screen-readers to become unresponsive, at best the screen-reader user is dropped back at the top of the page so they need to start reading the page over again.

Sometimes a meta refresh is used as a way of session management with a relatively long time used compared to the polling example. Regardless the same issues still exist.

How to fix

It is best to avoid a meta refresh.

If the meta refresh is being used to manage some kind of polling process, consider if an aria live region on the originating page with a js-powered poll to the server might be used instead. Alternatively a button on the interstitial page could be used for the user to manually check for progress.

If the meta refresh is being used for session management then look at using a timeout dialog instead to allow the user to extend their session.

References

Aria live region on MDN

HMRC service timeout pattern

Classification

Level: warn
Tagged: best-practice

See all issues