html-has-lang · WCAG 3.1.1 Language of Page · Stufe AWie Sie das „html-has-lang“-Problem beheben
Die axe-core-Regel html-has-lang schlägt fehl, wenn das Wurzelelement <html> kein lang-Attribut hat. Ohne dieses kann der Screenreader die richtige Aussprache-Engine nicht wählen. WCAG 2.2 (3.1.1, Stufe A) verlangt, die Seitensprache programmatisch zu setzen.
Was axe-core prüft
axe-core meldet, wenn <html> kein lang (oder ein leeres) hat. Die Begleitregel html-lang-valid prüft, dass der Wert ein gültiger BCP-47-Code wie de oder en ist.
Welcher Norm das entspricht
| WCAG 2.2 | 3.1.1 Language of Page (Stufe A) |
| EN 301 549 | 9.3.1.1 |
| BFSG / EAA | BFSG § 12 i. V. m. EN 301 549 · EAA Anhang I |
| Kategorie | Sprache |
Warum es zählt
In einem deutschen Shop ohne lang="de" liest ein Screenreader deutschen Text mit englischer Phonetik vor — unverständlich. Es ist ein Ein-Zeilen-Fix; ihn offen zu lassen wirkt in einer BFSG-Bewertung wie schlichte Nachlässigkeit.
Häufige Ursachen
<html>ganz ohnelang- Ein fest verdrahtetes
lang="en"auf deutschen Seiten - Ungültige Werte wie
lang="german"stattde - Locale wird vom CMS/Template nicht durchgereicht
Wie Sie es beheben
Setzen Sie lang am <html>-Element auf die Hauptsprache der Seite, mit gültigem BCP-47-Code.
<!-- Fehler -->
<html>
<!-- Besteht (deutsche Seite) -->
<html lang="de">
Verwandte Prüfungen
FAQ
Einen gültigen BCP-47-Code: „de“ für Deutsch, „en“ für Englisch, bei Bedarf „de-AT“ für österreichisches Deutsch.
Ja — lang am <html> für die Seite, und lang an einzelnen Elementen, die die Sprache wechseln.
Finden Sie jeden solchen Fehler auf Ihrer Seite
Starten Sie einen kostenlosen WCAG 2.2 AA-Scan — echte axe-core-Engine, ohne Anmeldung. Oder ein zeitgestempelter Beweis-Report für 29 €.