Testowanie zgodności A11y
Twoja firma właśnie otrzymała pismo o niezgodności z ADA w Twojej aplikacji webowej. Zespół prawny jest zaniepokojony, a inżynieria odkrywa, że formularz rejestracji nie ma powiązanych etykiet, nawigacja jest nieużywalna z klawiatury, a kontrast kolorów na połowie przycisków call-to-action nie spełnia standardów WCAG AA. Dostępność to nie nice-to-have — to wymóg prawny i dyscyplina inżynierska, którą narzędzia AI mogą dramatycznie przyspieszyć.
Czego się nauczysz
Dział zatytułowany „Czego się nauczysz”- Zautomatyzowane testowanie zgodności WCAG 2.2 AA zintegrowane z Twoim pipeline’em CI
- Audyt dostępności wspomagany AI, który wyjaśnia naruszenia i generuje poprawki
- Wzorce testów dostępności oparte na Playwright dla flowów E2E
- Workflow testowania nawigacji klawiaturowej i czytników ekranu
- Prompty generujące dostępny kod od samego początku
Automatyczny audyt WCAG
Dział zatytułowany „Automatyczny audyt WCAG”Używanie axe-core z analizą AI
Dział zatytułowany „Używanie axe-core z analizą AI”Set up automated accessibility testing for our Next.js application:
1. Install @axe-core/playwright for Playwright integration2. Create an accessibility test helper at /tests/a11y/audit-helper.ts that: - Runs axe-core on any page - Filters results by WCAG 2.2 AA criteria - Categorizes violations by severity (critical, serious, moderate, minor) - Generates fix suggestions for each violation
3. Create accessibility tests for our critical pages: - /tests/a11y/pages/homepage.a11y.spec.ts - /tests/a11y/pages/login.a11y.spec.ts - /tests/a11y/pages/dashboard.a11y.spec.ts - /tests/a11y/pages/settings.a11y.spec.ts
4. Each test should: - Run the full axe audit - Fail on critical and serious violations - Report moderate violations as warnings - Test at both desktop and mobile viewports
Follow our Playwright config in playwright.config.tsclaude "Set up accessibility testing infrastructure:
1. Install: npm install -D @axe-core/playwright2. Create /tests/a11y/run-audit.ts: - Accept a URL and Playwright page - Run axe-core with WCAG 2.2 AA rules - Return structured results with fix suggestions3. Create tests for all routes in our application: - Discover routes from /src/pages/ directory - Generate an a11y test for each page - Save to /tests/a11y/pages/4. Run all accessibility tests5. Generate a compliance report at /docs/a11y-report.md
For each violation found, include:- The WCAG criterion it violates- The HTML element causing the violation- A specific code fix"Set up WCAG 2.2 AA compliance testing:1. Add axe-core to our Playwright test infrastructure2. Create accessibility tests for every page3. Run the audit and generate a compliance report4. Create fixes for any critical violations found5. Create a PR with tests, fixes, and the compliance reportTestowanie nawigacji klawiaturowej
Dział zatytułowany „Testowanie nawigacji klawiaturowej”Generowanie dostępnego kodu od początku
Dział zatytułowany „Generowanie dostępnego kodu od początku”Zamiast audytować i naprawiać, generuj dostępny kod od razu.
Integracja z CI dla dostępności
Dział zatytułowany „Integracja z CI dla dostępności”-
Uruchamiaj axe-core na każdym PR
Dodaj testowanie dostępności do pipeline’u CI. Failuj build na krytycznych i poważnych naruszeniach.
-
Śledź zgodność w czasie
Przechowuj wyniki audytu i monitoruj trendy. Twój wskaźnik zgodności powinien rosnąć z czasem, nie spadać.
-
Zapobiegaj nowym naruszeniom
Najważniejsza bramka: żadnych nowych krytycznych ani poważnych naruszeń dostępności w żadnym PR. Istniejące naruszenia mogą być śledzone w backlogu.
-
Cotygodniowy raport dostępności
Generuj raport pokazujący: całkowite naruszenia według poziomu istotności, nowe naruszenia w tym tygodniu, rozwiązane naruszenia, procent zgodności według strony.
Gdy coś się zepsuje
Dział zatytułowany „Gdy coś się zepsuje”“axe-core raportuje setki naruszeń i to przytłaczające.” Zacznij od naprawienia tylko naruszeń krytycznych. To te, które całkowicie blokują użytkowników przed dostępem do treści. Potem przejdź do poważnych, następnie umiarkowanych. Nie próbuj naprawiać wszystkiego naraz.
“AI generuje dostępny kod, ale wygląda inaczej niż nasz design system.” Dodaj ograniczenia design systemu do prompta: “Use our existing color palette. Focus indicator must be our brand blue (#2563eb) with a 2px offset.” Dostępny nie oznacza brzydki — oznacza celowy.
“Testowanie z czytnikami ekranu jest ręczne i wolne.” Zautomatyzowane testy łapią 30-40% problemów z dostępnością. Reszta wymaga ręcznego testowania z czytnikami ekranu (VoiceOver, NVDA). Użyj AI do wygenerowania ręcznej listy kontrolnej testów dla QA, skupiając się na interakcjach, które zautomatyzowane narzędzia pomijają.
“Deweloperzy nie wiedzą wystarczająco dużo o dostępności, żeby naprawiać naruszenia.” Prompty AI w tym przewodniku generują zarówno poprawkę, jak i wyjaśnienie. Deweloperzy uczą się dostępności naprawiając prawdziwe naruszenia z kontekstem, nie czytając dokumentację.