Przejdź do treści
Pandus

WCAG 3.1.2 Język części

Zaktualizowano 14 października 2026 · 2 min czytania

Poziom
AA · WCAG 2.0
EN 301 549
9.3.1.2
Co sprawdza checker
Częściowo automatycznie: Część tekstu ma błędny kod języka
Oficjalny tekst
Understanding 3.1.2 Language of Parts (W3C, po angielsku)

Kryterium sukcesu 3.1.2 pomaga osobom korzystającym z czytników ekranu, monitorów brajlowskich lub syntezy mowy. Gdy język zmienia się wewnątrz strony, oprogramowanie powinno zmienić też wymowę; w przeciwnym razie polska opinia klienta na angielskiej stronie zostanie odczytana według angielskich reguł i zamieni się w szum. To poziom AA, a norma EN 301 549 zawiera je jako punkt 9.3.1.2.

Czego wymaga kryterium

Język naturalny każdego fragmentu lub zwrotu musi być możliwy do programowego określenia. W HTML dodaje się atrybut lang do elementu zawierającego tekst w innym języku, np. <blockquote lang="de">…</blockquote> lub <span lang="fr">…</span>. Tekst bez własnego lang dziedziczy język strony z 3.1.1.

Zwrotem może być pojedyncze słowo. Oficjalne wyjątki:

  • nazwy własne (nazwy marek, produktów i miejsc);
  • terminy techniczne;
  • słowa o nieokreślonym języku;
  • słowa lub zwroty, które weszły do języka potocznego otaczającego tekstu, np. „café” czy „know-how” w języku angielskim.

Typowe błędy w sklepie internetowym

  • przełącznik języka wymienia „Deutsch”, „Polski”, „Українська” bez lang przy żadnym z linków;
  • opinie klientów lub zaimportowane opisy dostawcy w innym języku wyświetlane na stronie produktu;
  • informacje prawne, tabele rozmiarów lub instrukcje pielęgnacji skopiowane w innym języku;
  • hasło reklamowe po angielsku w niemieckim sklepie, napisane jako pełne zdanie;
  • atrybut lang z nieprawidłowym kodem, np. lang="ua" albo lang="en_US".

Jak to sprawdzić

Automatycznie: nasz skaner uruchamia regułę valid-lang, która zgłasza atrybuty lang, których wartość nie jest prawidłowym kodem języka. Nie wykryje tekstu w innym języku, który nie ma atrybutu lang — to częstszy błąd i wymaga kontroli ręcznej.

Ręcznie: przeczytać szablon strony, stopkę i przełącznik języka, a potem kilka stron produktów z opiniami. Przy każdym zdaniu lub zwrocie w innym języku (poza powyższymi wyjątkami) sprawdzić element i upewnić się, że ma właściwą wartość lang.

Jak to naprawić

  • Dodać lang do każdego linku w przełączniku języka, zgodnie z językiem jego etykiety.
  • Opakować opinie lub opisy w innym języku w element z lang; jeśli opinie pochodzą z aplikacji, sprawdzić, czy potrafi ona przekazać język opinii.
  • Używać prawidłowych kodów: uk dla ukraińskiego, en-US z łącznikiem, a nie podkreśleniem.
  • Jeśli odwiedzający mają skopiowany tekst czytać, lepiej go przetłumaczyć, niż tylko oznaczyć.

Powiązane kryteria

Najczęstsze pytania

Czy trzeba oznaczać każde obce słowo?

Nie. Nazwy własne, terminy techniczne, słowa o nieokreślonym języku i słowa, które weszły do języka otaczającego tekstu, są zwolnione. Oznaczenia wymaga całe zdanie lub fragment w innym języku.

Czy przełącznik języka potrzebuje atrybutów lang?

Zwykle tak. Linki takie jak „Deutsch” czy „Polski” na stronie angielskiej to słowa w innym języku, więc każdy powinien mieć własny atrybut lang, np. lang="de".

Co znajduje automatyczna kontrola w przypadku 3.1.2?

Znajduje atrybuty lang z nieprawidłowymi wartościami. Nie znajdzie tekstu w innym języku, który w ogóle nie ma atrybutu lang; do tego potrzebny jest człowiek, który przeczyta stronę.