Le code de langue déclaré sur votre site correspond-il bien à la langue dans laquelle il est rédigé ?
Critère officiel 8.4 — Pour chaque page web ayant une langue par défaut, le code de langue est-il pertinent ?
Pourquoi c'est important
Si un site en français déclare la langue anglaise par oubli de configuration, les logiciels de lecture activent leur moteur vocal anglais. Le résultat est identique à l'absence de déclaration : une lecture incompréhensible du français.
Exemples concrets
Ce qui est conforme
Un site de commune touristique propose son contenu en français (déclaré `fr`) et une version anglaise (déclarée `en`). Chaque version est lue avec la prononciation appropriée. Les utilisateurs anglophones malvoyants accèdent au contenu qui leur est destiné.
Ce qui pose problème
Le site a été installé depuis un thème anglophone. La configuration `lang="en"` n'a jamais été modifiée, bien que tout le contenu soit en français. Les logiciels de lecture lisent du français avec une voix anglaise.
Comment agir
Vérifiez avec votre prestataire que le code de langue déclaré correspond bien au contenu. Pour un site entièrement en français, la valeur doit être `fr`. Si vous avez des pages en d'autres langues, chaque version linguistique doit avoir son propre code. Question à poser : « La langue déclarée correspond-elle bien à la langue de nos contenus ? »
Règles clés
- Le code langue doit correspondre à la langue réelle du contenu majoritaire de la page.
- fr est suffisant pour le français standard. fr-FR, fr-BE, fr-CH sont valides pour des contextes régionaux spécifiques.
- Vérifier avec le validateur W3C ou un outil axe que la valeur est reconnue comme valide BCP 47.
- Sur un site multilingue, tester chaque version de page (FR, EN, DE…) et confirmer que le lang change correctement.
Erreurs fréquentes
- lang="en" sur une page entièrement en français (thème copié depuis une source anglophone sans mise à jour)
- lang avec un code de région inexistant (lang="fr-EU", lang="fr-FX")
- lang sur un CMS multilingue qui ne se met pas à jour selon la langue de la page courante
- lang="fr-FR" systématiquement alors que le contenu couvre plusieurs régions francophones — acceptable mais à documenter
Exemples de code
code de région inexistant
✗ Non conforme<html lang="fr-EU">'EU' n'est pas un code de région ISO 3166-1 valide. Le sous-tag est ignoré ou mal interprété selon la technologie d'assistance.
code incohérent avec le contenu
✗ Non conforme<!-- Page entièrement rédigée en français -->
<html lang="en">La synthèse vocale utilisera un moteur anglophone pour lire du français. Erreur typique sur un thème copié depuis une source anglophone sans mise à jour du lang.
code valide et cohérent
✓ Conforme<!-- Français standard -->
<html lang="fr">
<!-- Français de Suisse, si le site cible spécifiquement ce public -->
<html lang="fr-CH">fr est le code minimal suffisant pour le français standard. fr-CH est valide et pertinent si le site cible la Suisse francophone avec des spécificités lexicales ou orthographiques.
Référence WCAG : 3.1.1