Le problème

La redirection automatique par meta refresh est une technique obsolète qui pose de sérieux problèmes d'accessibilité. Le critère 13.1 du RGAA exige que l'utilisateur ait le contrôle de chaque limite de temps qui modifie le contenu de la page. La balise <meta http-equiv="refresh" content="5;url=/nouvelle-page"> redirige automatiquement l'utilisateur vers une autre page après un délai donné, sans lui demander son accord et sans qu'il puisse empêcher la redirection. Le meta refresh pose plusieurs problèmes majeurs. Premièrement, il désoriente les utilisateurs de lecteurs d'écran. L'utilisateur arrive sur une page, commence à la lire, et soudain le contenu change complètement car la page a été rechargée ou redirigée. Le lecteur d'écran recommence la lecture depuis le début de la nouvelle page, et l'utilisateur ne comprend pas ce qui s'est passé. Deuxièmement, il empêche les utilisateurs lents d'interagir avec la page. Une personne qui a besoin de plus de temps pour lire ou comprendre le contenu (troubles cognitifs, dyslexie, personnes âgées, non-francophones) peut être redirigée avant d'avoir fini de lire. Troisièmement, il interfère avec le bouton Retour du navigateur : après une redirection meta refresh, le bouton Retour ramène à la page qui redirige, créant une boucle infinie. Le meta refresh avec un content="0" (redirection immédiate) est techniquement moins problématique pour l'utilisateur car il n'a pas le temps de commencer à interagir avec la page. Mais la solution correcte pour une redirection est toujours une redirection HTTP côté serveur (code 301 ou 302), qui est instantanée, transparente pour l'utilisateur, et correctement gérée par les lecteurs d'écran et les moteurs de recherche. Le meta refresh avec un délai supérieur à 0 est aussi utilisé pour rafraîchir automatiquement une page (actualités en temps réel, tableaux de bord). Ce cas est aussi problématique : le rafraîchissement inattendu de la page fait perdre le focus, la position de lecture, et le contexte à l'utilisateur.

Votre site a-t-il ce problème ?

106 critères RGAA analysés en 5 minutes par notre IA.

Testez votre site gratuitement

Impact sur les utilisateurs

Pour les personnes utilisant un lecteur d'écran, une redirection ou un rafraîchissement automatique est une expérience désorientante. Le lecteur d'écran est en train de lire le contenu de la page quand soudain tout change. L'utilisateur ne sait pas si c'est une erreur, si la page a planté, ou si le contenu a été mis à jour. Il perd sa position de lecture et doit recommencer depuis le début. Pour les personnes ayant des troubles cognitifs ou des difficultés d'apprentissage, les changements de contenu inattendus sont source de confusion et d'anxiété. Elles peuvent ne pas comprendre pourquoi la page a changé et croire qu'elles ont fait une erreur. Les personnes lentes à lire (dyslexie, troubles visuels, non-francophones) sont privées du temps nécessaire pour consulter le contenu si la page est redirigée ou rafraîchie trop rapidement. En termes de référencement, Google déconseille l'utilisation de meta refresh pour les redirections et peut pénaliser les sites qui l'utilisent au lieu de redirections HTTP 301/302 appropriées.

Exemple de code

Avant (non conforme)
<!-- Redirection automatique après 5 secondes -->
<head>
  <meta http-equiv="refresh" content="5;url=https://example.com/new-page">
</head>
<body>
  <p>Vous allez être redirigé dans 5 secondes...</p>
</body>

<!-- Rafraîchissement automatique toutes les 30 secondes -->
<head>
  <meta http-equiv="refresh" content="30">
</head>
Après (conforme)
<!-- Solution 1 : Redirection HTTP côté serveur (recommandé) -->
<!-- Dans .htaccess (Apache) -->
<!-- Redirect 301 /old-page https://example.com/new-page -->

<!-- Solution 2 : En-tête HTTP (Node.js/Express) -->
<!-- res.redirect(301, '/new-page'); -->

<!-- Solution 3 : Si le rafraîchissement est nécessaire,
     donner le contrôle à l'utilisateur -->
<body>
  <p>De nouvelles données sont disponibles.</p>
  <button type="button" onclick="location.reload()">
    Actualiser la page
  </button>
  <!-- Ou utiliser une zone ARIA live pour les mises à jour -->
  <div aria-live="polite" id="updates">
    <!-- Les mises à jour sont injectées ici sans recharger la page -->
  </div>
</body>

Questions fréquentes

Peut-on utiliser meta refresh avec un délai de 0 seconde ?
Un meta refresh avec content="0" effectue une redirection quasi immédiate. C'est moins problématique qu'un délai de plusieurs secondes car l'utilisateur n'a pas le temps de commencer à interagir avec la page. Mais une redirection HTTP 301 ou 302 côté serveur est toujours préférable : elle est plus rapide, plus fiable, mieux gérée par les lecteurs d'écran et les moteurs de recherche.
Comment rafraîchir le contenu sans recharger la page entière ?
Utilisez AJAX ou Fetch pour récupérer les nouvelles données côté serveur et mettre à jour uniquement la zone de la page concernée via JavaScript. Utilisez une zone aria-live pour annoncer les mises à jour aux lecteurs d'écran. Donnez à l'utilisateur le contrôle avec un bouton « Actualiser » plutôt qu'un rafraîchissement automatique. Les WebSockets ou les Server-Sent Events sont aussi des alternatives.
Le meta refresh est-il interdit par le RGAA ?
Le RGAA n'interdit pas explicitement la balise meta refresh mais exige que l'utilisateur ait le contrôle de toute limite de temps. Un meta refresh sans mécanisme de contrôle (pause, désactivation, prolongation) est non conforme. En pratique, il est toujours préférable d'utiliser une redirection HTTP côté serveur pour les redirections et des mises à jour AJAX pour le contenu dynamique.
Google pénalise-t-il le meta refresh ?
Google peut interpréter un meta refresh avec un délai court comme une redirection 301, mais ce n'est pas garanti. Un meta refresh avec un délai long peut être considéré comme une mauvaise pratique et affecter négativement le référencement. Les redirections HTTP 301/302 sont toujours préférées par Google et transmettent correctement le jus de liens (link equity) vers la nouvelle URL.
Les Single Page Applications (SPA) sont-elles concernées ?
Les SPA qui utilisent le routeur JavaScript pour naviguer entre les pages ne sont pas directement concernées par le meta refresh. Mais elles doivent gérer correctement les changements de contenu : annoncer les changements de page aux lecteurs d'écran (via aria-live ou en déplaçant le focus), et ne pas recharger automatiquement des sections de la page sans contrôle de l'utilisateur.

Votre site a-t-il ce problème ?

Scrutia audite votre site sur 106 critères RGAA en 5 minutes. Navigation clavier, composants ARIA, focus visible, contrastes, et bien plus.

Lancer un audit gratuit