Barrierefreies Internet · Sprache & Semantik

Sprache von Inhalten auszeichnen: das lang-Attribut (WCAG 3.1.1 und 3.1.2)

Ein Screenreader liest jeden Text mit den Ausspracheregeln einer bestimmten Sprache vor. Steht keine Sprache im Code, rät er, und das Ergebnis klingt oft unverständlich. Das Attribut lang sagt der Vorlese-Software, welche Sprache gerade gilt. Diese Seite erklärt die zwei zuständigen Erfolgskriterien, zeigt, wie du Seite und einzelne Abschnitte korrekt auszeichnest, welche Sprach-Codes richtig sind und welche Fehler immer wieder passieren.

  • 8 Minuten Lesezeit
  • Stand: Juni 2026

Worum es geht: warum die Sprache im Code stehen muss

Vorlese-Software und Braillezeilen brauchen eine Information, die sehende Leser:innen nie bemerken: In welcher Sprache ist dieser Text geschrieben? Davon hängt ab, welche Ausspracheregeln, welche Betonung und welche Braille-Kürzel gelten. Fehlt die Angabe, nimmt der Screenreader seine Standardsprache an, und dann liest eine deutsche Stimme englische Wörter wie Deutsch vor, oder umgekehrt.

Das W3C nennt ein einprägsames Beispiel: Das französische Wort für Auto, voiture , spricht eine englische Sprachausgabe als „voyture" aus, wenn der Sprachwechsel nicht markiert ist. Auf einer ganzen Seite summieren sich solche Fehler zu einem Vortrag, dem man kaum folgen kann.

Wie das lang-Attribut die Aussprache eines Screenreaders steuert Zwei Fälle im Vergleich. Oben ohne Sprachauszeichnung: Ein deutscher Screenreader liest das französische Wort voiture mit deutschen Ausspracheregeln, das Ergebnis ist falsch. Unten mit der Auszeichnung lang gleich fr: Der Screenreader wechselt zu französischen Ausspracheregeln und liest das Wort korrekt vor. Was das lang-Attribut bewirkt Ohne Auszeichnung Text: „voiture“ → deutsche Stimme → liest „wo-i-tu-re“ Ergebnis: falsch ausgesprochen Mit lang=„fr“ Text: „voiture“ → Wechsel zu Französisch → liest korrekt Ergebnis: richtig ausgesprochen
Wissens-Karte: Ohne Sprachauszeichnung rät der Screenreader, mit lang wechselt er zu den richtigen Ausspracheregeln.

Die Sprachauszeichnung hilft aber nicht nur der Aussprache. Sie sorgt dafür, dass Braille-Software die richtigen Kürzel setzt, dass Browser Schriftzeichen korrekt darstellen und dass automatische Übersetzung und Wörterbuch-Funktionen wissen, womit sie es zu tun haben.

Zwei Kriterien: Sprache der Seite und der Teile

WCAG behandelt das Thema in zwei Erfolgskriterien, die aufeinander aufbauen. Das erste betrifft die ganze Seite und ist Pflicht schon auf der niedrigsten Stufe. Das zweite betrifft einzelne fremdsprachige Abschnitte und gehört zur gesetzlich relevanten Stufe AA.

Wissens-Karte: Die zwei Sprach-Kriterien im Vergleich
Kriterium Was es verlangt Stufe
3.1.1 Sprache der Seite Die Hauptsprache der Seite lässt sich technisch bestimmen. In der Praxis: ein lang -Attribut am <html> -Element. A
3.1.2 Sprache von Teilen Auch die Sprache einzelner Abschnitte oder Phrasen lässt sich bestimmen, wenn sie von der Hauptsprache abweicht. AA

Wichtig ist die Reihenfolge: Wenn für einen Abschnitt keine eigene Sprache angegeben ist, gilt die Hauptsprache der Seite. Deshalb ist 3.1.1 die Grundlage. Das W3C empfiehlt ausdrücklich, auch auf einsprachigen Seiten mit Anglizismen das Kriterium 3.1.2 mitzudenken, obwohl es eine Stufe höher liegt.

Die Seite auszeichnen: lang am html-Element

Der erste und wichtigste Schritt ist ein einziges Attribut. Es gehört an das <html> -Element ganz oben und nennt die Hauptsprache des Dokuments. Für eine deutschsprachige Seite:

index.html · Hauptsprache der Seite auszeichnen (Technik H57)

 <!-- Die Hauptsprache steht am html-Element. --> 
<html lang 
="de">
  <head> ... </head>
  <body>
    <h1>Willkommen bei uns</h1>
  </body>
</html>

Mehr braucht es für 3.1.1 nicht. Nutzt eine Seite mehrere Sprachen, ist die Hauptsprache jene, die am meisten vorkommt. Werden mehrere Sprachen gleich stark verwendet, gilt die zuerst auftretende als Hauptsprache.

Abschnitte auszeichnen: lang an einzelnen Teilen

Sobald ein Abschnitt oder eine Phrase in einer anderen Sprache steht, bekommt das umschließende Element ein eigenes lang . Ein deutsches Zitat in einem englischen Text, ein englischer Fachbegriff in einem deutschen Absatz, eine Sprachauswahl-Liste: All das wird am jeweiligen Element markiert (Technik H58).

beispiel.html · Sprache einzelner Teile auszeichnen (Technik H58)

 <!-- Deutsches Zitat in einem ansonsten englischen Text --> 
<p>He called it a <span lang 
="de">Treppenwitz</span>.</p> <!-- Sprachauswahl: jeder Link in seiner eigenen Sprache --> 
<ul>
  <li><a href="..." lang 
="de">Deutsch</a></li>
  <li><a href="..." lang 
="fr">Français</a></li>
  <li><a href="..." lang 
="zh-Hant">繁體中文</a></li>
</ul>

Wann keine Auszeichnung nötig ist

Nicht jedes fremdsprachige Wort braucht ein lang . Das Kriterium 3.1.2 nimmt vier Fälle ausdrücklich aus. Vor allem zählen Wörter dazu, die in die umgebende Sprache eingewandert sind: Steht ein Wort im Wörterbuch der umgebenden Sprache und wird dort korrekt ausgesprochen, ist keine Markierung nötig.

Die vier Ausnahmen von der Sprachauszeichnung
Ausnahme Beispiel
Eigennamen Personen-, Orts- oder Markennamen werden nicht ausgezeichnet.
Fachbegriffe Etablierte Fachausdrücke, etwa Homo sapiens oder Hertz.
Wörter unbestimmter Sprache Ausdrücke, die keiner Sprache eindeutig zuzuordnen sind.
Eingebürgerte Wörter Im Englischen braucht rendezvous keine Markierung, im Französischen podcast nicht: beide sind Teil der umgebenden Sprache geworden.

Die Faustregel des W3C: Wenn ein einzelnes Wort in der umgebenden Sprache gleich ausgesprochen würde (abgesehen von Akzent oder Betonung), gilt es als Teil dieser Sprache und braucht keine eigene Auszeichnung. Im Zweifel lieber großzügig zur umgebenden Sprache zählen, statt jedes Lehnwort zu markieren.

Sprach-Codes richtig wählen (BCP 47)

Der Wert von lang ist kein frei erfundener Name, sondern ein standardisiertes Sprach-Tag nach BCP 47. In den allermeisten Fällen genügt der zweibuchstabige Sprach-Code. Eine Region hängst du nur an, wenn die Unterscheidung wirklich zählt.

Wissens-Karte: Gebräuchliche Sprach-Tags nach BCP 47
Tag Bedeutung
de Deutsch, ohne Region. Für die meisten deutschsprachigen Seiten die richtige Wahl.
de-AT Deutsch (Österreich). Nur nutzen, wenn die regionale Variante eine Rolle spielt.
en Englisch, ohne Region.
fr Französisch.
zh-Hant Chinesisch in traditioneller Schrift. Hier kennzeichnet der Zusatz die Schrift, nicht die Region.

Typische Stolperfallen

Die Sprachauszeichnung ist technisch simpel, scheitert aber oft an denselben Kleinigkeiten. Diese Übersicht fasst die häufigsten zusammen:

Häufige Fehler bei der Sprachauszeichnung und ihre Lösung
Stolperfalle Besser so
Kein lang am html-Element Immer ein lang am <html> setzen, das ist die Pflicht aus 3.1.1.
Ungültiger Code lang="en" statt lang="english" : nur gültige BCP-47-Tags werden ausgewertet.
Falsche Sprache geerbt Steht am <html> noch ein altes lang aus einer Vorlage, erbt die ganze Seite die falsche Sprache. Vorlagen prüfen.
Jedes Lehnwort markiert Eingebürgerte Wörter ( Update , Team ) nicht auszeichnen, das gilt als Teil der umgebenden Sprache.
Inhalt und Attribut verwechselt Ein title oder aria-label kann eine andere Sprache haben als der sichtbare Text. Dann das lang passend setzen.

Zwei Mythen zur Sprachauszeichnung

Mythos 1

„Wenn die Schriftzeichen stimmen, weiß der Browser doch die Sprache."

Nein. Aus den Zeichen allein lässt sich die Sprache nicht sicher ableiten, Deutsch und Englisch nutzen dasselbe Alphabet. Ohne lang rät die Software, und Vorlese-Programme raten oft falsch. Die Sprache muss explizit im Code stehen, damit sie verlässlich bestimmt werden kann.

Mythos 2

„Ich muss jedes englische Wort einzeln auszeichnen."

So nicht. Eigennamen, Fachbegriffe und vor allem eingebürgerte Wörter sind ausdrücklich ausgenommen. Auszeichnen musst du echte Sprachwechsel, also ganze fremdsprachige Phrasen, Zitate oder Abschnitte. Wer jedes Lehnwort markiert, macht den Code unleserlich, ohne die Vorlese-Qualität zu verbessern.

Checkliste für die Sprachauszeichnung

Die Sprachauszeichnung ist eine der günstigsten Maßnahmen der Barrierefreiheit: ein Attribut am <html> , ein paar gezielte lang an fremdsprachigen Stellen, und schon klingt deine Seite für Menschen, die sie sich vorlesen lassen, so verständlich, wie sie aussieht.