html-xml-lang-mismatch

lang et xml:lang ne doivent pas se contredire

automaticWCAG 3.1.1 (A)confiance : highgravité : seriousunderstandable

Vérifie que les attributs lang et xml:lang de l’élément <html> déclarent la même langue principale lorsque les deux sont présents.

Applicabilité. S’applique lorsque l’élément <html> a à la fois un attribut lang non vide dont la sous-étiquette de langue principale est connue (ACT 5b7ae0) et un attribut xml:lang non vide qui a une sous-étiquette de langue principale. Un lang qui ne désigne aucune langue connue est un échec de html-lang-attr-present, pas de cette règle ; un xml:lang sans sous-étiquette principale (un « x-foo » à usage privé, ou aucune étiquette) n’a pas de langue à comparer, comme le dit le « if any exist » d’ACT.

Attendu. Les sous-étiquettes de langue principale (la partie avant le premier « - ») de lang et de xml:lang correspondent, sans tenir compte de la casse. Lorsque les deux attributs sont présents mais déclarent des langues différentes, les technologies d’assistance et les agents utilisateurs peuvent déterminer la langue de la page de façon incohérente.

Ce que rapporte un constat.

  • lang, xmlLang : les valeurs des attributs lang et xml:lang, telles qu’écrites.

Ces champs de data.details aident à lire et à reproduire un constat. À part reasonCode et les quelques champs que la page Schéma de sortie donne comme stables, ils ne constituent pas un contrat stable : un champ peut être renommé ou supprimé dans une version mineure, ne vous appuyez donc pas dessus.

Exemples

pass
<html lang="en-US" xml:lang="en-GB">

Les sous-étiquettes principales concordent (en) ; les sous-étiquettes régionales peuvent différer.

fail
<html lang="en" xml:lang="fr">

lang et xml:lang déclarent des langues principales différentes.

Voir le code source