Scan gratuit

22 octobre 2026

Meta http-equiv refresh : pourquoi le rechargement minuté peut faire échouer les WCAG

La balise meta http-equiv refresh sert souvent à recharger une page à intervalles réguliers ou à rediriger l'utilisateur vers une autre page. Côté accessibilité, c'est un piège bien documenté : le W3C décrit dans l'échec F41 comment son usage pour recharger la page peut faire échouer trois critères de succès des WCAG, 2.2.1 (Réglage du délai), 2.2.4 (Interruptions) et 3.2.5 (Changement à la demande). En résumé : F41 décrit une page qui se recharge toute seule à un intervalle trop court, sans moyen de couper ce rafraîchissement automatique ; sa procédure de test vérifie aussi si l'utilisateur peut désactiver, prolonger ou ajuster le délai. Le W3C recommande d'éviter le rafraîchissement périodique et de laisser l'utilisateur choisir quand il veut les dernières informations. Pour une redirection, notre conseil est de la confier au serveur : la documentation du critère 2.2.1 précise que les redirections serveur non minutées, comme les codes de réponse 3xx, ne sont pas concernées, car elles agissent instantanément. Voici le mécanisme du problème, la procédure de test officielle, le cas particulier du délai 0 et les solutions de remplacement.

Meta http-equiv refresh : ce que fait la balise et pourquoi elle pose problème

La valeur numérique placée dans l'attribut content indique le délai, en secondes, avant le rechargement. Avec content="60", la page se recharge toutes les soixante secondes, sans aucune action de la personne qui la consulte. Le W3C présente ce code comme un exemple déconseillé et demande aux développeurs de ne pas s'en servir pour simuler une technologie « push ».

Le problème tient au temps de lecture. Selon la description de l'échec F41, si l'intervalle est trop court et qu'il n'existe aucun moyen de couper le rafraîchissement automatique, les personnes aveugles n'ont pas le temps de faire lire la page par leur lecteur d'écran : la page se recharge de façon inattendue et le lecteur d'écran recommence sa lecture en haut de la page. Les utilisateurs voyants peuvent eux aussi être désorientés par ce rechargement inattendu.

Le W3C rappelle qu'un développeur ne peut pas prévoir le temps dont un utilisateur aura besoin pour lire une page, et qu'un rechargement prématuré peut désorienter les utilisateurs. Sa recommandation est nette : éviter le rafraîchissement périodique et permettre aux utilisateurs de choisir le moment où ils veulent obtenir les informations les plus récentes.

<!-- Exemple d'échec F41 : la page se recharge toutes les 60 secondes -->
<head>
  <title>Tableau de bord</title>
  <meta http-equiv="refresh" content="60" />
</head>

Pourquoi un rechargement automatique est un délai au sens du critère 2.2.1

Le critère 2.2.1 Réglage du délai, de niveau A, vise à ce que les utilisateurs disposent d'un temps suffisant pour accomplir leurs tâches. Sa documentation précise que tout processus qui se produit sans initiative de l'utilisateur après un temps défini, ou de façon périodique, constitue une limite de temps. Les mises à jour partielles ou complètes du contenu, comme le rafraîchissement d'une page, en font explicitement partie.

Pour chaque limite de temps fixée par le contenu, au moins une des conditions suivantes doit être remplie :

Comment tester une page qui utilise meta http-equiv refresh

L'échec F41 s'accompagne d'une procédure de test applicable à toute page HTML qui contient meta http-equiv="refresh". Elle comporte cinq vérifications :

Lire les résultats du test critère par critère

Les résultats attendus ne combinent pas les mêmes vérifications pour les trois critères. Pour le critère 2.2.1, les vérifications 1 à 5 entrent en jeu. Pour le critère 2.2.4, ce sont les vérifications 1, 2, 4 et 5. Pour le critère 3.2.5, seules les vérifications 1 et 4 comptent. Conséquence pratique : les exceptions temps réel et de l'essentiel (vérification 3) ne sont prises en compte que pour le critère 2.2.1, et la valeur du délai (vérification 2) n'intervient pas pour le critère 3.2.5. Une page couverte par une exception du 2.2.1 n'est donc pas, de ce seul fait, à l'abri pour les critères 2.2.4 et 3.2.5.

Gardez aussi en tête une précision générale du W3C sur les techniques d'échec : elles montrent comment un contenu peut échouer à un critère, mais ce contenu peut malgré tout satisfaire le critère s'il propose un contenu ou une fonctionnalité équivalente qui, elle, respecte les exigences normatives.

Le W3C liste enfin, pour le critère 2.2.1, deux règles de test approuvées qui portent directement sur ce sujet : « Meta element has no refresh delay » et sa variante « Meta element has no refresh delay (no exception) ». Leur utilisation n'est pas obligatoire pour vérifier la conformité, mais ce sont des méthodes de test définies et approuvées.

Le cas du délai 0 dans meta http-equiv refresh

La deuxième vérification de la procédure F41 isole les valeurs inférieures à 1, donc le délai 0, et les valeurs supérieures à 72 000 secondes. Ces 72 000 secondes correspondent à 20 heures, la durée retenue par l'exception des 20 heures du critère 2.2.1. Cette vérification fait partie des conditions examinées pour les critères 2.2.1 et 2.2.4.

Attention toutefois : elle ne fait pas partie de la condition du critère 3.2.5, qui ne repose que sur les vérifications 1 et 4. La valeur du délai ne suffit donc pas, à elle seule, à trancher la question du changement à la demande. Si l'utilisateur dispose d'un moyen de désactiver, de prolonger ou d'ajuster le rafraîchissement, la réponse à la vérification 4 est alors positive.

Précision importante : F41 porte sur le rechargement de la page. Pour la redirection par meta avec une limite de temps, le W3C a documenté un échec distinct, F40, que cet article ne détaille pas. Si votre objectif est simplement d'envoyer l'utilisateur vers une nouvelle adresse, notre conseil est de passer par une redirection serveur non minutée, que la documentation du critère 2.2.1 déclare non concernée.

Que faire à la place : redirection serveur et rafraîchissement à la demande

Pour une redirection, la documentation du critère 2.2.1 est explicite : les redirections serveur non minutées, par exemple avec des codes de réponse 3xx, ne sont pas concernées, car elles fonctionnent instantanément et n'imposent aucune limite de temps. Une nuance importante : le côté serveur n'est pas une immunité. L'échec F58 vise justement les techniques serveur qui redirigent automatiquement une page après un délai, et l'échec F40 vise la redirection par meta avec une limite de temps.

Pour un contenu qui doit rester à jour, le W3C conseille de laisser l'utilisateur choisir quand obtenir les dernières informations. Notre conseil : remplacez le rechargement automatique par une action de l'utilisateur, comme un bouton. Si une limite de temps reste nécessaire, les techniques suffisantes du W3C pour le critère 2.2.1 sont classées par situation :

<!-- À la place : pas de rechargement automatique, l'utilisateur décide -->
<head>
  <title>Tableau de bord</title>
</head>
<body>
  <!-- Le script qui charge les nouvelles données reste à brancher -->
  <button type="button" id="actualiser">Charger les dernières informations</button>
</body>

Qui est gêné par un rechargement non maîtrisé

La documentation du critère 2.2.1 détaille les publics qui peuvent avoir besoin de plus de temps. Ce sont les visiteurs à garder en tête avant d'imposer un rafraîchissement minuté :

Questions fréquentes

Meta http-equiv refresh est-il interdit par les WCAG ?

Les sources du W3C citées ici ne l'interdisent pas en tant que tel : l'échec F41 décrit les conditions dans lesquelles son usage pour recharger la page fait échouer les critères 2.2.1, 2.2.4 et 3.2.5, en particulier quand l'intervalle est trop court et qu'il n'existe aucun moyen de désactiver le rafraîchissement automatique. Le W3C précise aussi qu'un contenu peut satisfaire un critère malgré une technique d'échec s'il propose une alternative équivalente conforme.

Un meta refresh avec un délai de 0 pose-t-il problème ?

Dans la procédure F41, un délai inférieur à 1 est isolé par la deuxième vérification, qui compte pour les critères 2.2.1 et 2.2.4 mais pas pour le critère 3.2.5. La valeur du délai ne suffit donc pas, à elle seule, à trancher la question pour le critère 3.2.5. Pour une redirection, notre conseil : une redirection serveur non minutée, que la documentation du critère 2.2.1 déclare non concernée.

Comment remplacer un meta refresh par une redirection serveur ?

Faites répondre le serveur avec un code de redirection 3xx vers la nouvelle adresse. Le W3C précise que ces redirections non minutées ne relèvent pas du critère 2.2.1, puisqu'elles agissent instantanément. En revanche, une redirection serveur déclenchée après un délai est un échec documenté (F58).

Le délai d'un meta refresh change-t-il quelque chose pour l'accessibilité ?

La procédure F41 vérifie si la valeur est inférieure à 1 ou supérieure à 72 000 secondes (20 heures), mais cette vérification ne compte que pour les critères 2.2.1 et 2.2.4, pas pour le critère 3.2.5. Le critère 2.2.1 demande, pour toute limite de temps fixée par le contenu, de pouvoir la désactiver, l'ajuster ou la prolonger, sauf exceptions.

Quels critères WCAG sont concernés par meta refresh ?

L'échec F41 concerne trois critères de succès : 2.2.1 Réglage du délai, 2.2.4 Interruptions et 3.2.5 Changement à la demande. Il s'applique au HTML.

À lire aussi sur Conformly

Sources

Article appuyé sur les sources officielles citées en fin de page.