WCAG 2.2 AA: checklista dostępności dla sklepu internetowego
Checklista WCAG 2.2 AA dla sklepów Shopify i WooCommerce: tekst alternatywny, kontrast, etykiety, klawiatura, fokus, rozmiar celu i nowe kryteria 2.2.
Redakcja FixReports10 min czytania
Checklista WCAG 2.2 AA dla sklepu internetowego zaczyna się od błędów, które występują w większości szablonów sklepów: brakujących tekstów alternatywnych, tekstu o zbyt niskim kontraście, linków i przycisków bez dostępnej nazwy, pól formularzy bez etykiet, pułapek klawiaturowych i niewidocznego fokusu. WCAG 2.2 dodaje do tego kryteria poziomu AA, które szczególnie mocno dotykają sklepów: elementy z fokusem ukryte pod przyklejonymi paskami (2.4.11), cele dotykowe mniejsze niż 24 × 24 piksele CSS (2.5.8) oraz logowanie, które wymaga zapamiętywania lub przepisywania informacji (3.3.8). Przetestuj każdy typ strony (stronę główną, kolekcję, produkt, koszyk) za pomocą klawiatury i automatycznego narzędzia, a potem popraw szablony motywu, aby poprawka objęła każdą stronę.
Najważniejsze w skrócie
- WCAG 2.2 uzyskały status rekomendacji W3C 5 października 2023 roku. Obecne wydanie pochodzi z 12 grudnia 2024 roku i zostało zatwierdzone jako norma ISO/IEC 40500:2025 (otwiera się w nowej karcie).
- W raporcie WebAIM Million 2026 (otwiera się w nowej karcie) (dane z lutego 2026 roku) 95,9% stron głównych z pierwszego miliona witryn miało wykrywalne błędy WCAG 2.
- Sześć najczęstszych błędów to tekst o niskim kontraście (83,9% stron), brak tekstu alternatywnego (53,1%), brak etykiet formularzy (51%), puste linki (46,3%), puste przyciski (30,6%) i brak określenia języka strony (13,5%).
- 42 516 stron głównych sklepów Shopify w tej próbie miało średnio 75,1 wykrytego błędu, wobec 56,1 dla wszystkich stron.
- WCAG 2.2 dodają cztery kryteria poziomu AA (2.4.11, 2.5.7, 2.5.8, 3.3.8) i dwa kryteria poziomu A (3.2.6, 3.3.7) oraz usuwają kryterium 4.1.1 Parsing.
Co zmieniło się w WCAG 2.2 dla sklepów internetowych?
WCAG 2.2 wprowadziły dziewięć nowych kryteriów sukcesu, z czego sześć na poziomie A lub AA, i usunęły kryterium 4.1.1 Parsing jako przestarzałe (W3C WAI (otwiera się w nowej karcie)).
| Nowe kryterium | Poziom | Co oznacza w sklepie |
|---|---|---|
| 2.4.11 Focus Not Obscured (Minimum) | AA | Link lub przycisk z fokusem nie może być całkowicie zasłonięty przez przyklejony nagłówek, przyklejony pasek „Dodaj do koszyka”, baner cookie ani widżet czatu |
| 2.5.7 Dragging Movements | AA | Wszystko, co wymaga przeciągania, na przykład suwak zakresu cen, potrzebuje alternatywy obsługiwanej pojedynczym dotknięciem |
| 2.5.8 Target Size (Minimum) | AA | Cele kliknięć i dotknięć mają co najmniej 24 × 24 piksele CSS albo są rozmieszczone tak, że okrąg o średnicy 24 px wokół każdego z nich nie styka się z sąsiednimi |
| 3.2.6 Consistent Help | A | Linki do pomocy, dane kontaktowe lub czat pojawiają się na każdej stronie w tej samej względnej kolejności |
| 3.3.7 Redundant Entry | A | Nie proś o te same informacje dwa razy w ramach jednego procesu; uzupełnij je automatycznie albo pozwól je wybrać |
| 3.3.8 Accessible Authentication (Minimum) | AA | Logowanie nie może zależeć od zapamiętywania lub przepisywania, chyba że istnieje alternatywa albo ułatwienie, takie jak wklejanie i menedżery haseł |
Pozostałe trzy (2.4.12, 2.4.13 i 3.3.9) należą do poziomu AAA. Ponieważ wersja 2.2 zachowuje wszystkie kryteria z wersji 2.1 poza 4.1.1, spełnienie WCAG 2.2 AA oznacza także spełnienie WCAG 2.1 AA.
Które kryteria WCAG najczęściej nie są spełnione w szablonach sklepów?
Co roku pojawia się ta sama garstka: kontrast, tekst alternatywny, etykiety formularzy i nazwy linków oraz przycisków, a do tego problemy z klawiaturą i fokusem, które automatyczne narzędzia wychwytują tylko częściowo.
| Kryterium | Co zawodzi w sklepach | Jak to naprawić |
|---|---|---|
| 1.1.1 Non-text Content (A) | Zdjęcia produktów bez tekstu alternatywnego lub z nazwą pliku jako tekstem alternatywnym; obrazy-linki bez tekstu | Opisz pokazany produkt (kolor, fason, ujęcie). Używaj alt="" tylko dla elementów dekoracyjnych. Motywy Shopify powinny wypisywać image.alt |
| 1.4.3 Contrast (Minimum) (AA) | Jasnoszary tekst główny, tekst zastępczy (placeholder), plakietki promocji, tekst na zdjęciach w sekcji hero | 4,5:1 dla zwykłego tekstu, 3:1 dla dużego tekstu (około 24 px lub 18,5 px pogrubionego) (W3C (otwiera się w nowej karcie)) |
| 2.4.4 Link Purpose (A), 4.1.2 Name, Role, Value (A) | Linki do koszyka, wyszukiwarki i mediów społecznościowych w postaci samych ikon; strzałki slidera; przyciski zamykania „X” bez nazwy | Daj każdemu elementowi sterującemu widoczny tekst albo aria-label, na przykład „Koszyk, 2 produkty” |
| 1.3.1 Info and Relationships (A), 3.3.2 Labels or Instructions (A) | Pola newslettera i wyszukiwarki z samym tekstem zastępczym; pola ilości bez etykiet | Użyj elementu <label for> zgodnego z id pola; pogrupuj próbki wariantów oparte na przyciskach radiowych w fieldset z legend |
| 2.1.1 Keyboard (A), 2.1.2 No Keyboard Trap (A) | Menu działające tylko po najechaniu kursorem, próbki zbudowane z elementów div, wyskakujące okna, których nie da się zamknąć z klawiatury | Używaj prawdziwych elementów button i a; klawisz Escape zamyka nakładki i przywraca fokus |
| 2.4.7 Focus Visible (AA) | outline: none w CSS motywu | Dodaj styl :focus-visible, który wyraźnie odcina się od tła |
WebAIM ustalił też, że co czwarty obraz będący linkiem nie miał tekstu alternatywnego, a 45% obrazów bez tekstu alternatywnego stanowiły linki (WebAIM (otwiera się w nowej karcie)). W siatce kolekcji chodzi zwykle o link na zdjęciu produktu.
Co sprawdzić na stronie głównej?
Sprawdź nagłówek, sekcję hero i wszystko, co wyskakuje, bo z tymi elementami każdy odwiedzający styka się najpierw.
- Link pomijania. Link „Przejdź do treści” jako pierwszy element, który może otrzymać fokus (2.4.1 Bypass Blocks, A).
- Ikony w nagłówku. Ikony wyszukiwarki, konta i koszyka mają dostępne nazwy, a nazwa koszyka zawiera liczbę produktów.
- Menu. Otwiera się klawiszem Enter lub spacją, podpozycje są osiągalne klawiszem Tab, zamyka się klawiszem Escape i nie wymaga najechania kursorem (2.1.1). Wymagania Theme Store (otwiera się w nowej karcie) Shopify mówią, że wszystkie części strony, w tym menu rozwijane, muszą być dostępne z klawiatury.
- Slider w sekcji hero. Jeśli slajdy przesuwają się automatycznie dłużej niż pięć sekund, zapewnij przycisk pauzy (2.2.2 Pause, Stop, Hide, A).
- Pasek ogłoszeń i tekst na zdjęciach. Zmierz kontrast; kolory marki często nie osiągają 4,5:1.
- Wyskakujące okna i banery cookie. Przenieś fokus do wyskakującego okna, dodaj etykietę do pola e-mail, pozwól zamknąć okno klawiszem Escape i upewnij się, że przyklejony baner nigdy całkowicie nie zasłania elementu z fokusem (2.4.11). W3C wymienia właściwość CSS
scroll-paddingjako jeden ze sposobów, aby przyklejone paski nie zasłaniały elementów z fokusem (W3C (otwiera się w nowej karcie)). - Język strony. Element
htmlma poprawny atrybutlang(3.1.1 Language of Page, A).
Co sprawdzić na stronach kolekcji?
Strony kolekcji zwykle zawodzą na kartach produktów, filtrach i próbkach kolorów.
- Karty produktów. Link na zdjęciu ma tekst alternatywny albo zdjęcie jest ukryte przed technologiami wspomagającymi, a nazwę niesie link z tytułem produktu.
- Filtry. Każde pole wyboru ma etykietę, a każda grupa ma nagłówek lub legendę. Panel filtrów da się otworzyć, obsłużyć i zamknąć z klawiatury. Ogłaszaj zaktualizowaną liczbę wyników jako komunikat o stanie (4.1.3 Status Messages, AA).
- Suwaki cen. Dodaj pola liczbowe na cenę minimalną i maksymalną, aby filtr działał bez przeciągania (2.5.7) i bez myszy (2.1.1).
- Próbki kolorów. Każda próbka ma nazwę tekstową, a informacja „wyprzedane” nie jest przekazywana wyłącznie kolorem (1.4.1 Use of Color, A). Próbki mają co najmniej 24 × 24 piksele CSS albo spełniają regułę odstępów (2.5.8).
- Sortowanie i paginacja. Lista rozwijana sortowania ma etykietę; linki do kolejnych stron i przyciski „Pokaż więcej” spełniają wymóg rozmiaru celu.
Co sprawdzić na stronach produktów?
Na stronie produktu zapada decyzja o zakupie, więc przetestuj każdy element sterujący między zdjęciami a przyciskiem „Dodaj do koszyka”.
- Galeria. Każde zdjęcie ma tekst alternatywny, miniatury są przyciskami z nazwami w rodzaju „Pokaż zdjęcie 2”, a strzałki działają bez przeciągania (2.5.7).
- Wybór wariantu. Opcje rozmiaru i koloru znajdują się w grupie z etykietą (1.3.1), wybrana opcja jest udostępniana czytnikom ekranu (4.1.2), a niedostępne rozmiary są oznaczone tekstem.
- Ilość. Pole ma etykietę, a przyciski minus i plus mają nazwy i spełniają kryterium 2.5.8. Theme Store Shopify wymaga obecnie celów dotykowych o rozmiarze co najmniej 24 × 24 piksele CSS, a dobre praktyki dostępności (otwiera się w nowej karcie) Shopify zalecają 44 × 44 dla głównych elementów sterujących.
- Dodaj do koszyka. Komunikaty o powodzeniu i błędach są ogłaszane (4.1.3). Skarga FTC przeciwko dostawcy nakładki dostępności wskazywała witrynę, na której czytnik ekranu nie ogłaszał dodania produktu do koszyka, a grafika z oceną 5 gwiazdek była odczytywana jako przycisk „previous” (skarga FTC (otwiera się w nowej karcie)).
- Oceny, zakładki i akordeony. Oceny mają tekst w rodzaju „4,5 na 5 gwiazdek”. Akordeony informują, czy są rozwinięte.
- Przyklejony pasek „Dodaj do koszyka”. Nie może całkowicie zasłaniać elementu z fokusem, gdy użytkownik klawiatury przechodzi klawiszem Tab w dół strony (2.4.11).
- Wideo. Filmy produktowe z mową mają napisy (1.2.2 Captions (Prerecorded), A).
Co sprawdzić w koszyku i przy logowaniu?
Koszyk to ostatnia strona, nad którą większość motywów ma pełną kontrolę, więc przetestuj go aż do przycisku przejścia do kasy, a potem sprawdź, czy logowanie do konta nie zależy od pamięci ani przepisywania.
- Wysuwany panel koszyka. Fokus przechodzi do panelu, pozostaje w nim, dopóki panel jest otwarty, i wraca na przycisk koszyka, gdy klawisz Escape go zamknie, tak jak opisują to dobre praktyki Shopify.
- Pozycje w koszyku. Każde pole ilości ma etykietę z nazwą produktu, a każdy przycisk usuwania mówi, co usuwa, na przykład „Usuń: Lniana koszula, rozmiar M”.
- Pola kodu rabatowego i uwag. Mają etykiety, a błędy są opisane tekstem (3.3.1 Error Identification, A).
- Przycisk przejścia do kasy. Osiągalny klawiszem Tab, z widocznym fokusem i niezasłonięty przez przyklejone elementy.
- Logowanie (3.3.8). Konta klientów w Shopify domyślnie korzystają z logowania bez hasła za pomocą jednorazowego kodu (otwiera się w nowej karcie). Według W3C kody muszą dać się wkleić lub uzupełnić automatycznie, a blokowanie wklejania lub menedżerów haseł oznacza niespełnienie kryterium; CAPTCHA oparte na rozpoznawaniu obiektów są dopuszczalne na poziomie AA, ale CAPTCHA w formie łamigłówek lub zadań matematycznych wymagają innej metody (W3C (otwiera się w nowej karcie)).
Tu liczą się różnice między platformami. W Shopify plik checkout.liquid nie jest już obsługiwany (otwiera się w nowej karcie) w krokach informacji, wysyłki i płatności, więc większość kodu kasy pochodzi od Shopify, a nie z Twojego motywu; przetestuj aplikacje i modyfikacje kasy, które dodajesz. W WooCommerce kasa jest stroną w Twojej witrynie WordPress. WooCommerce deklaruje, że front-end jego rdzenia jest w znacznym stopniu zgodny z WCAG 2.2 AA (deklaracja zaktualizowana ostatnio 1 kwietnia 2025 roku), ale Twój motyw i wtyczki nadal mogą tę zgodność zepsuć (WooCommerce (otwiera się w nowej karcie)).
Jak przetestować sklep według tej checklisty?
Na każdym typie strony połącz automatyczny skan z zakupem wykonanym wyłącznie za pomocą klawiatury i krótkim sprawdzeniem czytnikiem ekranu.
- Automatyczny skan. Narzędzia takie jak axe, WAVE czy Lighthouse wychwytują problemy z kontrastem, tekstem alternatywnym, etykietami i pustymi linkami. Theme Store Shopify wymaga średniego wyniku dostępności w Lighthouse na poziomie co najmniej 90 na stronie głównej, stronach kolekcji i stronach produktów. To minimum, a nie zgodność: W3C podkreśla, że narzędzia nie są w stanie samodzielnie ocenić dostępności (otwiera się w nowej karcie).
- Zakup tylko z klawiatury. Bez użycia myszy przejdź ze strony głównej do produktu przez menu lub wyszukiwarkę, użyj filtrów, wybierz wariant, dodaj produkt do koszyka, otwórz koszyk i dotrzyj do przycisku przejścia do kasy.
- Wyrywkowe sprawdzenie czytnikiem ekranu. Za pomocą VoiceOver lub NVDA odsłuchaj nazwę produktu, cenę, stan wariantu i potwierdzenie dodania do koszyka.
- Ponowny test po zmianach. Aktualizacje motywu i nowe aplikacje mogą cofnąć poprawki.
Nasz bezpłatny skan obejmuje krok 1 na stronie głównej, stronie kolekcji, stronie produktu, koszyku i stronie z treścią, w prawdziwej przeglądarce Chromium z axe-core. Raport naprawy dostępności testuje do 25 stron, dodaje krok 2 w postaci testu zakupów wyłącznie z klawiatury aż do przycisku przejścia do kasy, podaje kod w wersji przed i po poprawce oraz zawiera checklistę do kroku 3, który wymaga człowieka z czytnikiem ekranu. Żadne z nich nie gwarantuje zgodności z ADA ani z WCAG.
Najczęściej zadawane pytania
Czy WCAG 2.2 są prawnie wymagane w sklepach internetowych w USA?
Departament Sprawiedliwości USA nie ma rozporządzenia wydanego na podstawie ADA, które określałoby standard internetowy dla prywatnych firm, a jego wytyczne dotyczące stron internetowych z 2022 roku (otwiera się w nowej karcie) wskazują WCAG jako pomocne źródło wskazówek. Pisma z żądaniami (demand letters) często powołują się na WCAG 2.1 lub 2.2 AA, więc o swoich konkretnych obowiązkach porozmawiaj z prawnikiem.
Czy spełnienie WCAG 2.2 AA oznacza też spełnienie WCAG 2.1 AA?
Tak, w praktyce tak. WCAG 2.2 zachowują wszystkie kryteria sukcesu WCAG 2.1 z wyjątkiem 4.1.1 Parsing, które W3C usunęło jako przestarzałe.
Jaki jest minimalny rozmiar celu w WCAG 2.2?
Zgodnie z kryterium 2.5.8 cele muszą mieć co najmniej 24 × 24 piksele CSS, chyba że okrąg o średnicy 24 px wyśrodkowany na każdym mniejszym celu nie styka się z innymi celami ani z ich okręgami. Wyjątki obejmują linki w zdaniach, niestylizowane elementy sterujące przeglądarki, prezentacje, w których dany wygląd jest niezbędny, oraz cele, dla których istnieje równoważny element sterujący spełniający wymóg.
Czy wynik 100 w audycie dostępności Lighthouse oznacza, że mój sklep jest zgodny z WCAG?
Nie. Automatyczne narzędzia wykrywają tylko część błędów, a WebAIM zaznacza, że brak wykrytych błędów nie oznacza, że strona jest dostępna lub zgodna.
Czy logowanie hasłem narusza kryterium 3.3.8?
Samo w sobie nie. Pole hasła spełnia kryterium, gdy można do niego wkleić tekst i użyć menedżera haseł; naruszeniem jest dopiero blokowanie wklejania lub autouzupełniania.
Jak często należy ponownie testować sklep?
Testuj ponownie po każdej aktualizacji motywu, instalacji nowej aplikacji lub większej zmianie szablonu i regularnie sprawdzaj wyrywkowo ścieżkę zakupu, bo aplikacje mogą bez ostrzeżenia dodawać nowy kod.
Źródła
- Web Content Accessibility Guidelines (WCAG) 2.2 (otwiera się w nowej karcie), W3C, rekomendacja z 12 grudnia 2024
- What's New in WCAG 2.2 (otwiera się w nowej karcie), W3C Web Accessibility Initiative, 5 października 2023
- WCAG 2.2 Approved as an ISO Standard (otwiera się w nowej karcie), W3C Web Accessibility Initiative, 21 października 2025
- How to Meet WCAG 2.2 (Quick Reference) (otwiera się w nowej karcie), W3C Web Accessibility Initiative, dostęp 22 października 2026 (poziomy zgodności)
- Understanding SC 1.4.3 Contrast (Minimum) (otwiera się w nowej karcie), SC 2.4.11 Focus Not Obscured (Minimum) (otwiera się w nowej karcie), SC 2.5.8 Target Size (Minimum) (otwiera się w nowej karcie) i SC 3.3.8 Accessible Authentication (Minimum) (otwiera się w nowej karcie), W3C Web Accessibility Initiative, dostęp 22 października 2026
- Selecting Web Accessibility Evaluation Tools (otwiera się w nowej karcie), W3C Web Accessibility Initiative, aktualizacja 13 maja 2024
- The WebAIM Million: 2026 report (otwiera się w nowej karcie), WebAIM, dane z lutego 2026, ostatnia aktualizacja 30 marca 2026
- Theme Store requirements (otwiera się w nowej karcie), Shopify, dostęp 22 października 2026
- Accessibility best practices for Shopify themes (otwiera się w nowej karcie), Shopify, dostęp 22 października 2026
- checkout.liquid (otwiera się w nowej karcie), Shopify, dostęp 22 października 2026
- Sign-in options for customer accounts (otwiera się w nowej karcie), Shopify Help Center, dostęp 22 października 2026
- Accessibility in WooCommerce (otwiera się w nowej karcie), WooCommerce, deklaracja zaktualizowana ostatnio 1 kwietnia 2025
- accessiBe complaint (otwiera się w nowej karcie), Federal Trade Commission, 3 stycznia 2025
- Guidance on Web Accessibility and the ADA (otwiera się w nowej karcie), U.S. Department of Justice, 18 marca 2022
Wszystkie poradniki
- Akt o dostępności (EAA) a sklep internetowy od czerwca 2025Od 28 czerwca 2025 r. EAA obejmuje e-sklepy sprzedające konsumentom w UE. Kogo dotyczy, zwolnienie mikrofirm, EN 301 549, WCAG i wymagane informacje.
- Checklista karty produktu: co zniechęca klientów do zakupuChecklista karty produktu wg badań Baymard i WebAIM: cena, dostawa, zwroty, zdjęcia, opinie, koszyk na telefonie, pop-upy, wyszukiwarka, klawiatura.
- Checklista technicznego SEO dla sklepu internetowegoAudyt technicznego SEO sklepu Shopify i WooCommerce: noindex, robots.txt, mapa witryny, title, H1, canonical, dane strukturalne Product, Open Graph i alt.