html-xml-lang-mismatch
lang und xml:lang dürfen sich nicht widersprechen
Prüft, dass die Attribute lang und xml:lang des <html>-Elements dieselbe Hauptsprache deklarieren, wenn beide vorhanden sind.
Anwendbarkeit. Gilt, wenn das <html>-Element sowohl ein nicht leeres lang-Attribut hat, dessen primäres Sprach-Subtag bekannt ist (ACT 5b7ae0), als auch ein nicht leeres xml:lang-Attribut, das ein primäres Sprach-Subtag hat. Ein lang, das keine bekannte Sprache nennt, ist ein Fehler für html-lang-attr-present, nicht für diese Regel; ein xml:lang ohne primäres Subtag (ein privates „x-foo“ oder gar kein Tag) hat keine Sprache, die sich vergleichen ließe, wie ACTs „if any exist“ besagt.
Erwartung. Das primäre Sprach-Subtag (der Teil vor dem ersten „-“) von lang und xml:lang stimmt ohne Berücksichtigung der Groß-/Kleinschreibung überein. Sind beide Attribute vorhanden, deklarieren aber unterschiedliche Sprachen, können assistive Technologien und User Agents die Sprache der Seite uneinheitlich auflösen.
Was ein Befund meldet.
lang,xmlLang: die Werte der Attributelangundxml:lang, wie geschrieben.
Diese Felder in data.details helfen, einen Befund zu lesen und zu reproduzieren. Außer reasonCode und den wenigen Feldern, die Ausgabeschema als stabil nennt, sind sie kein stabiler Vertrag: Ein Feld kann in einer Minor-Version umbenannt werden oder wegfallen, bauen Sie also nicht darauf auf.
Beispiele
<html lang="en-US" xml:lang="en-GB">
Die primären Subtags stimmen überein (en); regionale Subtags dürfen sich unterscheiden.
<html lang="en" xml:lang="fr">
lang und xml:lang deklarieren unterschiedliche Hauptsprachen.