Voreinstellen der natürlichen Sprache veröffentlicht in 2016

Damit Texte von Software sprachlich korrekt aufbereitet werden können, benötigt eine Webseite eine Angabe zur Sprache des Inhalts. Nur wenn die 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 u.a., dass Screenreader die richtige Aussprache für eine Sprachausgabe auswählen oder eine sinnvolle Intern: Silbentrennung durch den Browser erfolgen kann.

Die Angabe der 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 ebenfalls 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 (z.B. 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 mit HTML5 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 ebenfalls eine oder mehrere Sprachen des Zielpublikums an. 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 Intern: Angabe der Sprache einer Webseite auf das lang-Attribut 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 Sprache bestimmt 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>

Dieses Beispiel entspricht der Vorgabe aus den Web Content Accessibility Guidelines (WCAG) 2.0. Danach müssen anderssprachige Abschnitte und Phrasen ausgezeichnet werden.

Abweichende Anforderungen

Es gibt für den Sprachwechsel unterschiedliche Anforderungen:

Im obigen Beispiel kommt der Begriff "Chief Executive Officer" (deutsch: Hauptgeschäftsführer) vor. Auf duden.de kann "CEO" nachgeschlagen werden, wo u.a. darauf hingewiesen wird, dass dieser (deutsche) Begriff die Abkürzung für den englischen Begriff "Chief Executive Officer" ist.

Screenshot von duden.de. Bedeutung und Herkunft von 'CEO' wird angezeigt Deutsche Abkürzung für englischen Begriff

Um das Beispiel nach BITV 2.0 zugänglich umzusetzen, gibt es zwei Lösungen:

  1. "Chief Executive Officer" wird als englischsprachig ausgezeichnet:

    <p>Und es wurde still im Saal. Dann sagte der <span lang="en">Chief Executive Officer</span>: <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>

  2. "Chief Executive Officer" wird mit "CEO" ersetzt:

    <p>Und es wurde still im Saal. Dann sagte der <abbr title="Chief Executive Officer" lang="en"><span lang="de">CEO</span></abbr>: <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>

    Bei diesem Beispiel ist anzumerken:

    • Da der Inhalt des title-Attributs englischsprachig ist, benötigt das ABBR-Element nach der BITV 2.0 eine Sprachkennzeichnung als englischsprachig, damit — wenn der Tooltip von Sprachausgaben gelesen wird — mit der korrekten Aussprache ausgesprochen wird.
    • "CEO" ist auf der Grundlage von duden.de deutschsprachig und deshalb muss der Text innerhalb des ABBR-Elements mit einem SPAN-Element zusätzlich als deutschsprachig ausgezeichnet werden.

    Audio: Beispiel mit aufgelöster Abkürzung (0.1 MB)

Welche Lösung der BITV 2.0 besser gerecht wird, ist schwer zu entscheiden. Die erste Lösung ist sicher die verständlichere Lösung; gleichzeitig kann jeder Sprachwechsel innerhalb von Fließtext zu deutlichen Extern: Pausen in Sprachausgaben führen und sollten — wenn überhaupt — nur sehr sparsam eingesetzt werden (z.B. wenn erst durch die Aussprache die richtige Bedeutung deutlich wird). Die zweite Lösung geht zwar auch, aber mit der Abkürzung wird die Verständlichkeit weniger gefördert.

Empfehlung: Weil die Richtlinien den Umfang eines Textes unterschiedlich angeben (Sätze, Satzteile oder Ausdrücke) und außerdem häufige Sprachwechsel innerhalb eines Fließtextes zu deutlichen Verzögerungen in Sprachausgaben führen, sollte die ursprüngliche Anforderung der WCAG 2.0 als Maßstab für die Kennzeichnung von anderssprachigen Texten angewandt werden. Fremdsprachige Texte, die ein Satz bilden oder länger sind, sollten mit dem lang-Attribut ausgezeichnet werden. Kürzere Texte (z.B. 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 ausgezeichnet werden, wenn sie eindeutig als fremdsprachiger Ausdruck verwendet werden (z.B. Je sais).

Kompatibilität des lang-Attributs

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