Kennzeichnung der Sprache von Linkzielen

Zielgruppe: XHTML/HTML-Autoren (die Web-Editoren/Texteditoren oder Scripte benutzen), Script-Entwickler (PHP, JSP u.a.), CSS-Entwickler, Webprojekt-Manager und alle, die erfahren möchten, wie man die Sprache von Linkzielen kennzeichnet

Frage

Was sollte man bedenken, wenn man den Lesern kenntlich machen möchte, dass ein Link zu einer Webseite in einer anderen Sprache führt?

Antwort

Für und Wider

Wenn Besucher einer Webseite einem Link folgen und merken, dass sie die verlinkte Seite nicht lesen können, bedeutet dies vertane Zeit und wenn es öfter passiert, werden sie genervt sein. Am Ende verlieren sie das Vertrauen, wenn sie mit Links konfrontiert werden, deren Zielseiten sie nicht lesen können.

Wenn man beim Link mittels Text oder Grafik kenntlich macht, dass die verlinkte Seite in einer anderen Sprache ist, können die Nutzer entsprechend ihren Sprachkenntnissen im Voraus entscheiden, ob sie dem Link folgen, und somit diese Probleme vermeiden.

Doch das birgt potentiell Probleme, wenn später einmal eine übersetzte Version der Seite hinzukommt.

Nehmen wir beispielsweise an, dass eine französische Seite schon seit einiger Zeit bei einem Link zu einer Seite, die damals nur auf englisch verfügbar war, das so angibt. Später wurde jene Seite ins Französische übersetzt. Wenn die französische Seite nicht angepasst wird, zeigt sie französisch­sprachigen Lesern fälschlicherweise an, dass der Link zu einer englischen Seite führt. Das könnte einige davon abhalten, dem Link zu folgen, obwohl er nun zu einer für sie lesbaren Seite führt.

Man muss auch bedenken, wie man den Lesern mitteilt, dass das Linkziel in anderen Sprachen verfügbar ist. Wenn ein Nutzer z.B. eine Seite auf ungarisch liest und ein Link zu einer Seite führt, die nicht in Ungarisch, aber sowohl in Englisch als auch in Deutsch verfügbar ist, was soll man dem Leser anzeigen? Es ist möglich, dass der Leser Deutsch oder Englisch bevorzugt. Das wird umso problematischer, je mehr Übersetzungen verfügbar sind.

Man muss diese Für und Wider abwägen, um zu entscheiden, ob man Links auf diese Weise kennzeichnet oder nicht.

Verwendung von hreflang mit CSS zur Kennzeichnung der Sprache

Wenn man sich dafür entschieden hat, die Zielsprache hinter einem Link anzugeben, ist eine Möglichkeit dafür, das hreflang-Attribut und etwas CSS zu verwenden, um die Information an die Leser zu bringen.

In HTML ist das hreflang-Attribut bei a-Elementen dafür gedacht, die Sprache des verlinkten Dokuments anzugeben. Die HTML5-Spezifikation sagt, dass hreflang-Information im Browser keinen Einfluss auf die Wahl der Sprachversion haben sollte. Wenn ein Browser eine Ressource abruft, darf er deren Sprache nur anhand der mit dieser Ressource verknüpften Information ermitteln, nicht jedoch anhand von Metadaten in Links zu dieser Ressource.

Wenn man die oben genannten Für und Wider in Betracht zieht, ist hreflang in einfachen Fällen ein Mittel, um die Sprache von Linkzielen anzuzeigen. Dabei gibt es aber erhebliche Probleme.

Wenn eine Ressource per serverseitiger Inhaltsvereinbarung (content negotiation) in mehreren Sprachen zur Verfügung steht, ist es nicht möglich alle anzugeben, denn für das hreflang-Attribut ist nur eine einzige Sprache als Wert erlaubt.

Implementierungs­details

Hier ein Beispiel, wie hreflang seit einiger Zeig eingesetzt wird. Der folgende Text enthält einen Link, der zu einer schwedischen Seite führt.

Quellcode ansehen

Diese Seite beschreibt, wozu die DOCTYPE-Angabe dient [sv].

Man kann das mit diesem Markup erreichen:

<p>Diese Seite beschreibt, <a href="swedish-doc.html" hreflang="sv">wozu die DOCTYPE-Angabe dient</a>.</p>

Der Code, um das mit CSS umzusetzen, sieht so aus:

a[hreflang]:after { 
    content: " [" attr(hreflang) "]"; 
    color: #999;
    vertical-align: super;
    font-size: 70%;
    } 

Für jedes a-Element mit hreflang-Attribut fügt CSS den Wert dieses Attributs in eckigen Klammern hinter dem Link ein.

Man kann aber auch genauso einfach Text oder sogar eine Grafik einfügen, wenn man die content-Eigenschaft anstelle von attr(hreflang) anwendet. Das ist besser, wenn man nicht sicher ist, ob alle Leser die ISO-Sprachcodes kennen.

Hier das CSS. Man braucht eine Angabe für jede vorkommende Sprache.

a[hreflang]:after { 
    color: #999;
    vertical-align: super;
    font-size: 70%;
    }
a[hreflang = 'sv']:after { 
    content: " [Schwedisch]"; 
    }
a[hreflang = 'fi']:after { 
    content: " [Finnisch]"; 
    } 
etc.

Für Schwedisch ist das angezeigte Ergebnis:

Quellcode ansehen

Diese Seite beschreibt, wozu die DOCTYPE-Angabe dient [Schwedisch].

Verwenden Sie keine Flaggen zur Kennzeichnung von Sprachen!

Flaggen repräsentieren Länder, nicht Sprachen.

Viele Länder verwenden dieselbe Sprache wie andere Länder; viele Länder haben mehr als eine offizielle Sprache. Flaggen können keine eindeutige Beziehung zu Sprachen herstellen.

Außerdem wecken Flaggen nationalistische Assoziationen, die für Menschen aus anderen Ländern unangenehm sein können, obwohl sie dieselbe Sprache sprechen.

Flaggen können für Websites angebracht sein, die aufgrund von Regionen unterschieden werden (z.B. amazon.co.uk und amazon.ca). Man sollte sie aber normalerweise vermeiden, wenn man es mit Links zu tun hat, die lediglich Übersetzungen sind.