Czy model językowy może zastąpić audytora dostępności? Katarzyna Basiewicz, testerka z certyfikatem IAAP CPACC, postanowiła to sprawdzić na polskim materiale. Przez kilka tygodni testowała dostępność trzech sklepów internetowych, a obok niej tę samą pracę wykonywał model Claude. Wynik nie jest ani triumfem AI, ani jej porażką. To raczej dokładna mapa tego, do czego takie narzędzie się nadaje.
Jak wyglądało badanie
W badaniu porównano trzy bardzo różne sklepy:
- Allegro, lidera polskiego e-commerce, zbudowanego na frameworku JavaScript z własnym design systemem Metrum,
- Formeds, sklep z suplementami na Shopify z widocznie zadbanymi podstawami dostępności,
- Apteline, aptekę internetową z niestandardową ścieżką zakupu.
W każdym sklepie sprawdzono cztery widoki: stronę główną, kartę produktu, koszyk i checkout. Testy objęły pięć scenariuszy: nawigację strukturalną z VoiceOver, obrazy i przyciski, obsługę klawiaturą, kontrast oraz komponenty dynamiczne, takie jak modale, listy rozwijane i karuzele. Łącznie oceniono 35 kryteriów WCAG 2.1 na poziomach A i AA. Zasada była prosta: najpierw analizę robił człowiek, potem AI, i żadna ze stron nie widziała wyników drugiej przed zakończeniem pracy.
Liczby: gdzie AI trafia, a gdzie pudłuje
Autorka posłużyła się dwiema miarami. Recall mówi, jaką część błędów znalezionych przez człowieka wykryło też AI. Precision mówi, jaka część zgłoszeń AI to rzeczywiste błędy.
- Nawigacja strukturalna: recall 75%, precision 57%.
- Obrazy i przyciski: recall 82%, precision 48%.
- Klawiatura: recall 25%, precision 59%.
- Kontrast: recall 39%, ale precision aż 90%.
- Komponenty dynamiczne: recall 51%, precision 63%.
AI najlepiej radzi sobie z semantyką statyczną, czyli nagłówkami, landmarkami, tekstami alternatywnymi i etykietami. Przy dużej skali bywa nawet lepsze od człowieka. Na stronie z 223 linkami wykryło osiem nieoznaczonych linków otwierających nową kartę. Za to przy testach klawiaturowych niemal zawodzi: trzy na cztery błędy pozostały dla niego niewidoczne. Przy kontraście znajdowało mniej niż połowę problemów, ale prawie zawsze trafnie. Przy niskiej precyzji w scenariuszu obrazów i przycisków ponad połowa zgłoszeń AI wymagała odrzucenia przez człowieka.
Trzy lekcje z konkretnych błędów
Kod mówi jedno, zachowanie drugie. Koszyk Formeds otwiera się jako wysuwany panel z poprawnymi atrybutami role="dialog" i aria-modal="true". AI uznało strukturę za prawidłową. Test ręczny pokazał, że fokus zostaje pod panelem, Tab wędruje po stronie w tle, a przycisk zamknięcia jest niedostępny z klawiatury. Autorka podsumowuje to tak: ARIA deklaruje zachowanie, a JavaScript je realizuje albo nie.
Fałszywy alarm przez framework. W menu „Moje Allegro” AI zgłosiło brak atrybutów ARIA w komponencie zakładek. Okazało się, że framework wstrzykuje je dopiero w przeglądarce, a test z VoiceOver potwierdził, że komponent działa poprawnie. Analiza statycznego HTML nie widzi tego, co powstaje w czasie działania strony.
Dobre kryterium, zła diagnoza. Na Apteline AI zgłosiło błąd nazwy i roli elementu. W rzeczywistości ten element w ogóle nie był osiągalny klawiszem Tab, czyli problem leżał gdzie indziej.
Czego AI nie sprawdzi bez człowieka
Najbardziej wymowny jest checkout. Bez aktywnej sesji model widział formularz logowania zamiast podsumowania zamówienia. Dopiero test ręczny ujawnił na Apteline naruszenie kryterium 3.3.4 (zapobieganie błędom): kliknięcie „Zamawiam” od razu finalizuje zamówienie, bez kroku weryfikacji. To błąd projektowy, a nie błąd w kodzie, i automat go nie wychwyci.
AI miało też swoje sukcesy. W design systemie Allegro wskazało błąd kontrastu w okruszkach nawigacyjnych (współczynnik 2,71:1 przy wymaganym 4,5:1), który przegapiły narzędzia WAVE i ANDI, bo nie radziły sobie z łańcuchem przezroczystych teł.
Praktyczne wnioski dla firm
1. Używaj AI jako przesiewu, nie jako wyroku. Dobrze sprawdza się w szybkim przeglądzie semantyki dużych stron. Każde jego zgłoszenie wymaga jednak weryfikacji w kontekście.
2. Testy klawiaturowe rób zawsze ręcznie. Przy recall na poziomie 25% człowiek nie jest tu weryfikatorem AI, tylko jedynym wiarygodnym źródłem wyników.
3. Testuj żywą stronę, nie sam kod. Strony oparte na frameworkach JS trzeba sprawdzać w przeglądarce, z czytnikiem ekranu. Analiza statycznego HTML daje fałszywe alarmy i przeoczenia.
4. Zapewnij testerowi zalogowaną sesję. Bez tego najważniejsza część sklepu, czyli płatność, pozostanie niezbadana. Właśnie tam bariery najbardziej szkodzą.
5. Łącz trzy warstwy. Autorka proponuje schemat dla kontrastu, który sprawdza się szerzej: automat do szybkiego przesiewu, AI do trudniejszych przypadków, a człowiek do gradientów, obrazów i stanów dynamicznych.
6. Platforma nie gwarantuje dostępności. Sklep na Shopify miał wzorową strukturę ARIA i jednocześnie kilka błędów obsługi fokusu na jednej stronie produktu.