WCAG-Erfolgskriterien · Level AA
WCAG 3.1.2: Sprache von Teilen
WCAG 3.1.2 verlangt, dass jede Passage, Phrase oder jeder Abschnitt von Webinhalten, der in einer anderen Sprache als der Hauptsprache der Seite verfasst ist, programmatisch mithilfe des lang-Attributs gekennzeichnet wird. Dies ermöglicht unterstützenden Technologien, insbesondere Screenreadern, automatisch die Sprachausgabe umzuschalten und Inhalte für Nutzerinnen und Nutzer, die auf Audioausgabe angewiesen sind, korrekt wiederzugeben.
Was diese Regel bedeutet
WCAG 3.1.2 — Language of Parts ist ein Kriterium der Stufe AA unter dem Prinzip „Verständlich“. Es baut direkt auf 3.1.1 (Language of Page) auf, das verlangt, dass die primäre Sprache einer gesamten Seite deklariert wird. Kriterium 3.1.2 geht weiter: Immer wenn ein Abschnitt, eine Phrase oder ein Teil des Inhalts in einer Sprache geschrieben ist, die sich von der Standardsprache der Seite unterscheidet, muss dieser Teil ein lang-Attribut tragen, das seine spezifische Sprache kennzeichnet.
In praktischen HTML-Begriffen bedeutet dies, dass das lang-Attribut auf jedes Element angewendet wird, das einen Sprachwechsel umschließt. Der Attributwert muss ein gültiger BCP-47-Sprachtag sein — zum Beispiel lang='en' für Englisch, lang='fr' für Französisch, lang='de' für Deutsch oder lang='tr' für Türkisch. Regionsuntertags (wie lang='en-US' oder lang='tr-TR') sind zulässig und werden empfohlen, wenn dialektspezifische Aussprache wichtig ist.
Ein Pass liegt vor, wenn jedes einzelne Sprachsegment, das ein menschlicher Leser als zu einer anderen Sprache gehörig wahrnehmen würde, in ein Element mit dem korrekten lang-Attribut eingeschlossen ist. Ein Fail liegt vor, wenn ein Abschnitt in einer anderen Sprache vorhanden ist, aber kein lang-Attribut trägt oder ein falsches — zum Beispiel wenn ein französischer Satz als lang='de' gekennzeichnet wird.
WCAG erkennt drei ausdrückliche Ausnahmen von diesem Kriterium an. Erstens müssen Eigennamen — Personennamen, Markennamen, geografische Namen — nicht mit einer Sprache gekennzeichnet werden, selbst wenn sie aus einer anderen Sprache stammen. Zweitens sind Fachbegriffe, die als Vokabeln innerhalb der Primärsprache anerkannt sind (wie der lateinische Ausdruck in vitro auf einer medizinischen englischen Seite), ausgenommen. Drittens sind Wörter unbestimmter Sprache — Wörter, die so vollständig in die Primärsprache aufgenommen wurden, dass ihr Ursprung unklar ist — ebenfalls ausgenommen. Diese Ausnahmen spiegeln die praktische Realität wider, dass viele Lehnwörter keinen Aussprachewechsel erfordern, um korrekt verstanden zu werden.
Das lang-Attribut kann auf jedes HTML-Element gesetzt werden, einschließlich <span>, <p>, <div>, <blockquote>, <section> oder sogar <td> in einer Tabellenzelle. Das Attribut wird von allen Kindelementen geerbt, daher reicht es aus, einen übergeordneten Container zu kennzeichnen, wenn ein gesamter Block in der Zielsprache verfasst ist. Sie müssen nur einzelne Inline-Elemente kennzeichnen, wenn kurze Phrasen in ansonsten einsprachige Absätze eingestreut sind.
Warum das wichtig ist
Die Hauptnutznießer dieses Kriteriums sind Screenreader-Nutzer, insbesondere blinde Menschen oder Personen mit Sehbehinderung. Screenreader stützen sich auf Text-to-Speech-(TTS-)Engines, die sprachspezifisch sind. Wenn ein türkischer Screenreader auf einen französischen Satz ohne lang='fr'-Attribut trifft, versucht er, die französischen Wörter mit türkischen Lautregeln auszusprechen, was zu weitgehend unverständlicher Ausgabe führt. Die hörende Person merkt möglicherweise nicht einmal, dass ein Sprachwechsel stattgefunden hat — sie hört lediglich verzerrte Audioausgabe und verliert das Verständnis des Inhalts vollständig.
Betrachten Sie ein reales Szenario, das auf türkischen E-Commerce- und Tourismus-Websites häufig vorkommt: eine Produktseite auf Türkisch, die den Markennamen und einen kurzen Marketing-Slogan auf Englisch enthält, gefolgt von einem rechtlichen Hinweis auf Französisch für europäische Kunden. Ohne Sprachkennzeichnung für die englischen und französischen Segmente hört ein blinder Nutzer, der auf eine türkische TTS-Stimme angewiesen ist, drei Segmente, die alle so ausgesprochen werden, als wären sie Türkisch. Der englische Slogan lässt sich möglicherweise aufgrund phonetischer Ähnlichkeit erraten, aber der französische Rechtstext wird völlig unverständlich — was dazu führen kann, dass der Nutzer wichtige vertragliche oder sicherheitsrelevante Informationen verpasst.
Nutzer mit kognitiven Beeinträchtigungen, die auf Vorlese-Tools (nicht nur dedizierte Screenreader) angewiesen sind, sind ebenfalls betroffen. Viele gängige Browser-Erweiterungen zur Leseunterstützung verwenden das lang-Attribut, um die richtige Stimme auszuwählen. Ohne dieses Attribut ignoriert das Tool entweder den Sprachwechsel oder verwendet für die gesamte Seite eine einzige Stimme, was das Verständnis beeinträchtigt.
Über die Barrierefreiheit hinaus bietet korrekte Sprachkennzeichnung messbare SEO-Vorteile. Suchmaschinen verwenden lang-Attribute, um mehrsprachige Inhalte korrekt zu indexieren, wodurch die Wahrscheinlichkeit steigt, dass sprachspezifische Seiten in geografisch und sprachlich zielgerichteten Suchergebnissen erscheinen. Browser nutzen das Attribut außerdem, um präzise Übersetzungsvorschläge zu machen, und Rechtschreibprüfungen greifen darauf zurück, um das richtige Wörterbuch anzuwenden. Kurz gesagt: Eine korrekte Sprachkennzeichnung kommt allen Nutzern zugute — nicht nur Menschen mit Behinderungen.
Schätzungen zufolge haben weltweit über 2,2 Milliarden Menschen irgendeine Form von Sehbeeinträchtigung, und Dutzende Millionen sind täglich auf Screenreader angewiesen. Mehrsprachige Webinhalte sind in internationalen Märkten zunehmend die Norm, wodurch die Einhaltung von Language of Parts für jede Website, die ein globales oder mehrsprachiges Publikum bedient, entscheidend wird.
Verwandte Axe-core-Regeln
WCAG 3.1.2 erfordert manuelle Tests, da automatisierte Tools ohne den Einsatz von Algorithmen zur automatischen Spracherkennung (NLP) nicht zuverlässig feststellen können, welche Teile des Seitentextes in einer anderen Sprache als der Seitensprache verfasst sind — und selbst diese Algorithmen sind bei kurzen Phrasen, Eigennamen und Fachterminologie unsicher.
- Manuelle Prüfung — Spracherkennung: Automatisierte Scanner wie axe-core können überprüfen, ob das
lang-Attribut auf dem<html>-Element vorhanden und gültig ist (abgedeckt durch die Regelnhtml-has-langundhtml-lang-valid), aber sie können nicht den gesamten Textkörper lesen und bestimmen, ob ein bestimmter Abschnitt sprachlich Französisch, Deutsch oder Japanisch ist. Ein Tool hat kein semantisches Verständnis dafür, ob die Zeichenkette "Bonjour tout le monde" Französisch oder ein erfundener Ausdruck ist, und kann daher das Fehlen vonlang='fr'auf dem umgebenden Element nicht markieren. - Manuelle Prüfung — falsche lang-Werte: Wenn ein Entwickler ein
lang-Attribut auf ein Element gesetzt, aber den falschen Sprachcode zugewiesen hat (zum Beispiel spanischen Text alslang='pt'markiert), sehen automatisierte Tools einen gültigen BCP-47-Tag und melden keinen Fehler. Nur ein menschlicher Prüfer, der beide Sprachen beherrscht, kann die Diskrepanz erkennen. - Manuelle Prüfung — Umfang von Sprachwechseln: Selbst wenn
lang-Attribute vorhanden sind, muss ein Mensch bestätigen, dass das Attribut den gesamten fremdsprachigen Abschnitt abdeckt — nicht nur den ersten Satz und ohne in angrenzende Inhalte überzugreifen, die zur Primärsprache gehören. Automatisierte Tools fehlt das Leseverständnis, um diese Beurteilung vorzunehmen.
Wie man testet
- Automatisierter Basisscan: Führen Sie axe DevTools (Browser-Erweiterung oder CI-Integration) oder Google Lighthouse auf der Seite aus. Suchen Sie nach Verstößen gegen
html-has-langoderhtml-lang-valid— diese deuten darauf hin, dass selbst die Sprachdeklaration auf Seitenebene fehlt oder falsch ist, was ein grundlegendes Problem darstellt, das behoben werden muss, bevor 3.1.2 angegangen wird. Beachten Sie, dass keines der Tools fehlende Inline-lang-Attribute meldet; dieser Schritt dient nur der Basisprüfung. - Visuelle Inhaltsprüfung: Lesen Sie den gesamten Seiteninhalt durch und identifizieren Sie jeden Abschnitt, jede Phrase oder jeden Block, der sichtbar in einer anderen Sprache als der deklarierten Seitensprache geschrieben ist. Führen Sie eine Liste dieser Elemente und notieren Sie ihre Position im DOM. Prüfen Sie jedes Element (oder seinen nächstgelegenen Vorfahren) im DOM-Inspektor des Browsers (Browser-DevTools → Elements-Panel) auf ein
lang-Attribut. Verifizieren Sie, dass der Wert ein gültiger BCP-47-Tag ist, der mit der tatsächlichen Sprache des Inhalts übereinstimmt. - Screenreader-Test — NVDA + Firefox (Windows): Öffnen Sie die Seite mit aktivem NVDA in Firefox. Navigieren Sie mit den Pfeiltasten durch den Inhalt und konzentrieren Sie sich auf die von Ihnen identifizierten fremdsprachigen Abschnitte. Hören Sie genau hin: NVDA sollte die Aussprache automatisch wechseln, wenn es auf ein korrekt gesetztes
lang-Attribut trifft. Wenn der fremdsprachige Text mit den Ausspracheregeln der Standardsprache und ohne wahrnehmbaren Stimmwechsel vorgelesen wird, fehlt daslang-Attribut wahrscheinlich oder ist falsch. - Screenreader-Test — JAWS + Chrome (Windows): Führen Sie JAWS in Chrome aus und verwenden Sie den virtuellen Cursor, um die Seite zu lesen. Das Verhalten von JAWS entspricht dem von NVDA — es wechselt die TTS-Engines basierend auf
lang-Werten. Aktivieren Sie den ausführlichen Sprachmodus, um Sprachausgaben zu hören. Notieren Sie alle Passagen, bei denen die Aussprache für die sichtbare Sprache unpassend klingt. - Screenreader-Test — VoiceOver + Safari (macOS/iOS): Aktivieren Sie VoiceOver und navigieren Sie mit VO+Rechtspfeil durch die Seite. Für mobile Tests auf iOS wischen Sie durch den Inhalt. VoiceOver in Safari berücksichtigt ebenfalls
lang-Attribute und wechselt die Stimmen entsprechend. Wenn auf Ihrem Gerät Sprachpakete für die erwarteten Fremdsprachen installiert sind, hören Sie bei korrekt gekennzeichneten Elementen einen deutlichen Stimmwechsel. - BCP-47-Tag-Validierung: Validieren Sie alle gefundenen
lang-Werte anhand des IANA Language Subtag Registry oder verwenden Sie einen Online-BCP-47-Validator. Häufige Fehler sind die Verwendung vonlang='en-us'(kleingeschriebener Regionscode ist technisch gültig, aber unüblich) oder ungültige Codes wielang='english'.
Wie man es behebt
Inline-Fremdphrase in einem türkischen Absatz — Falsch
<p>
Bu ürün uluslararası standartlara uygundur ve
<em>state of the art</em> teknoloji kullanmaktadır.
</p>
Inline-Fremdphrase in einem türkischen Absatz — Richtig
<p>
Bu ürün uluslararası standartlara uygundur ve
<!-- lang='en' tells screen readers to switch to an English TTS engine -->
<em lang='en'>state of the art</em> teknoloji kullanmaktadır.
</p>
Mehrsatz-Blockzitat in einer Fremdsprache — Falsch
<blockquote>
<p>La liberté commence où l'ignorance finit.</p>
<p>— Victor Hugo</p>
</blockquote>
Mehrsatz-Blockzitat in einer Fremdsprache — Richtig
<!-- lang='fr' applied to the blockquote covers all descendant content -->
<blockquote lang='fr'>
<p>La liberté commence où l'ignorance finit.</p>
<p>— Victor Hugo</p>
</blockquote>
Zweisprachiges Navigationsmenü — Falsch
<nav>
<ul>
<li><a href='/tr/anasayfa'>Anasayfa</a></li>
<li><a href='/en/home'>Home</a></li>
<li><a href='/de/startseite'>Startseite</a></li>
</ul>
</nav>
Zweisprachiges Navigationsmenü — Richtig
<nav>
<ul>
<!-- Primary language (Turkish) needs no extra attribute if html lang='tr' -->
<li><a href='/tr/anasayfa'>Anasayfa</a></li>
<!-- English and German links receive their own lang attributes -->
<li><a href='/en/home' lang='en'>Home</a></li>
<li><a href='/de/startseite' lang='de'>Startseite</a></li>
</ul>
</nav>
Tabelle mit mehrsprachigen Datenzellen — Falsch
<table>
<tr>
<th>Ülke</th>
<th>Slogan</th>
</tr>
<tr>
<td>Fransa</td>
<td>Liberté, Égalité, Fraternité</td>
</tr>
<tr>
<td>Almanya</td>
<td>Einigkeit und Recht und Freiheit</td>
</tr>
</table>
Tabelle mit mehrsprachigen Datenzellen — Richtig
<table>
<tr>
<th>Ülke</th>
<th>Slogan</th>
</tr>
<!-- lang applied to individual td elements containing foreign text -->
<tr>
<td>Fransa</td>
<td lang='fr'>Liberté, Égalité, Fraternité</td>
</tr>
<tr>
<td>Almanya</td>
<td lang='de'>Einigkeit und Recht und Freiheit</td>
</tr>
</table>
Häufige Fehler
- Weglassen von
lang-Attributen bei kurzen Inline-Phrasen: Entwickler kennzeichnen häufig große fremdsprachige Abschnitte, übersehen aber kurze Phrasen wie einen zwei Wörter langen englischen Marketing-Slogan in einem ansonsten türkischen Satz. Selbst einzelne fremdsprachige Wörter, die keine ausgenommenen Eigennamen oder Fachbegriffe sind, müssen gekennzeichnet werden. - Verwendung eines falschen BCP-47-Tags: Die Schreibweise
lang='english',lang='turkish'oderlang='français'anstelle der korrekten ISO-Codes (lang='en',lang='tr',lang='fr') macht das Attribut ungültig, und Screenreader ignorieren es möglicherweise vollständig. - Verlassen auf CSS oder visuelle Gestaltung, um einen Sprachwechsel anzudeuten: Änderungen an Schriftart, Farbe oder Kursivsetzung signalisieren sehenden Nutzern zwar einen Sprachunterschied, liefern aber keine programmatische Information für unterstützende Technologien. Das
lang-Attribut ist der einzige Mechanismus, der für Screenreader funktioniert. - Annahme, dass Screenreader-Nutzer es „aus dem Kontext herausfinden“: Von einem blinden Nutzer zu erwarten, dass er aus einem verzerrt klingenden Abschnitt schließt, dass es sich tatsächlich um Französisch handelt, nur weil der umgebende türkische Text auf Frankreich verwiesen hat, ist eine unangemessene Erwartung, die die Verständnisschuld auf den Nutzer verlagert.
- Nur das erste Element eines mehrteiligen Fremdsprachenblocks kennzeichnen: Wenn drei aufeinanderfolgende
<p>-Elemente einen französischen Abschnitt enthalten, lässt das Setzen vonlang='fr'nur auf den ersten Absatz die beiden übrigen Absätze unmarkiert. Der korrekte Ansatz besteht darin, entweder alle drei in ein übergeordnetes Element mitlang='fr'zu kapseln oder das Attribut jedem Absatz einzeln hinzuzufügen. - Verwechslung von Eigennamen mit vollständigen fremdsprachigen Phrasen: Die WCAG-Ausnahme für Eigennamen umfasst Namen wie „Paris“ oder „Volkswagen“ — nicht ganze Sätze oder Marketingtexte auf Französisch oder Deutsch. Entwickler wenden diese Ausnahme manchmal falsch an, um das Weglassen von
lang-Kennzeichnungen bei umfangreichen fremdsprachigen Inhalten zu rechtfertigen. - Dynamisch eingefügter Inhalt ohne Sprachattribute: Wenn fremdsprachige Inhalte per JavaScript geladen werden (zum Beispiel ein CMS-gesteuerter FAQ-Block oder eine übersetzte Produktbeschreibung aus einer API), vergessen Entwickler häufig, das
lang-Attribut in das eingefügte Markup aufzunehmen. Server- oder Client-seitige Rendering-Pipelines müssen Sprachmetadaten zusammen mit dem Textinhalt durchreichen. - Verwendung von
xml:langin HTML5-Dokumenten ohnelang: In XHTML-Kontexten warxml:langdas passende Attribut. In HTML5 istlangdas korrekte Attribut. Die ausschließliche Verwendung vonxml:langin einem HTML5-Dokument kann in einigen Browsern funktionieren, wird aber nicht von allen unterstützenden Technologien einheitlich unterstützt. - Platzierung von
langauf einem zu breiten Container, der auch Inhalte in der Primärsprache enthält: Wenn ein Abschnitt, der sowohl türkischen als auch französischen Text enthält, vollständig inlang='fr'eingeschlossen wird, werden die türkischen Teile falsch ausgesprochen. Der Geltungsbereich des Attributs muss genau mit der Sprachgrenze übereinstimmen. - Kein Test mit tatsächlichen Screenreadern nach der Fehlerbehebung: Entwickler fügen häufig
lang-Attribute hinzu und betrachten die Korrektur als abgeschlossen, ohne die tatsächliche TTS-Ausgabe zu überprüfen. Tests mit NVDA, JAWS oder VoiceOver sind die einzige Möglichkeit, sicherzustellen, dass die Ausspracheverbesserung für Endnutzer wahrnehmbar ist.
Bezug zu den Barrierefreiheitsvorschriften der Türkei
Die türkische Präsidialverfügung 2025/10, veröffentlicht im Amtsblatt Nr. 32933 am 21. Juni 2025, etabliert einen verbindlichen Rahmen für digitale Barrierefreiheit für eine breite Palette öffentlicher und privater Einrichtungen. Die Verfügung übernimmt WCAG 2.2 offiziell als technischen Standard, wobei die Konformität auf Stufe AA als Mindestanforderung für die rechtliche Compliance dient.
WCAG 3.1.2 — Language of Parts ist ein Kriterium der Stufe AA und fällt damit eindeutig in das verpflichtende Konformitätsziel, das durch die Verfügung definiert ist. Einrichtungen, die mehrsprachige Websites betreiben — was in der Türkei aufgrund der Rolle des Landes als Schnittstelle des europäischen, nahöstlichen und zentralasiatischen Handels üblich ist — haben eine erhöhte Verpflichtung, dieses Kriterium korrekt umzusetzen. Eine türkische Bank, die Devisenkonditionen auf Englisch veröffentlicht, ein Telekommunikationsanbieter, der Roaming-Bedingungen auf Deutsch einbindet, oder eine Krankenhaus-Website, die Einwilligungserklärungen für Patienten auf Arabisch bereitstellt, müssen sicherstellen, dass jeder fremdsprachige Abschnitt programmatisch gekennzeichnet ist.
Zu den von der Verfügung erfassten Einrichtungstypen gehören öffentliche Institutionen und Behörden, E-Commerce-Plattformen, Banken und Finanzinstitute, Krankenhäuser und Gesundheitsdienstleister, Telekommunikationsunternehmen mit 200,000 oder mehr Abonnenten, Reisebüros, private Transportunternehmen und Privatschulen, die vom Bildungsministerium (MoNE) autorisiert sind. Für all diese Einrichtungen kann die Nichteinhaltung der Stufe AA — einschließlich 3.1.2 — zu Verwaltungssanktionen und zur Nichtberechtigung für das vom Familien- und Sozialministerium vergebene Accessibility Logo (Erişilebilirlik Logosu) führen.
Das Erişilebilirlik Logosu wird auf dem türkischen Markt zunehmend als Vertrauenssignal wahrgenommen, insbesondere im E-Commerce und in Finanzdienstleistungen. Der Erhalt und die Aufrechterhaltung des Logos erfordern den nachgewiesenen Nachweis der Einhaltung aller Kriterien der Stufe AA, und Language of Parts ist besonders relevant für türkische Einrichtungen, die internationale Kunden bedienen oder rechtlich bindende Dokumente in mehreren Sprachen veröffentlichen. Da das türkische Recht verlangt, dass bestimmte Hinweise (wie Verbraucherrechte und Bedingungen für Finanzprodukte) für Nutzer mit Behinderungen verständlich sind, ist die Sprachkennzeichnung nicht nur eine technische Best Practice — sie ist Teil der Verpflichtung zu barrierefreier Kommunikation, die im umfassenderen Mandat der Verfügung verankert ist.
Organisationen, die das Logo anstreben, sollten strukturierte Inhaltsprüfungen durchführen, um alle fremdsprachigen Passagen in ihren digitalen Angeboten zu identifizieren, einen Entwicklungsprozess implementieren, der die Anwendung des lang-Attributs auf der Content-Management-Ebene erzwingt, und Language of Parts in ihre regelmäßigen Barrierefreiheitstests einbeziehen — neben automatisierten und manuellen Prüfzyklen.
