Jak zapewne część z Was wie, Michał Buczek i Radek Smilgin intensywnie pracują nad automatyzacją testów dostępności. Wyniki swoich prac prezentują podczas konferencji oraz w publikacjach. Próbkę tego możecie znaleźć tutaj.
Naturalnym kolejnym etapem w prowadzeniu badań było sprawdzenie w jakim stopniu testy automatyczne są możliwe do przeprowadzenia przy wsparciu rozwiązań AI oraz zestawienie tego z wynikami dla „zwykłych” wtyczek.
Na warsztat wzięto następujące rozwiązania:
- bibliotekę axe-core wraz z Playwrightem
- bibliotekę axe-core wraz z Playwrightem spięte z agentem Claude przy pomocy MCP a11y-mcp.
Jak wygląda zestawienie dwóch podstawowych elementów, czyli raportowania i pokrycia dla obu rozwiązań, prezentujemy poniżej.
Raportowanie
Pierwszym ważnym elementem jest forma raportów. W przypadku narzędzi kodowych dostajemy domyślnie na zwrotce raport w pliku json. Dla rozwiązań AI raport często będzie miał formę już gotowego dokumentu. Jest to zdecydowanie ułatwienie dla osób niekodujących i managerów. Oprócz samego formatowania w raporcie dostarczonym przez Claude (na grafice po prawej stronie) widzimy podsumowanie najważniejszych informacji z przeprowadzenia testów.
Pokrycie
Drugim ważnym czynnikiem w prowadzeniu testów będzie ich liczba. Widać, że AI, korzystając z tej samej biblioteki, jest w stanie wykonać więcej sprawdzeń. Jest to:
- 62 dla axe-core
- 75 dla axe-core, którego wspomaga Claude.
Z czego wynika różnica? Przykładowo, axe-core jest w stanie sprawdzić obecność kodu aria i poprawnego użycia składni, ale to Claude może sprawdzić jakość opisów w kodzie, np. czy opis języka strony zawarty w HTML-u jest adekwatny do jej zawartości. Innym przykładem jest możliwość użycia axe-core do sprawdzenia kontrastów opisanych w kodzie, jednak jeśli mamy tekst na obrazku, to tylko człowiek lub AI oceni kontrast.
Podsumowanie wyników
Jak widać, AI może poprawić jakość testów dostępności. Ciągle nie jest to jednak wystarczające w kontekście chociażby ustawy, która nakłada na podmioty państwowe i komercyjne konieczność spełnienia reguł WCAG. Nakładając ogólne pokrycie uzyskane przez poszczególne rozwiązania, możemy je skonfrontować z wynikami badań odnośnie uzyskania pokrycia dla testów prowadzonych przez testerów i wygląda to następująco:
- axe-core uzyskuje do 10% pokrycia reguł dostępności,
- axe-core wspierane przez AI dochodzi nawet do 20% pokrycia reguł dostępności,
- doświadczony tester dostępności uzyskuje do 80% pokrycia reguł dostępności – oczywiście w swojej pracy może posługiwać się powyższymi narzędziami, ale musi i tak ręcznie weryfikować poprawność sprawdzeń oraz adekwatność raportów defektów,
- do 100% pokrycia zbliżymy się w prowadzeniu testów przez testera dostępności, który zweryfikuje większość reguł WCAG, wraz z osobą z niepełnosprawnością wzrokową, która oceni „adekwatność” wdrożonego rozwiązania dostępnościowego do swoich potrzeb. Dodatkowo może ona sprawdzić wszystko to, co nie jest opisane regułami WCAG, a może być albo przeszkodą, albo utrudnieniem w posługiwaniu się oprogramowaniem.
Konstatując, dostępność rozwiązań oraz sprawdzenie zgodności oprogramowania z Ustawą o dostępności trzeba testować ciągle przy pomocy człowieka. AI w tym zakresie stanowi większe wsparcie w testach niż zwykłe (klasyczne) narzędzie dostępności. W niektórych przypadkach, szczególnie w obszarach weryfikacji regresji dostępności, może stać się ono wystarczającym rozwiązaniem do monitorowania.
Michał Buczek
Radek Smilgin


