Les codes de langue utilisés pour les passages en langue étrangère correspondent-ils aux bonnes langues ?
Critère officiel 8.8 — Dans chaque page web, le code de langue de chaque changement de langue est-il valide et pertinent ?
Pourquoi c'est important
Un code de langue incorrect — de l'espagnol déclaré comme allemand, ou du latin non identifié — conduit le logiciel de lecture à utiliser la mauvaise voix. L'erreur est alors identique à une absence de signalement : une prononciation incompréhensible.
Exemples concrets
Ce qui est conforme
Les délibérations contenant des formules latines sont balisées avec le code langue latin correct. Les passages en anglais utilisent `en`, en allemand `de`. Chaque passage est lu avec la voix appropriée.
Ce qui pose problème
Un développeur a balisé un passage en anglais avec le code espagnol par erreur. Le logiciel de lecture active sa voix espagnole pour lire de l'anglais — tout aussi incompréhensible que l'absence de balise.
Comment agir
Demandez à votre prestataire de vous fournir la liste des passages en langue étrangère balisés et leurs codes de langue, pour vérification. Les codes courants : `en` anglais, `de` allemand, `es` espagnol, `it` italien, `la` latin. Un tableau simple suffit pour vérifier la cohérence.
Règles clés
- Codes de base : fr, en, de, es, it, nl, pt, ar, zh, ja…
- Sous-étiquettes régionales valides : fr-BE, fr-CH, en-GB, pt-BR…
- Vérifier via le registre IANA des sous-étiquettes de langue.
Erreurs fréquentes
- lang='english' au lieu de lang='en'
- Codes de sous-étiquette non reconnus
Exemples de code
code de langue invalide
✗ Non conforme<p lang="english">This is an example.</p>'english' n'est pas un code BCP 47 valide. Ignoré par le lecteur d'écran.
code de langue valide
✓ Conforme<p lang="en">This is an example.</p>'en' est le code BCP 47 valide. Le lecteur d'écran basculera sur le moteur anglophone.
Référence WCAG : 3.1.2