Aller au contenu principal
Mynto
AccessibiliteRGAA 8.3Niveau AÉléments obligatoires

Langue de page manquante (attribut lang)

Chaque page web doit déclarer sa langue principale via l'attribut `lang` sur la balise `<html>`. C'est le critère RGAA 8.3, niveau A. Sans lui, un lecteur d'écran lit un texte français avec une voix anglaise.

C'est quoi

L'attribut lang sur la balise <html> indique la langue par défaut du contenu. Il prend un code de langue normalisé : fr pour le français, en pour l'anglais, de pour l'allemand.

Cette information n'est pas visible à l'écran, mais elle est essentielle :

  • Les lecteurs d'écran l'utilisent pour choisir la bonne voix et la bonne prononciation.
  • Les navigateurs peuvent s'en servir comme indice pour la traduction automatique.
  • Les moteurs de recherche l'exploitent pour servir le bon contenu par région.

Si une portion de la page est dans une autre langue, elle doit porter son propre attribut lang (critère RGAA 8.4).

Qui est touché

  • Les personnes aveugles ou malvoyantes : sans lang, la synthèse vocale prononce le texte avec les règles d'une autre langue. Le résultat est souvent incompréhensible.
  • Les personnes utilisant la traduction automatique du navigateur.

Impact business

C'est une erreur invisible à l'écran mais bloquante à l'oreille. Un texte français lu avec une voix anglaise est inintelligible : l'utilisateur de lecteur d'écran ne peut pas consulter la page, point.

L'enquête WebAIM Million relève l'absence ou l'invalidité de l'attribut de langue sur une part notable des pages d'accueil analysées chaque année.

L'impact est binaire : la page est exploitable, ou elle ne l'est pas. Croise ton trafic avec la part d'utilisateurs de technologies d'assistance pour estimer l'audience concernée.

Comment le détecter

  • Audit Mynto : le scan vérifie la présence et la validité de l'attribut lang sur <html>.
  • Manuel : ouvre le code source de la page (clic droit, « Afficher le code source ») et regarde la balise <html>. Elle doit ressembler à <html lang="fr">.
  • Vérifie aussi que le code correspond à la langue réelle du contenu.

Comment corriger

Avant - HTML
<!DOCTYPE html>
<html>
  <head>...</head>
Après - HTML
<!DOCTYPE html>
<html lang="fr">
  <head>...</head>

Une seule ligne à corriger : ajouter lang="fr" à la balise <html>.

Sur WordPress, cet attribut est généré par le thème via la fonction language_attributes(). Si l'attribut manque, c'est le thème qui est en cause : vérifie que le <html> du fichier header.php appelle bien language_attributes(), et que la langue du site est définie dans Réglages > Général.

Questions fréquentes

Faut-il écrire lang="fr" ou lang="fr-FR" ?

lang="fr" suffit dans la quasi-totalité des cas. fr-FR précise la région, utile seulement si tu distingues plusieurs variantes régionales.

Que faire si une partie de la page est dans une autre langue ?

Entoure ce passage d'un élément portant son propre attribut, par exemple <span lang="en">. C'est le critère RGAA 8.4, complémentaire du 8.3.

À lire aussi

Cette erreur est-elle sur ton site ?

Lance un audit Mynto gratuit. Tu sauras en quelques minutes si ton site est concerné, sur quelles pages, et avec quel impact.