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
langprzy ż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
langz nieprawidłowym kodem, np.lang="ua"albolang="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ć
langdo 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:
ukdla ukraińskiego,en-USz łącznikiem, a nie podkreśleniem. - Jeśli odwiedzający mają skopiowany tekst czytać, lepiej go przetłumaczyć, niż tylko oznaczyć.
Powiązane kryteria
- 3.1.1 Język strony — domyślny język strony.
- 4.1.2 Nazwa, rola, wartość — dostępne nazwy odczytywane przez technologie wspomagające.
- Wszystkie reguły, które sprawdza nasz skaner.
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ę.