Kostenloser Scan

5. November 2026

lang Attribut HTML und Barrierefreiheit: Sprache der Seite und von Textteilen auszeichnen (WCAG 3.1.1 und 3.1.2)

Für die Barrierefreiheit gibt das lang Attribut in HTML im Code an, in welcher menschlichen Sprache eine Seite oder ein Textteil verfasst ist. Auf dem html-Element erfüllt es das WCAG-Erfolgskriterium 3.1.1 „Language of Page“, Sprache der Seite (Stufe A), das verlangt, dass „die menschliche Standardsprache jeder Webseite programmatisch ermittelt werden kann“. Auf einem kleineren Element kennzeichnet es einen Sprachwechsel und erfüllt das Kriterium 3.1.2 „Language of Parts“, Sprache von Teilen (Stufe AA). Dank dieser Information lädt ein Screenreader die richtigen Ausspracheregeln. Im Folgenden erläutern wir, was beide Kriterien laut den „Understanding“-Dokumenten des W3C zu WCAG 2.2 verlangen, wie Sie das Markup schreiben, welche Ausnahmen gelten und wie Sie eine mehrsprachige Website behandeln.

Wozu das lang Attribut in HTML für die Barrierefreiheit dient

Das W3C erklärt, dass assistive Technologien ebenso wie herkömmliche Browser Text genauer wiedergeben, wenn die Sprache der Seite angegeben ist. Konkret hängen drei Dinge davon ab: Screenreader laden die Ausspracheregeln der angegebenen Sprache, visuelle Browser stellen Zeichen und Schriften korrekt dar, und Mediaplayer zeigen Untertitel korrekt an.

Ziel von 3.1.1 ist also, dass Autorinnen und Autoren in der Seite selbst die Informationen bereitstellen, die Benutzeragenten brauchen, um Text und sprachliche Inhalte korrekt darzustellen. Kriterium 3.1.2 überträgt diese Logik auf das Innere der Seite: Jeder Textteil in einer anderen Sprache kann mit eigenen Darstellungs- und Ausspracheregeln wiedergegeben werden, ob mit grafischem Browser, Screenreader, Braillezeile oder Sprachbrowser.

Das W3C nennt ein anschauliches Beispiel: Ohne Sprachauszeichnung liest eine Sprachausgabe das französische Wort „voiture“ womöglich als „voyture“.

Als Nutznießer der beiden Kriterien nennt das W3C:

Kriterium 3.1.1: die Standardsprache der Seite angeben

Laut W3C ist die menschliche Standardsprache einer Webseite ihre Standardsprache für die Textverarbeitung. Enthält eine Seite mehrere Sprachen, ist die Standardsprache diejenige, die am häufigsten verwendet wird. Werden mehrere Sprachen gleich häufig verwendet, gilt die zuerst verwendete als Standardsprache.

Das Beispiel des W3C ist eine in Deutschland erstellte HTML-Seite, überwiegend auf Deutsch mit etwas Englisch: Die Standardsprache ist Deutsch (de), angegeben über das lang Attribut auf dem html-Element. Die passende hinreichende Technik ist H57, „Das Sprachattribut auf dem HTML-Element verwenden“. Für PDF-Dokumente legt die Technik PDF16 (Eintrag /Lang im Dokumentkatalog) die Standardsprache fest; PDF19, das die Sprache eines Textteils oder einer Wendung über den Eintrag Lang angibt, steht ebenfalls unter den hinreichenden Techniken. Die Standardsprache im HTTP-Header anzugeben (Technik SVR5), ist nur eine empfohlene, keine hinreichende Technik.

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Startseite</title>
  </head>
  <body>
    <!-- Inhalt überwiegend auf Deutsch -->
  </body>
</html>

Ein gültiger Sprachcode im lang Attribut

Das Attribut hinzuzufügen reicht nicht: Sein Wert muss verwertbar sein. Die Testregeln zu 3.1.1 prüfen, dass die HTML-Seite ein lang Attribut hat, dass dieses Attribut ein gültiges Sprach-Tag enthält, dass die Attribute lang und xml:lang übereinstimmende Werte haben und dass der Sprach-Subtag der Standardsprache entspricht. Die letzten beiden Regeln haben noch den Status „vorgeschlagen“.

Auch Kriterium 3.1.2 hat Testregeln: Ein Element mit lang Attribut muss ein gültiges Sprach-Tag haben, und (vorgeschlagene Regel) der Sprach-Subtag eines HTML-Elements mit lang muss der Sprache seines Inhalts entsprechen. Auch der Sprachcode eines Textteils muss daher ein gültiges Sprach-Tag sein, genau wie der auf dem html-Element.

Die Beispiele des W3C verwenden einfache Codes wie de, fr oder es, aber auch genauere Tags: Transliteriertes Chinesisch in Pinyin kann als zh-Latn-pinyin ausgezeichnet werden.

Kriterium 3.1.2: Sprachwechsel auf der Seite kennzeichnen

Kriterium 3.1.2 verlangt, dass die menschliche Sprache jedes Abschnitts und jeder Wendung programmatisch ermittelt werden kann. Eine Wendung kann aus einem einzigen Wort bestehen; ein einzelnes Wort ist also erfasst, sofern keine Ausnahme greift. Text ohne andere Sprachangabe übernimmt die Standardsprache der Seite. Eine Seite, die vollständig in einer Sprache verfasst ist, erfüllt dieses Kriterium daher automatisch.

Die hinreichende Technik ist H58, „Sprachattribute verwenden, um Wechsel der menschlichen Sprache zu kennzeichnen“. Das Beispiel des W3C: In einem englischen Satz über die DDR wird die deutsche Wendung „Treppenwitz der Weltgeschichte“ als Deutsch ausgezeichnet, damit der Screenreader die Ausspracheregeln wechselt.

Die Auszeichnung hilft außerdem visuellen Browsern, Schriften korrekt darzustellen, vor allem beim Wechsel zwischen Sprachen, die von links nach rechts und von rechts nach links gelesen werden, oder zwischen Alphabeten. Sie ermöglicht Braille-Software, Sprachwechseln zu folgen und die richtigen Codes anzuwenden, und sie unterstützt Wörterbuchabfragen sowie künftige Werkzeuge für maschinelle Übersetzung.

Hier ein veranschaulichendes Markup nach diesem W3C-Beispiel (der englische Satz ist gekürzt):

<p lang="en">…
  <span lang="de">Treppenwitz der Weltgeschichte</span>
…</p>

Die Ausnahmen: Eigennamen, Fachbegriffe, eingebürgerte Wörter

Kriterium 3.1.2 nimmt ausdrücklich Eigennamen, Fachbegriffe, Wörter unbestimmter Sprache sowie Wörter oder Wendungen aus, die Teil der Umgangssprache des unmittelbar umgebenden Textes geworden sind.

Für Eigennamen nennt das W3C „Albert Camus“ in einem englischen Philosophietext: Ein Sprachwechsel ist nicht nötig. Fachbegriffe, die oft unübersetzt bleiben, werden mit Homo sapiens, Alpha Centauri, Hertz oder habeas corpus veranschaulicht. Bei eingebürgerten Wörtern ist „rendezvous“ ins Englische übernommen, und „podcast“ in einem französischen Satz braucht keine Auszeichnung.

Im Zweifel schlägt das W3C eine einfache Frage vor: Würde das Wort in der Sprache des umgebenden Textes genauso ausgesprochen? Die Ursprungssprache eines fremdsprachigen Wortes trotzdem auszuzeichnen, bleibt eine gute, nicht verpflichtende Praxis, die die Aussprache verbessert.

Mehrsprachige Website: Sprachumschalter und Links

Auch wenn nur Stufe A angestrebt wird, ermutigt die Arbeitsgruppe des W3C Entwickler mehrsprachiger Websites ausdrücklich, Kriterium 3.1.2 zu befolgen. Der typische Fall ist der Sprachumschalter: Im Beispiel des W3C trägt jeder Link zu einer anderen Sprachversion den Namen der Sprache in dieser Sprache („Deutsch“, „Italiano“, „Français“, „繁體中文“), jeweils mit eigenem lang Attribut.

Ein weiteres Beispiel des W3C: ein Link, dessen Titel auf Englisch ist, während das verschachtelte span mit „Español“ lang="es" trägt.

Vorsicht bei der Prüfung: Screenreader geben „flache“ zugängliche Namen aus, etwa in einer Linkliste, wobei Sprachwechsel verloren gehen. Das lang Attribut auf das Element selbst zu verschieben, kann in manchen Fällen helfen. Da es sich um eine Einschränkung der Benutzeragenten handelt, ist das kein Verstoß gegen das Kriterium; Prüfende müssen aber das Markup kontrollieren und nicht nur die Sprachausgabe. Das W3C weist zudem darauf hin, dass die Qualität der Aussprache je nach Screenreader und Sprachsynthese schwankt.

Um ein fehlendes oder ungültiges lang Attribut schnell zu finden, können Sie einen kostenlosen Test mit Conformly starten und anschließend die kontinuierliche Überwachung aktivieren, um benachrichtigt zu werden, falls eine neue Vorlage den Fehler wieder einführt.

<nav aria-label="Sprachen">
  <ul>
    <li><a href="/de/" lang="de">Deutsch</a></li>
    <li><a href="/it/" lang="it">Italiano</a></li>
    <li><a href="/fr/" lang="fr">Français</a></li>
  </ul>
</nav>

Häufige Fragen

Wofür ist das lang Attribut in HTML da?

Es macht die menschliche Sprache des Inhalts programmatisch ermittelbar. Screenreader nutzen es, um die richtigen Ausspracheregeln zu laden, Browser, um Zeichen korrekt darzustellen, und Mediaplayer für Untertitel.

Wo setzt man das lang Attribut für die Seitensprache?

Auf das html-Element, zum Beispiel <html lang="de"> für eine überwiegend deutschsprachige Seite. Das ist die hinreichende Technik H57 für WCAG 3.1.1.

Welche Sprache gibt man an, wenn eine Seite mehrere Sprachen mischt?

Die am häufigsten verwendete Sprache der Seite. Werden mehrere Sprachen gleich häufig verwendet, geben Sie die zuerst verwendete an und zeichnen die übrigen Textteile mit lang aus (Kriterium 3.1.2).

Braucht jedes Fremdwort ein lang Attribut?

Ein einzelnes Wort ist von 3.1.2 erfasst, außer bei den Ausnahmen: Eigennamen, Fachbegriffe, Wörter unbestimmter Sprache und eingebürgerte Wörter wie „podcast“ im Französischen. Andere Wörter oder Wendungen in einer anderen Sprache müssen eine programmatisch ermittelbare Sprache haben; in HTML ist die hinreichende Technik das lang Attribut (H58). Die Ursprungssprache eines fremdsprachigen Wortes auszuzeichnen, auch wenn das Kriterium bereits erfüllt ist, bleibt eine gute, nicht verpflichtende Praxis, die die Aussprache verbessert.

Ist WCAG 3.1.2 Stufe A oder AA?

Erfolgskriterium 3.1.2 „Language of Parts“ (Sprache von Teilen) ist Stufe AA, 3.1.1 „Language of Page“ (Sprache der Seite) dagegen Stufe A.

Weiterlesen bei Conformly

Quellen

Dieser Artikel stützt sich auf die am Seitenende genannten offiziellen Quellen.