Nowy standard WCAG 2.2 - szczegółowe porównanie z wersją 2.1

W październiku 2023 roku W3C opublikowało WCAG 2.2 - najnowszą wersję wytycznych dostępności. Standard wprowadza 9 nowych kryteriów sukcesu, a jedno kryterium z wersji 2.1 zostało usunięte. Szczegółowa analiza wszystkich zmian.

Główne założenia WCAG 2.2

WCAG 2.2 zachowuje pełną zgodność wsteczną z wersją 2.1, co oznacza że strony spełniające wymogi 2.1 są również zgodne z 2.2 - z wyjątkiem sytuacji, gdy naruszają któreś z nowych kryteriów lub korzystają z usuniętego kryterium 4.1.1 Parsing. Standard skupia się przede wszystkim na potrzebach użytkowników urządzeń mobilnych, osób z zaburzeniami poznawczymi oraz użytkowników z ograniczeniami wzroku.

Nowe kryteria i zmienione gryteria w WCAG 2.2

2.4.11 Focus Not Obscured (Minimum) - poziom AA: To całkowicie nowe kryterium, którego nie było w WCAG 2.1. Wymaga, aby element posiadający fokus klawiatury nie był całkowicie przesłonięty przez inne elementy interfejsu, takie jak sticky headery, modalne okna czy powiadomienia. Przynajmniej część wskaźnika fokusa musi pozostać widoczna. Kryterium jest na poziomie AA, co oznacza że staje się obowiązkowe dla standardowej zgodności z WCAG.

2.4.12 Focus Not Obscured (Enhanced) - poziom AAA: Rozszerzona wersja poprzedniego kryterium - również nowość w WCAG 2.2. Na poziomie AAA wymaga, aby element z fokusem był w pełni widoczny, bez jakiegokolwiek zasłonięcia przez inne elementy strony. To wyższy standard niż minimalna wersja, ale nie jest obowiązkowy dla zgodności na poziomie AA.

2.4.13 Focus Appearance - poziom AAA: W WCAG 2.1 istniało kryterium 2.4.7 Focus Visible na poziomie AA, które wymagało aby fokus klawiatury był widoczny i pozostaje ono bez zmian. Nowe kryterium 2.4.13 w WCAG 2.2 jest znacznie bardziej szczegółowe - określa minimalny rozmiar wskaźnika fokusa (minimum obszar równoważny obwódce grubości 2 pikseli CSS wokół elementu) oraz minimalny kontrast (co najmniej 3:1 pomiędzy pikselami fokusa w stanie aktywnym i nieaktywnym). Przeniesienie tak szczegółowych wymogów na poziom AAA oznacza, że nie są obowiązkowe dla standardowej zgodności.

2.5.7 Dragging Movements - poziom AA: Całkowita nowość w WCAG 2.2 na poziomie AA. Wymaga, aby każda funkcja oparta na przeciąganiu (drag and drop) miała alternatywę w postaci prostego kliknięcia, dotknięcia lub obsługi klawiaturą. Kryterium pomaga osobom z ograniczeniami motorycznymi, które mają trudności z precyzyjnym wykonywaniem gestów przeciągania.

2.5.8 Target Size (Minimum) - poziom AA: W WCAG 2.1 istniało kryterium 2.5.5 Target Size na poziomie AAA, które wymagało minimalnego rozmiaru klikalnych elementów wynoszącego 44×44 piksele CSS. WCAG 2.2 wprowadza nowe kryterium 2.5.8 na poziomie AA z łagodniejszymi wymaganiami - minimalny rozmiar 24×24 piksele CSS. Kryterium przewiduje wyjątki: gdy element ma odpowiedni odstęp od innych klikalnych elementów (spacing), gdy alternatywna kontrolka osiąga wymagany rozmiar, gdy rozmiar jest kontrolowany przez przeglądarkę lub gdy rozmiar jest niezbędny dla przekazu informacji. Zmiana ta jest praktyczna - łagodniejsze wymogi przeniesiono na obowiązkowy poziom AA, podczas gdy surowe wymaganie 44×44 pikseli pozostało na poziomie AAA w kryterium 2.5.5.

3.2.6 Consistent Help - poziom A: Nowość w WCAG 2.2 na podstawowym poziomie A. Wymaga, aby mechanizmy pomocy (dane kontaktowe, numer telefonu, email, chat na żywo, formularz kontaktowy, opcje samoobsługi) były konsekwentnie umieszczone w tej samej względnej lokalizacji na wszystkich stronach serwisu, gdzie się pojawiają. Kryterium nie wymaga obecności pomocy na każdej stronie, ale jeśli już występuje, musi być w przewidywalnym miejscu.

3.3.7 Redundant Entry - poziom A: Całkowicie nowe kryterium na poziomie A. Zabrania wymagania od użytkownika ponownego wprowadzania tych samych informacji w ramach jednej sesji lub procesu, chyba że jest to konieczne ze względów bezpieczeństwa, gdy dane uległy zmianie lub gdy użytkownik sam chce wprowadzić dane ponownie. System powinien automatycznie uzupełniać lub oferować możliwość wyboru wcześniej wprowadzonych informacji.

3.3.8 Accessible Authentication (Minimum) - poziom AA: Nowe kryterium, którego nie było w WCAG 2.1. Zabrania stosowania testów poznawczych lub funkcji rozpoznawania jako jedynej metody uwierzytelniania, chyba że test polega na rozpoznaniu obiektów, wprowadzeniu treści osobistych (nie będących hasłem) lub gdy dostępna jest alternatywna metoda bez testu poznawczego. Praktycznie oznacza to, że CAPTCHA z rozpoznawaniem obrazów lub tekstów musi mieć alternatywę.

3.3.9 Accessible Authentication (Enhanced) - poziom AAA: Również nowość w WCAG 2.2, bardziej restrykcyjna niż wersja minimalna. Całkowicie zakazuje testów poznawczych lub rozpoznawania w procesie logowania, z wyjątkiem wprowadzania treści osobistych lub wyboru obiektów. Znajduje się na poziomie AAA, więc nie jest wymagana dla standardowej zgodności.

4.1.1 Parsing - usunięte z WCAG 2.2: WCAG 2.2 usuwa kryterium 4.1.1 Parsing, które w wersji 2.1 było na poziomie A. Kryterium wymagało poprawnego parsowania kodu HTML przez przeglądarki. Zostało usunięte, ponieważ nowoczesne przeglądarki radzą sobie z błędami składniowymi HTML na tyle dobrze, że wymóg ten stał się nieaktualny i nie wpływa znacząco na dostępność w praktyce.

Podsumowanie zmian

WCAG 2.2 wprowadza 9 nowych kryteriów sukcesu: trzy na poziomie A (3.2.6, 3.3.7, 3.3.8), pięć na poziomie AA (2.4.11, 2.5.7, 2.5.8, 3.3.8) i trzy na poziomie AAA (2.4.12, 2.4.13, 3.3.9). Jedno kryterium zostało usunięte (4.1.1). Większość zmian koncentruje się na użytkownikach mobilnych i osobach z zaburzeniami poznawczymi, a także na usprawnieniu nawigacji klawiaturowej.