Standardy · WCAG 2.2

SC 3.1.2 Poziom AA WCAG 2.0

Język części

Jeśli fragment lub wyrażenie na stronie jest w innym języku niż domyślny język strony, należy je oznaczyć atrybutem lang na jego kontenerze — aby czytniki ekranu przełączyły głos i wymowę dla tego fragmentu.

Czego wymaga kryterium

Jeśli zdanie, akapit, cytat blokowy lub śródliniowy fragment na stronie jest w innym języku niż zadeklarowany domyślny język strony, taki fragment musi posiadać własny atrybut lang. Wyjątki: nazwy własne, terminy techniczne, słowa o nieokreślonym języku oraz słowa, które przeszły do języka otaczającego tekstu („rendezvous” w języku angielskim).

Celem jest zapewnienie, aby czytniki ekranu przełączały silniki wymowy na bieżąco — odczytując cytowany fragment po niemiecku głosem niemieckim i wracając do języka polskiego dla otaczającego komentarza.

Jak spełnić wymaganie

  • Należy owinąć obcojęzyczny fragment dowolnym elementem (często <span>, <blockquote>, <q>, <p>) i dodać atrybut lang.
  • Przykład: <p>Motto brzmi <span lang="la">carpe diem</span>.</p> — przy czym „carpe diem” jest zwrotem zapożyczonym i objętym wyjątkiem; reguła dotyczy rzeczywiście obcojęzycznych fragmentów.
  • Długie cytaty należy owijać elementem <blockquote lang="fr"> dla całego cytatu.
  • W przypadku nagłówków wielojęzycznych należy oznaczać każdy segment osobno.
  • Fragmenty pisane od prawej do lewej wewnątrz stron LTR należy uzupełnić o dir="rtl".
  • Pobierając zlokalizowane ciągi z CMS, należy zadbać, aby pole lokalizacji przełożyło się na atrybut lang na wyrenderowanym fragmencie.

Typowe błędy

  • Strona wielojęzyczna z poprawnym atrybutem lang na korzeniu, lecz bez adnotacji dla poszczególnych fragmentów — każdy obcojęzyczny cytat, tytuł piosenki lub referencja odczytywane są błędnym głosem.
  • Oznaczanie nazw własnych atrybutem lang (nadmierne stosowanie) — kryterium wyraźnie zwalnia je z obowiązku.
  • Stosowanie wartości lang="english" lub innych wartości niezgodnych z BCP 47 wewnątrz fragmentu.
  • Dwujęzyczne strony produktowe z tłumaczeniami obok siebie, gdzie tylko jedna kolumna posiada atrybut lang.
  • Serwisy informacyjne cytujące zagranicznych polityków bez owijania cytatu.

Dlaczego to ważne

Bez przełączania języka dla poszczególnych fragmentów czytniki ekranu wymawiają wyrażenia takie jak „merci beaucoup” według reguł fonetycznych języka polskiego — co brzmi zabawnie lub jest niezrozumiałe. Dla użytkowników, którzy opierają się na syntetyzowanej mowie jako podstawowym kanale tekstowym, ma to większe znaczenie niż wygląda — długie artykuły informacyjne, treści akademickie i wielojęzyczne materiały marketingowe stają się wyczerpujące w odbiorze.

Kryterium to jest powszechnie niespełniane nawet w serwisach, które przechodzą pomyślnie kryterium 3.1.1, ponieważ wymaga dyscypliny redakcyjnej na etapie tworzenia treści, a nie tylko zmiany szablonu.