html-xml-lang-mismatch

lang y xml:lang no deben discrepar

automaticWCAG 3.1.1 (A)confianza: highgravedad: seriousunderstandable

Comprueba que los atributos lang y xml:lang del elemento <html> declaren el mismo idioma principal, cuando ambos están presentes.

Ámbito de aplicación. Se aplica cuando el elemento <html> tiene tanto un atributo lang no vacío cuya subetiqueta de idioma principal es conocida (ACT 5b7ae0) como un atributo xml:lang no vacío que tiene una subetiqueta de idioma principal. Un lang que no nombra ningún idioma conocido es un fallo de html-lang-attr-present, no de esta regla; un xml:lang sin subetiqueta principal (un "x-foo" de uso privado, o ninguna etiqueta) no tiene idioma que comparar, como indica el "if any exist" de ACT.

Resultado esperado. La subetiqueta de idioma principal (la parte anterior al primer "-") de lang y xml:lang coincide, sin distinguir mayúsculas/minúsculas. Cuando ambos atributos están presentes pero declaran idiomas distintos, la tecnología de asistencia y los agentes de usuario pueden resolver el idioma de la página de forma inconsistente.

Qué informa un hallazgo.

  • lang, xmlLang: los valores de los atributos lang y xml:lang, tal como están escritos.

Estos campos de data.details ayudan a leer y reproducir un hallazgo. Salvo reasonCode y los pocos campos que Esquema de salida indica como estables, no son un contrato estable: un campo puede cambiar de nombre o desaparecer en una versión menor, así que no construyas sobre ellos.

Ejemplos

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

Las subetiquetas principales coinciden (en); se permite que las subetiquetas regionales difieran.

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

lang y xml:lang declaran idiomas principales distintos.

Ver código fuente