Dostępnik o języku w WCAG
Pospierać się z kimś takim jak Tomasz Piekot to zaszczyt. A poprawiać kogoś takiego, jak Tomasz Piekot to ryzyko, które podjąłem!
Na konferencji “Prosto i zrozumiale” 10 czerwca usłyszałem tezę, z którą nie mogłem się zgodzić. Prof. Tomasz Piekot, jeden z najwybitniejszych polskich badaczy języka i propagator prostej polszczyzny, stwierdził, że WCAG reguluje dostępność językową wyłącznie w wytycznej 3.1. Jak mógłbym nie skorzystać z szansy na wymądrzanie się!? Zobowiązałem się też, że opiszę ten temat w Dostępniku i oto jest.
Profesor Piekot jest w obszarze prostego języka autorytetem. Rozumie, co WCAG 3.1 nakazuje, i wie, jak tłumaczyć to na codzienną pracę redaktora. Ale WCAG to dokument o wiele bogatszy, niż wskazuje sama numeracja rozdziałów. Język jest w nim obecny niemal wszędzie. Tylko trzeba wiedzieć, gdzie go szukać.
Wytyczna 3.1 — tu się zgadzamy
Wytyczna 3.1 to oczywisty dom języka w WCAG. Sześć kryteriów, które wprost regulują warstwę lingwistyczną:
· 3.1.1 i 3.1.2 nakazują deklarowanie kodu języka strony i jej fragmentów. Bez tego syntezator mowy czyta polskie zdania z obcym akcentem — tekst staje się bełkotem zanim czytelnik dotrze do meritum. Brak lub błędna deklaracja języka myli automatycznych tłumaczy, bo tłumaczy język polski na język polski, jakby to był angielski. Polski “but” zapewne okaże się wtedy słowem “ale”.
· 3.1.3 Rzadkie słowa — żargon, metafory i idiomy wymagają wyjaśnienia lub unikania. Idiom “powiesić na stronie” nic nie znaczy dla osoby posługującej się przede wszystkim językiem migowym. To dość częsty problem — język pisany jest pełen takich zwrotów, których nie zauważamy, dopóki ktoś nie zapyta, co dokładnie mają znaczyć.
· 3.1.4 Objaśnienia skrótów — tak samo, osobne kryterium dla skrótowców i akronimów. Skrót “PFRON” bez rozwinięcia przy pierwszym użyciu to bariera poznawcza. To dość częsty problem, a ja na różnych warsztatach lubię pytać, co oznacza skrót RPO. Odpowiedzi są różne, w zależności od grupy.
· 3.1.5 Poziom czytania — serce idei plain language. Kryterium mówi, że tekst (po usunięciu nazw własnych i tytułów) nie powinien wymagać od odbiorcy umiejętności czytania na poziomie wyższym niż gimnazjalny — a jeśli wymaga, potrzebna jest dodatkowa treść wyjaśniająca albo prostsza wersja.
· 3.1.6 Wymowa — dla przypadków, gdy wymowa decyduje o znaczeniu słowa (w polskim: zapożyczenia, specyficzne konstrukcje). Ja wiem o “cis”, ale Piotrek Szumowski zapewnia, że chodzi też o słowo “Dania”.
Z tymi sześcioma kryteriami wszyscy się zgadzamy. Ale WCAG liczy 78 kryteriów sukcesu. Gdzie w pozostałych 72 jest język?
Język jako narzędzie działania
Tu robi się ciekawiej. Istnieje cała warstwa kryteriów, w których język nie jest celem samym w sobie — jest narzędziem interakcji. Decyduje o tym, czy użytkownik może w ogóle obsługiwać interfejs.
Cel linku (2.4.4 i 2.4.9). Linki “kliknij tutaj”, “więcej” i “czytaj dalej” to nie kwestia estetyki — to błąd dostępności. Osoba korzystająca z czytnika ekranu słyszy listę linków bez kontekstu strony. “Kliknij tutaj” siedem razy z rzędu nie mówi nic. Wybór słów ma tu bezpośrednie przełożenie na możliwość nawigacji.
Nagłówki i etykiety (2.4.6). Nagłówek sekcji to językowa zapowiedź tego, co jest dalej. Jeśli napisano “Informacje” zamiast “Jak złożyć wniosek”, użytkownik nie wie, gdzie zmierza. Sama obecność nagłówka wystarczy do zaliczenia innego kryterium (1.3.1), ale 2.4.6 wymaga, żeby nagłówek coś znaczył. I to też jest w regułach prostego języka. Analogicznie jest z etykietami w formularzach. Etykieta “Login” oznacza coś ogólnego. To może być adres email, numer telefonu, nick lub jakiś konkretny ciąg znaków, jak w banku.
Etykieta w nazwie (2.5.3). To kryterium kluczowe dla sterowania głosem. Użytkownik Dragon NaturallySpeaking mówi “kliknij Wyślij wiadomość”, bo tak jest napisane na przycisku. Jeśli zakodowana nazwa przycisku to “btn-submit”, komenda głosowa nie zadziała. Język wizualny i techniczny muszą być tożsame — to nie jest zalecenie UX, to wymóg WCAG.
Spójna nawigacja i identyfikacja (3.2.3 i 3.2.4). Jeśli na jednej podstronie wyszukiwarka jest podpisana “Szukaj”, a na drugiej “Znajdź produkt” — to nie jest tylko problem brandingowy. To naruszenie WCAG. Spójność terminologiczna to wymóg techniczny, nie redakcyjny kaprys. Taka jednoznaczność istotnie pomaga w zrozumieniu interfejsu, a dla ETR jest jedną z kluczowych reguł.
Komunikaty o błędach i instrukcje (3.3.1, 3.3.2, 3.3.3). “Błąd aplikacji 0x800” to informacja dla programisty, nie dla użytkownika. WCAG wymaga, żeby komunikat o błędzie mówił w ludzkim języku: co poszło nie tak i jak to naprawić. To język jako dialog systemu z człowiekiem — i jest tak samo ważny, jak czytelność artykułu.
Język ukryty w strukturze
To najtrudniejszy poziom. Kryteria, w których język w ogóle nie jest wymieniony z nazwy, ale stanowi ich sedno.
Treść nietekstowa (1.1.1). Opis alternatywny (alt) to językowy przekład informacji wizualnej. Zdjęcie z konferencji to nie “zdjęcie grupy ludzi” — to konkretny opis tego, co się dzieje i kto jest na zdjęciu. Dobór słów w atrybucie alt decyduje, czy osoba niewidoma otrzymuje ten sam komunikat co osoba widząca. To jest redakcja tekstu — tylko zamiast na ekranie, ukryta w kodzie. I tak samo jak widoczny tekst, powinien być zredagowany poprawnie językowo (ortografia, gramatyka, interpunkcja).
Informacje i relacje (1.3.1). Semantyczne oznaczanie treści — <main>, <nav>, nagłówki hierarchiczne — to architektura językowa dokumentu. Powiedzmy to wprost: jeśli treść główna nie jest oznaczona znacznikiem <main>, technologia i człowiek może mieć poważny problem w rozpoznaniu, gdzie kończy się “szum” nawigacyjny i zaczyna właściwy tekst. Wytyczna 3.1 każe pisać prostym językiem — kryterium 1.3.1 każe właściwie oznaczyć, gdzie ten tekst w ogóle jest. W prostym języku oczekujemy, żeby najważniejsza część dokumentu (na przykład decyzja) była na początku. Wtedy można ją łatwo odnaleźć. Z kolei zaśmiecacze (przypisy, noty prawne, numery spraw) powinny być wywalone na koniec. W technologiach cyfrowych możemy łatwo wskazać, co jest kluczowe, co powtarzalne, a co poboczne. I wtedy można nacisnąć F9 i robi się milej.
Czytelna kolejność (1.3.2). Złe ułożenie kodu strony wielokolumnowej sprawia, że syntezator czyta zdania nie w kolejności, w jakiej powinny być czytane, ale w kolejności, w jakiej trafiły do HTML-a. Logiczne zdanie tnie się na fragmenty i miesza z innymi akapitami. Architektura kodu decyduje o tym, czy język w ogóle dociera do odbiorcy jako spójny przekaz.
WCAG jest słownikiem, nie podręcznikiem
Mam dla prof. Piekota pełen szacunek — i cieszę się, że był na tej konferencji i że w Polsce mamy kogoś, kto tak skutecznie promuje prosty język. Ale myślę, że różni nas nie wiedza, lecz punkt wyjścia.
Profesor Piekot patrzy na WCAG od strony językoznawcy: szuka kryteriów, które wprost regulują to, co on bada. I faktycznie — wytyczna 3.1 jest jego domem w tym dokumencie.
Ja patrzę na WCAG od strony użytkownika technologii asystujących i specjalisty dostępności. Widzę, w ilu miejscach błąd językowy powoduje, że coś po prostu nie działa. Nieczytelny nagłówek to nie tylko zły styl — to utrudniony dostęp do treści. Złe alt to cisza zamiast informacji. Niespójna terminologia to dezorientacja zamiast nawigacji. Błędny komunikat o błędzie to użytkownik, który nie wie, co zrobić dalej.
WCAG nie jest podręcznikiem prostego języka. Ale jest dokumentem, który w kilkunastu różnych miejscach stwierdza to samo: słowa mają znaczenie, muszą być precyzyjne, spójne i zrozumiałe. Prosty język zaczyna się od wytycznej 3.1 — ale na niej się nie kończy.
I dlatego warto, żeby językoznawcy i specjaliści dostępności częściej ze sobą rozmawiali.
Wieści o dostępności
Dostępny vibe coding — 25 czerwca 2026, Gdynia – warsztat o tworzeniu dostępnych stron internetowych z pomocą AI, w nietypowym miejscu: Akwarium Gdyńskim, wśród rafy koralowej. Inicjatywa AIMused stawia sobie za cel zwiększanie dostępności atrakcji turystycznych, muzeów i instytucji kultury. Nie trzeba mieć wcześniejszego doświadczenia z “vibecodingiem”, warto zabrać laptopa. Zapisz się na warsztat.
Ankieta pisana prostym językiem – Ogólnopolski Panel Badawczy Ariadna prowadzi anonimowe badanie, które sprawdza, czy urządzenia do płacenia kartą w sklepach są wygodne w użyciu. Sama ankieta to ładny przykład prostego języka w praktyce: krótkie zdania, wyjaśnienie pojęcia “terminal płatniczy”, zapewnienie o anonimowości — dokładnie w duchu dzisiejszego numeru. Wypełnij ankietę.
Jeśli temat z dzisiejszego numeru — język jako element interfejsu, nie tylko stylu — zainteresował cię na poziomie kodu, to dobry moment, żeby zajrzeć na kurs semantycznego HTML Wojtka Kutyły. Wojtek tłumaczy, dlaczego znacznik ma znaczenie zanim dojdzie do treści — a to dokładnie ta sama logika, o której piszę wyżej przy oznaczeniach semantycznych treści: <main>, <aside>, <nav> i innych landmarkach.
ARIA 1.3 z obsługą brajla – W3C kontynuuje prace nad kolejną wersją specyfikacji ARIA, która ma rozszerzyć obsługę wyjścia brajlowskiego. To temat, który rzadko trafia do nagłówków, a ma realne znaczenie dla osób korzystających z monitorów brajlowskich. Status prac możesz śledzić na stronie aktualizacji W3C WAI.
WCAG-EM 2.0 w drodze – nowa wersja metodyki oceny zgodności z WCAG ma w planach objąć też aplikacje mobilne, nie tylko strony internetowe. Wersja robocza jest już dostępna do wglądu na stronie W3C — dla każdego, kto prowadzi audyty, to dokument warty obserwowania.
I to by było na tyle. Lato się zaczęło, a ja wyjeżdżam z Ewą i Staszkiem nad morze. Zabieram komputer, bo mam pomysły na 2 kolejne numery. Może się jednak zdarzyć, że tak się rozleniwię, że nie doczekasz się niczego. Afera z zablokowaniem modeli Mythos i Fable przez Donalda Trumpa może przynieść dobre owoce. Spodziewam się, że Europa wreszcie zauważy uzależnienie od USA i Chin. A przecież są tu mądrzy i wykształceni ludzie i może francuski Mistral nie będzie jedynym sensownym dużym dostawcą AI z Europy. Trzymam kciuki. No i na pohybel Putinowi. Trzymaj się ciepło, ale z zimnym drinkiem w dłoni.

