Barrierefreies Webdesign ein zugängliches und nutzbares Internet gestalten

Voreinstellen der menschlichen Sprache veröffentlicht in 2016zuletzt bearbeitet in

Damit Texte von Software wie einer Sprachausgabe korrekt aufbereitet werden können, benötigt eine Webseite eine Angabe zur Sprache des Inhalts. Nur wenn die menschliche Sprache der Inhalte angegeben wurde, arbeiten Browser, Screenreader und weitere Anwendungen auch zuverlässig, wenn es um linguistische Aspekte im Inhalt geht. Die durch Software bestimmte Sprache erlaubt es unter anderem, dass Screenreader die richtige Aussprache für eine Sprachausgabe auswählen oder Browser eine sinnvolle Silbentrennung umsetzen.

Die Angabe der menschlichen Sprache für eine Webseite ist trivial. In den meisten Fällen genügt die Angabe eines lang-Attributs mit der Angabe der Sprache für das html-Element. Mit dem folgenden Code wird die Sprache einer Webseite als deutsch festgelegt:

<!doctype html>
<html lang="de">
  ... Rest der Webseite ...
</html>

Die Sprachangabe wird dadurch auf alle weiteren Inhalte der Seite vererbt.

Alternative Techniken

Es ist möglich, die Sprache einer Seite im HTTP-Header einer Webseite vorzugeben. Allerdings sind im Gegensatz zum lang-Attribut die Sprachangaben im HTTP-Header nicht inhaltsbezogen, sondern sie zielen auf das Publikum wie zum Beispiel Suchfunktionen ab. Das bedeutet auch, dass solche Sprachangaben mehrere Sprachen umfassen können. Es gibt dafür zwei Herangehensweisen:

  1. Die Sprachangabe über ein HTTP-Header kann mit dem meta-Element vorgegeben werden. Einige Browser ziehen diese Information heran, um die Sprache der Inhalte zu bestimmen, allerdings ist diese Vorgehensweise Extern, englischsprachig: nicht HTML-konform, sondern nur als Fallback-Lösung bei Fehlen eines lang-Attributs vorgesehen. Wenn diese Technik eingesetzt wird, dann darf im meta-Element nur eine Sprache angegeben werden.
  2. Sprachangaben können auch Extern, englischsprachig: mit serverseitigen Techniken als HTTP-Header gesendet werden. Der Content-Language-Header gibt die menschliche Sprache(n) an, die für das Zielpublikum bestimmt ist beziehungsweise sind. Solche serverseitigen Techniken funktionieren nur dann, wenn die Webseiten von einem Server abgerufen werden (und nicht etwa bei auf der Festplatte gespeicherten Seiten).

Weil die erste Lösung nicht in jedem Browser und die zweite Lösung nicht in jeder Umgebung funktioniert, sollte bei der Angabe der menschlichen Sprache einer Webseite auf das lang-Attribut für das html-Element gesetzt werden.

Änderungen zur voreingestellten Sprache

Wenn mehrere Sprachen auf einer Seite vorkommen, dann sollte die Sprache, die häufiger vorkommt, mit dem lang-Attribut für das html-Element als voreingestellte menschliche Sprache festgelegt werden. Die Teile der Inhalte, die anderssprachig sind, müssen entsprechend gekennzeichnet werden:

<p>Und es wurde still im Saal. Dann sagte der Chief Executive Officer: <q lang="en">I want to make money, not music!</q> Damit war klar, dass der Musiksparte des Unternehmens keine Zukunft mehr eingeräumt wird.</p>

Audioausgabe des Beispiels

Transkript:

Screenreader auf deutsch: Und es wurde still im Saal. Dann sagte der Chief Executive Officer:
Screenreader auf englisch: left quote I want to make money, not music! right quote
Screenreader auf deutsch: Damit war klar, dass der Musiksparte des Unternehmens keine Zukunft mehr eingeräumt wird.

Dieses Beispiel entspricht der Vorgabe aus Erfolgskriterium 3.1.2 der Web Content Accessibility Guidelines (WCAG) 2.2. Danach muss die menschliche Sprache anderssprachiger Abschnitte und Phrasen angegeben werden.

Während Abschnitte, Absätze, Sätze oder Phrasen in einer anderen Sprache gekennzeichnet werden müssen, gilt das nicht für einzelne Begriffe oder Wörter. Das betrifft folgende Kategorien an Begriffen und Wörtern:

Die Notwendigkeit, einzelne Begriffe auszuzeichnen, wird durch den letzten Punkt praktisch eliminiert. Jargon umfasst alle Wörter, die auf eine bestimmte Art und Weise von Personen in einem bestimmten Bereich verwendet werden, wozu Fachbegriffe oder Anglizismen gehören. Nur wenn allgemeine Begriffe in einem bestimmten Arbeitsfeld eine andere Bedeutung haben als im Alltag und diese außerdem in einer anderen Sprache als die Sprache der Webseite genutzt werden, dann müssen die einzelnen Begriffe als fremdsprachig gekennzeichnet werden.

Im obigen Beispiel kommt der Begriff "Chief Executive Officer" (deutsch: Vorstandsvorsitzender) vor. Auf Extern: duden.de kann dieser Begriff nachgeschlagen werden. Der Begriff gehört zum Wortschatz im deutschsprachigen Raum und muss nicht als anderssprachig ausgezeichnet werden.

Und auch wenn der Begriff nicht zum deutschsprachigen Wortschatz gehörte: "Chief Executive Officer" oder die abgekürzte Form "CEO" gehören zum Jargon der Wirtschaft.

Texte in einer anderen menschlichen Sprache, die ein Satz bilden oder länger sind, müssen mit dem lang-Attribut ausgezeichnet werden. Kürzere Texte, zum Beispiel Redewendungen oder Titel eines Buchs, benötigen ebenfalls eine entsprechende Auszeichnung. Hingegen sind Ausdrücke und Begriffe in vielen Fällen bereits Teil der Sprache geworden. Einzelne Wörter und Ausdrücke sollten nur dann als eine andere menschliche Sprache ausgezeichnet werden, wenn sie eindeutig als fremdsprachiger Ausdruck verwendet werden (zum Beispiel Très bien!).

Grenzen für den Sprachwechsel

Die korrekte Auszeichnung von menschlichen Sprachen garantiert nicht, dass die Texte in der vorgesehenen Sprache von Sprachausgaben ausgesprochen werden können. Es gibt dafür verschiedene Gründe:

Im Allgemeinen ist das lang-Attribut mit der Angabe eines Sprachcodes technisch robust. Es gibt einige weitere Aspekte, die im Einzelfall überprüft werden müssen: