Zu Content springen
Deutsch
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

A: HTML Elemente mit lang und xml -> lang Attributen müssen dieselbe Sprache ausweisen (WCAG 3.1.1)

html-xml-lang-mismatch

Stellt sicher, dass HTML Elemente mit validen lang und xml:lang Attributen dieselbe Sprachangabe tragen.

Das bedeutet

Wenn ein Element sowohl lang als auch xml:lang besitzt, müssen die Werte übereinstimmen (derselbe BCP-47 Sprachcode, inklusive optionaler Region). Abweichungen wie lang="de" und xml:lang="en" oder lang="de" und xml:lang="de-AT" gelten als Widerspruch.

Auswirkung

Assistive Technologien können falsche Stimmen wählen, Aussprache und Silbentrennung sind uneinheitlich. Nutzerinnen und Nutzer verlieren Orientierung; zusätzlich droht ein WCAG Verstoß.

Empfehlung

  • In HTML5 bevorzugt nur lang verwenden.

  • xml:lang nur einsetzen, wenn das Dokument als XML ausgeliefert wird (zum Beispiel XHTML application/xhtml+xml) oder innerhalb von SVG/MathML.

  • Wenn beide Attribute nötig sind: identische Werte setzen (einschließlich Region).

  • Gültige BCP-47 Codes verwenden (dede-DEen-GB); Bindestrich, keine Unterstriche.

  • Bei dynamischem Sprachwechsel beide Attribute konsistent aktualisieren.

Beispiel

Problematisch

<!-- Widerspruch: deutsch vs. englisch -->
<html lang="de" xml:lang="en">
  <head><title>Kontakt</title></head>
  <body>Willkommen</body>
</html>
 
<!-- Widerspruch: Basis vs. Region -->
<p lang="fr" xml:lang="fr-CA">Bonjour</p>

Besser

<!-- HTML5: nur lang verwenden -->
<html lang="de">
  <head><meta charset="utf-8"><title>Kontakt</title></head>
  <body>Willkommen</body>
</html>
 
<!-- Wenn beide nötig sind: identische Werte -->
<html lang="de-DE" xml:lang="de-DE"></html>
 
<!-- In eingebettetem SVG konsistent bleiben -->
<svg lang="en-US" xml:lang="en-US" role="img" aria-label="Logo"></svg>

Verknüpfte WCAG-Kriterien:
WCAG 3.1.1 - Sprache der Seite