Standards · WCAG 2.2

SC 3.1.1 Stufe A WCAG 2.0

Sprache der Seite

Die Standard-Sprache jeder Seite muss programmatisch bestimmbar sein – üblicherweise über das lang-Attribut am html-Element. Screenreader, Braillezeilen und Übersetzungsdienste nutzen diese Angabe, um Ausspracheregeln, Sprachprofile und Zeichensatzzuordnungen auszuwählen.

Was gefordert wird

Jede Webseite muss ihre Standard-Sprache so deklarieren, dass assistive Technologie sie auslesen kann. In HTML bedeutet das ein gültiges lang-Attribut am Wurzelelement <html>, gesetzt auf einen primären Sprachsubtag gemäß BCP 47 (en, de, bg, zh-Hans). Der Wert muss die tatsächliche Standardsprache des Textinhalts widerspiegeln – nicht die Sprache des CMS und nicht das Land des Hosting-Anbieters.

Eine Seite, die mehrere Sprachen vermischt, hat dennoch eine Standardsprache; sekundäre Sprachen werden durch 3.1.2 Sprache von Teilen behandelt.

Umsetzung

  • lang dem <html>-Element jeder Seite hinzufügen: <html lang="de">.
  • Den korrekten BCP-47-Subtag verwenden. en für allgemeines Englisch; en-GB oder en-US nur dann, wenn regionale Ausspracheunterschiede relevant sind.
  • Bei Chinesisch das Schriftsystem unterscheiden: zh-Hans (vereinfacht), zh-Hant (traditionell).
  • Bei Rechts-nach-links-Sprachen (Arabisch, Hebräisch, Persisch) lang mit dir="rtl" kombinieren.
  • In React/Next.js/Astro das Attribut im Wurzel-Layout-Template setzen, nicht im Body von _document, damit jede Route es erbt.
  • Bei mehrsprachigen Websites lang je Route wechseln – nie eine einzige globale Standardsprache an lokalisierte Seiten ausliefern.

Häufige Fehler

  • Fehlendes lang-Attribut – der häufigste Fehler auf Legacy-Sites und CMS-templatisierten Seiten.
  • lang="" (leerer Wert) oder lang="german" – ungültig; nur BCP-47-Subtags sind konform.
  • Alle Seiten fest auf lang="en" kodiert, obwohl der Inhalt auf Deutsch, Französisch oder Bulgarisch ist.
  • Eine französischsprachige Seite mit lang="en", weil das CMS-Template mit Englisch als Standard ausgeliefert wurde und niemand es geändert hat.
  • lang am <body> statt am <html> gesetzt – von manchen Tools akzeptiert, aber nicht der kanonische Ort.

Warum es wichtig ist

Screenreader nutzen lang, um den richtigen Sprachsynthesizer auszuwählen. Bei falscher Sprachdeklaration liest ein englischer Screenreader deutschen Text lautmalerisch – „Schmetterling“ klingt dann wie sinnlose Silbenketten. Braillezeilen verwenden das Attribut, um die korrekten Kurzschrift-Kontraktionstabellen zu wählen. Browser-Übersetzungsfunktionen nutzen es, um die Ausgangssprache zu erkennen. Suchmaschinen setzen es für Rankings und Snippet-Generierung ein.

Das ist eine 30-Sekunden-Korrektur, die jedem Screenreader-Nutzenden auf der Seite das Verständnis ermöglicht – und dennoch fehlt sie auf einem erheblichen Anteil der produktiven Websites. Sie gehört zu den am häufigsten zitierten Problemen in automatisierten Prüfungen, weil sie binär und leicht erkennbar ist.