Opis zdjęcia: Sześć różnych modeli słuchawek nausznych ułożonych w siatce w celu porównania.
Tabela czytników ekranu
Tabela czytników ekranu:
Dlaczego każda kombinacja technologii wspomagających przedstawia inny obraz sytuacji
NVDA + Firefox, JAWS + Chrome, VoiceOver + Safari, TalkBack + Chrome — każda z tych kombinacji tworzy unikalne środowisko wyświetlania. Strona, która działa idealnie w jednym z nich, może w innym nie generować żadnego dźwięku. Oto, co powinien wiedzieć każdy zespół tworzący strony zgodne z wytycznymi WCAG 2.2 AA.
(dane z audytu wewnętrznego AIOPSGROUP)
” w porównaniu z testami opartymi na jednym narzędziu
Dlaczego testowanie tylko jednego czytnika ekranu to za mało
Gdy audyt dostępności wykazuje, że strona internetowa „współpracuje z czytnikami ekranu”, stwierdzenie to jest niemal bez znaczenia bez dodatkowych wyjaśnień. Czytniki ekranu nie stanowią jednolitej kategorii oprogramowania — są to złożone aplikacje, z których każda realizuje własną interpretację interfejsów API dostępności udostępnianych przez systemy operacyjne, nakładając tę interpretację na drzewo dostępności przeglądarki, które samo w sobie znacznie różni się w zależności od dostawcy.
W rezultacie powstaje wielowarstwowa struktura interpretacji. A role="dialog" Atrybut
elementu modalnego będzie odczytywany inaczej w programie JAWS 2024 z przeglądarką Chrome
w porównaniu z programem NVDA 2024.1 z przeglądarką Firefox 124 oraz funkcją VoiceOver w systemie macOS Sonoma z przeglądarką Safari 17. Nie są to
drobne różnice w sformułowaniach — mogą one decydować o tym, czy użytkownik zrozumie,
że znajduje się w oknie dialogowym typu modalnego, które blokuje fokus, czy też nie usłyszy nic.
The three-layer stack — operating system accessibility API →
Każda interakcja czytnika ekranu przechodzi przez co najmniej trzy warstwy: interfejs API dostępności systemu operacyjnego (MSAA/UI Automation w systemie Windows, NSAccessibility w systemie macOS, ATK/AT-SPI w systemie Linux) → drzewo dostępności przeglądarki (drzewo AX w przeglądarce Chrome, most IA2 w przeglądarce Firefox, NSAccessibility w przeglądarce Safari) → wirtualny bufor czytnika ekranu (wirtualny kursor komputera w JAWS, tryb przeglądania w NVDA, model Rotor w VoiceOver). Błąd na dowolnej warstwie objawia się jako awaria czytnika ekranu, ale miejsce naprawy i kombinacje, na które ma to wpływ, różnią się znacznie.
„Testowanie przy użyciu jednego czytnika ekranu i jednej przeglądarki przypomina testowanie strony internetowej tylko w jednej rozdzielczości i nazywanie jej responsywną. Zakres rzeczywistych warunków użytkowania jest po prostu znacznie szerszy, niż może to objąć jedna kombinacja”.
— Praktyka inżynierii dostępności w AIOPSGROUPNajpopularniejsze kombinacje czytników ekranu i przeglądarek
Rynek technologii wspomagających skonsolidował się wokół kilku dominujących narzędzi, ale każde z nich ma specyficzną architekturę, grupę użytkowników i preferencje dotyczące przeglądarek. Zrozumienie tych kwestii jest warunkiem koniecznym do racjonalnego ustalania priorytetów testów.
Macierz zachowań AT × przeglądarki
Poniższa tabela przedstawia zaobserwowane zachowanie typowych wzorców ARIA oraz semantyki HTML w najważniejszych kombinacjach technologii wspomagających i przeglądarek. Wyniki opierają się na testach przeprowadzonych przy użyciu wersji odpowiadających aktualnemu stanowi techniki na pierwszy kwartał 2025 roku.
Legenda: Zaliczone = komunikat przekazany poprawnie i w całości. Częściowo zaliczone = komunikat przekazany z brakami lub nieścisłościami. Niezaliczone = komunikat nieprzekazany, przekazany nieprawidłowo lub z zakłóceniami w nawigacji.
| Funkcja / Wzór | JAWS + Chrome | JAWS + Edge | NVDA + Firefox | NVDA + Chrome | VoiceOver + Safari | VoiceOver + Chrome (Mac) | Narrator + Edge | TalkBack + Chrome |
|---|---|---|---|---|---|---|---|---|
| role="dialog" + aria-modal | Przejdź dalej | Przejdź dalej | Przejdź dalej | Częściowy | Częściowy | Niepowodzenie | Przejdź dalej | Częściowy |
| aktualizacje z atrybutem „aria-live=’polite’” | Przejdź dalej | Przejdź dalej | Przejdź dalej | Częściowy | Przejdź dalej | Częściowy | Przejdź dalej | Częściowy |
| aria-live="assertive" | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Częściowy | Niepowodzenie | Przejdź dalej | Przejdź dalej |
| role="combobox" (ARIA 1.2) | Przejdź dalej | Przejdź dalej | Przejdź dalej | Częściowy | Częściowy | Niepowodzenie | Częściowy | Częściowy |
| role="grid" + nawigacja klawiaturowa | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Częściowy | Niepowodzenie | Częściowy | Niepowodzenie |
| aria-expanded w sekcji „Ujawnianie informacji” | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Częściowy | Przejdź dalej | Przejdź dalej |
| SVG z atrybutem role=”img” oraz atrybutem aria-label | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Częściowy | Przejdź dalej |
| Komunikat o błędzie za pośrednictwem atrybutu `aria-describedby` | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Częściowy | Przejdź dalej | Przejdź dalej |
| Przeciągnij i upuść (aria-grabbed) | Częściowy | Częściowy | Częściowy | Częściowy | Niepowodzenie | Niepowodzenie | Niepowodzenie | Niepowodzenie |
| role=”tablist” / układ zakładek | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Przejdź dalej | Częściowy | Przejdź dalej | Częściowy |
| Niestandardowe zarządzanie skupieniem (routing SPA) | Częściowy | Częściowy | Przejdź dalej | Częściowy | Częściowy | Niepowodzenie | Częściowy | Częściowy |
| Treść CSS: z ikonami | Niepowodzenie | Niepowodzenie | Niepowodzenie | Niepowodzenie | Niepowodzenie | Niepowodzenie | Niepowodzenie | Niepowodzenie |
Ten aria-grabbed Atrybut ten został wycofany w specyfikacji ARIA 1.1 i praktycznie nie jest obsługiwany przez czytniki ekranu
w żadnej konfiguracji. Zespoły, które na nim polegały, wdrożyły w środowisku produkcyjnym funkcję „przeciągnij i upuść”, która jest niedostępna
dla użytkowników. Wzorzec zastępczy wykorzystuje funkcje klawiatury związane z wycinaniem i wklejaniem w połączeniu z wizualnym
modelem przeciąganiaw połączeniu z komunikatami na żywo z regionu w celu uzyskania opinii.
Gdzie kombinacje się rozchodzą: wyjaśnienie kluczowych różnic
Zrozumienie, dlaczego kombinacje się różnią — a nie tylko samego faktu, że tak jest — ma zasadnicze znaczenie dla pisania kodu, który będzie niezawodny w całym macierzy. Różnice te można podzielić na kilka kategorii architektonicznych.
| Kategoria rozbieżności | Dotyczy następujących kombinacji | Stopień ważności | Przyczyna źródłowa | Łagodzenie skutków |
|---|---|---|---|---|
| Bufor wirtualny a bufor wirtualny vo | JAWS/NVDA (wirtualny) a VoiceOver (w wielu trybach brak bufora wirtualnego) | Wysoki | Programy JAWS i NVDA tworzą wewnętrzny model dokumentu (wirtualny bufor); VoiceOver współpracuje bardziej bezpośrednio z drzewem dostępności | Nie należy polegać na synchronizacji zmian w DOM; do wyświetlania wszystkich treści dynamicznych należy stosować regiony ARIA live |
| Obsługa okienek modalnych ARIA | VoiceOver + Safari kontra wszystkie przeglądarki systemowe Windows | Wysoki | Safari realizuje atrybut `aria-modal` w inny sposób — VoiceOver może nie ograniczać odczytu wyłącznie do treści okna modalnego bez dodatkowego użycia atrybutu `inert` | Zastosowanie inert atrybut w treści tła; przetestuj zarówno w systemie Windows, jak i macOS |
| Obliczanie nazw dostępnych (wersja starsza) | Uwaga historyczna: Tylko JAWS + IE 11 | Historyczne | W czerwcu 2022 r. zakończono obsługę przeglądarki IE 11; nie jest ona oficjalnie obsługiwana przez program JAWS 2024 ani przez standard WCAG 2.2. Jej funkcja rozpoznawania nazw oparta na technologii MSAA miała znaczne ograniczenia. Ten wiersz pozostawiono wyłącznie dla zespołów zajmujących się utrzymaniem kodów źródłowych sprzed 2022 r. | Nie dotyczy działań związanych z zapewnieniem zgodności z wytycznymi WCAG 2.2. Należy przejść na przeglądarki typu „evergreen”; właściwym, nowoczesnym rozwiązaniem jest połączenie JAWS z przeglądarką Edge lub Chrome. |
| Tryb przeglądania a tryb aplikacji | Sytuacje graniczne w trybie aplikacji JAWS/NVDA | Średni | Zarówno JAWS, jak i NVDA przełączają się automatycznie z trybu przeglądania do trybu aplikacji przy atrybutie role=”application”, co może stanowić utrudnienie dla użytkowników, jeśli nie zostanie to starannie zaprojektowane | Należy unikać atrybutu role=”application”, chyba że komponent rzeczywiście obsługuje wszystkie funkcje nawigacji za pomocą klawiatury; należy opisać model interakcji |
| Synchronizacja regionów na żywo | NVDA + Chrome a NVDA + Firefox | Średni | Przeglądarki Chrome i Firefox różnią się pod względem tego, kiedy powiadamiają technologie wspomagające o zmianach w modelu DOM; Chrome może opóźniać lub łączyć aktualizacje | Należy używać dedykowanego elementu obszaru aktywności, który pozostaje w strukturze DOM; nigdy nie należy wykorzystywać tego samego obszaru aktywności jednocześnie dla różnych typów komunikatów |
| Zarządzanie fokusem po zmianie DOM | Trasowanie SPA we wszystkich kombinacjach | Wysoki | Aplikacje jednostronicowe, w których treść zmienia się bez wywoływania zdarzeń nawigacyjnych, tracą kontekst dla czytników ekranu; każde narzędzie wspomagające radzi sobie z tym inaczej | Po zakończeniu nawigacji należy przenieść punkt fokus na opisowy nagłówek lub punkt orientacyjny w danym obszarze; zmiany trasy należy ogłaszać za pomocą funkcji „Live Region” |
| Ograniczenia silnika Safari w systemie iOS | VoiceOver w systemie iOS oraz we wszystkich przeglądarkach | Średni | W systemie iOS wszystkie przeglądarki korzystają z silnika WebKit (zgodnie z zasadami App Store); każdy błąd w drzewie dostępności WebKitu ma wpływ na wszystkie przeglądarki | Przetestuj w przeglądarce Safari na iOS; wyniki w innych przeglądarkach na iOS będą identyczne na poziomie drzewa dostępności |
| Powiązanie nagłówków tabel | Złożone tabele obejmujące wszystkie kombinacje | Niski | Atrybuty scope=”colgroup” i scope=”rowgroup” nie są obsługiwane w sposób spójny przez wszystkie nowoczesne czytniki ekranu; atrybut headers zapewnia wyraźną opcję awaryjną | Preferuj proste struktury tabel; w przypadku złożonych tabel z wielopoziomowymi nagłówkami należy wyraźnie stosować atrybut „headers” |
Uwaga dotycząca programu JAWS i przeglądarki Internet Explorer 11
W dniu 15 czerwca 2022 r. przeglądarka Internet Explorer 11 przestała być obsługiwana. Firma Microsoft nie zapewnia już aktualizacji zabezpieczeń ani wsparcia technicznego, a program JAWS 2024 firmy Freedom Scientific nie obsługuje oficjalnie przeglądarki IE 11. WCAG 2.2 — opublikowane w październiku 2023 r. — zawierają kryteria sukcesu, takie jak 2.4.11 „Fokus nie jest zasłonięty”, które zależą od CSS i możliwości renderowania, których IE 11 nie jest w stanie obsługiwać. JAWS+IE nie jest prawidłową kombinacją docelową dla prac nad zgodnością z WCAG 2.2 AA.
Należy jednak pamiętać, że zespoły zajmujące się utrzymaniem starszych kodów powstałych przed 2022 r. lub obsługujące zamknięte środowiska korporacyjne, które nie zakończyły jeszcze migracji z przeglądarki IE do Edge, mogą być zmuszone do zapoznania się z dotychczasowym działaniem tej kombinacji. Kombinacja JAWS/IE korzystała z Microsoft Active Accessibility (MSAA) — starszej warstwy API o znacznie ograniczonej obsłudze ARIA w porównaniu z interfejsami IAccessible2 (IA2) i UI Automation (UIA), które udostępniają nowoczesne przeglądarki. Wiele wzorców ARIA 1.1 działało nieprawidłowo lub w ogóle nie reagowało w środowisku MSAA.
Jeśli należysz do nielicznych zespołów, które mają udokumentowany, wynikający z umowy obowiązek zapewnienia obsługi przeglądarki IE 11, traktuj ją jako dodatkowy cel z odrębnym zestawem testów — a nie jako część programu zapewnienia zgodności z WCAG 2.2. Najnowocześniejszym połączeniem w środowisku korporacyjnym jest JAWS + Edge (Chromium), które wykorzystuje interfejs UIA i zapewnia doskonałą obsługę ARIA.
IE 11 nie obsługuje CSS i renderowania wymaganych przez kilka kryteriów sukcesu WCAG 2.2 AA. Uwzględnienie IE 11 w matrycy testów zgodności z WCAG 2.2 jest technicznie nieprawidłowe — przeglądarka ta nie jest w stanie przejść testów, ponieważ nie posiada silnika renderującego, który je obsługuje. Nowoczesne testy czytników ekranu w przedsiębiorstwach powinny skupiać się na JAWS + Edge (Chromium) lub JAWS + Chrome, które zapewniają pełną obsługę automatyzacji interfejsu użytkownika oraz szeroką zgodność z ARIA 1.2.
VoiceOver i Safari: zupełnie inna filozofia
Podejście firmy Apple do kwestii dostępności różni się zasadniczo od podejścia firmy Microsoft. Podczas gdy programy JAWS i NVDA tworzą kompletną wirtualną reprezentację dokumentu i umożliwiają użytkownikom poruszanie się po tej reprezentacji niezależnie od pozycji kursora, funkcja VoiceOver działa w sposób bardziej bezpośredni, korzystając z wygenerowanego drzewa dostępności, a często także z aktualnej pozycji kursora.
Oznacza to, że schematy działania oparte na niewidocznej manipulacji fokusem — czyli zmiany położenia fokusu, które następują w odpowiedzi na atrybuty ARIA, a nie na interakcję użytkownika — mogą zakłócać działanie VoiceOver w sposób, który wydaje się niewytłumaczalny, dopóki nie zrozumie się różnicy w architekturze. Użytkownicy VoiceOver w systemie macOS poruszają się za pomocą oddzielnego kursora VoiceOver, ale związek między pozycją kursora VoiceOver a fokusem klawiatury jest ściślej powiązany niż w modelu wirtualnego kursora JAWS.
Testy funkcji VoiceOver w przeglądarce Chrome na systemie macOS dają wyniki, które nie odzwierciedlają rzeczywistej populacji użytkowników. Przeglądarka Chrome na macOS od dawna charakteryzuje się słabą integracją z interfejsem API NSAccessibility, z którego korzysta VoiceOver. Takie połączenie generuje więcej fałszywych błędów niż jakiekolwiek inne — sytuacje, w których testy w VoiceOver+Chrome kończą się niepowodzeniem, ale przechodzą pomyślnie w VoiceOver+Safari, mogą wynikać z błędów przeglądarki Chrome, a nie z wad dostępności. Zawsze należy używać VoiceOver+Safari jako standardowej kombinacji testowej dla systemu macOS.
Kalkulator pokrycia scenariuszy testowych
Skorzystaj z tego kalkulatora, aby oszacować nakład pracy związany z testowaniem Twojego produktu na podstawie charakterystyki Twojej bazy użytkowników, docelowych wymagań zgodności oraz dostępnych kombinacji technologii wspomagających.
Dostosuj dane wejściowe, aby obliczyć zalecany zakres macierzy testowej oraz szacunkowy nakład pracy.
Opracowanie strategii pokrycia ryzyka ważonego
Żadna ekipa nie dysponuje nieograniczonymi zasobami testowymi. Celem strategii pokrycia testowego jest maksymalizacja prawdopodobieństwa wykrycia rzeczywistych awarii mających wpływ na prawdziwych użytkowników, w ramach ograniczeń czasowych i narzędziowych. Profesjonalnym podejściem jest wycena ryzyka — czyli rozdzielanie nakładu pracy na testy proporcjonalnie do wpływu na użytkowników i ryzyka architektonicznego.
Zalecane poziomy priorytetów dla ogólnych produktów internetowych
| Kombinacja | Priorytet | Uzasadnienie udziału w rynku | Uwagi |
|---|---|---|---|
| NVDA 2024.x + Firefox (najnowsza wersja) | P1 — Rdzeń | Najpopularniejsze połączenia komputerów stacjonarnych i przeglądarek pod względem częstotliwości użytkowania | Najwyższa zgodność ze standardami; doskonałe rozwiązanie do testowania ARIA 1.2 |
| JAWS 2024 + Chrome (najnowsza wersja) | P1 — Rdzeń | Dominująca pozycja w sektorze przedsiębiorstw; około 40% użytkowników komputerów stacjonarnych korzystających z przeglądarek internetowych (WebAIM 2023, spadek z około 54% w 2021 r.) | Ma kluczowe znaczenie dla przedsiębiorstwa; należy dokładnie przetestować złożone widżety ARIA |
| VoiceOver + Safari (macOS Sonoma) | P1 — Rdzeń | Wszyscy użytkownicy komputerów Mac oraz osoby wykonujące zawody związane z kreatywnością i projektowaniem | Standardowy test systemu macOS; nie należy zastępować go kombinacją VoiceOver i przeglądarki Chrome |
| VoiceOver + Safari (iOS 17) | P1 — Rdzeń | ~71% użytkowników mobilnej wersji SR; wymagane, jeśli występuje ruch mobilny | Sprawdź nawigację dotykową; model gestów przesuwania jest odrębny |
| JAWS 2024 + Edge (Chromium) | P1 — Rdzeń | Odpowiednie, nowoczesne połączenie rozwiązań dla przedsiębiorstw; zastępuje kombinację JAWS i IE we wszystkich bieżących pracach związanych z WCAG 2.2 | Pełna obsługa standardu UIA; doskonała zgodność z ARIA 1.2; dodatek do każdego produktu dla przedsiębiorstw |
| TalkBack + Chrome (Android 14) | P2 — Rozszerzone | ~29% użytkowników mobilnych wyszukiwarek; rosnąca liczba użytkowników Androida | Funkcja „Explore-by-touch” znacznie różni się od tej w systemie iOS; należy ją przetestować osobno |
| NVDA + Chrome (najnowsza wersja) | P2 — Rozszerzone | Dotyczy użytkowników NVDA, którzy wolą przeglądarkę Chrome od Firefoksa | Porównanie różnic w synchronizacji regionów na żywo w porównaniu z NVDA i Firefoxem |
| Narrator + Edge (najnowsza wersja) | P3 — Dodatkowe | Rosnąca liczba użytkowników systemu Windows; znaczenie dla sektora publicznego | Rozbudowana obsługa automatyzacji interfejsu użytkownika; testowanie produktów dla administracji rządowej i sektora publicznego |
| JAWS + IE 11 (tylko starsze wersje) | Dziedzictwo — poza zakresem | Wsparcie dla przeglądarki IE 11 wygasa w czerwcu 2022 r.; nie jest obsługiwana przez program JAWS 2024; niezgodna z wytycznymi WCAG 2.2 | Należy uwzględnić wyłącznie w przypadku udokumentowanego zobowiązania umownego dotyczącego kodu źródłowego sprzed 2022 roku. Nie stanowi to celu zgodności z WCAG 2.2. |
Zasięg populacji użytkowników w zależności od liczby przetestowanych kombinacji
- 1 zestaw 35%
- 2 kombinacje 55%
- 4 kombinacje 72%
- 6 kombinacji 83%
- 8 kombinacji 91%
- 12 kombinacji 98%
NVDA+Firefox, JAWS+Chrome oraz VoiceOver+Safari stanowią łącznie około 78% rzeczywistego wykorzystania czytników ekranu. W przypadku większości produktów internetowych przeznaczonych dla użytkowników zewnętrznych zapewnienie pełnej zgodności z tymi trzema kombinacjami oraz z VoiceOver+Safari na iOS zapewnia najwyższy zwrot z inwestycji w testowanie. Dodaj TalkBack+Chrome, jeśli ruch mobilny przekracza 30%, oraz JAWS+Edge, jeśli Twój produkt obsługuje środowiska korporacyjne — jest to właściwa, nowoczesna kombinacja dla przedsiębiorstw, oferująca pełną obsługę UIA i szeroką zgodność z ARIA 1.2. IE 11 został wycofany i nie jest już ważnym celem zgodności z WCAG 2.2.
Powtarzalny proces testowania wielu kombinacji
Skuteczne testowanie kombinacyjne nie polega jedynie na uruchamianiu tego samego skryptu testowego ręcznie w różnych narzędziach. Każde narzędzie automatycznego testowania posiada własne skróty klawiszowe, modele nawigacji oraz ustawienia szczegółowości komunikatów. Profesjonalny proces uwzględnia te różnice i zapewnia powtarzalne, porównywalne wyniki.
Prawidłowe skonfigurowanie każdego urządzenia AT
Jedną z najczęstszych przyczyn fałszywych wyników w testach skojarzonych jest nieprawidłowa konfiguracja AT. Przed rozpoczęciem testów każde narzędzie należy ustawić w odpowiednim trybie.
| Czytnik ekranu | Konfiguracja klucza |
|---|---|
| JAWS | Ustaw poziom szczegółowości na „Średni”; włącz opcję „Odczytuj znaki interpunkcyjne” z opcją „Niektóre”; używaj kursora Virtual PC w przeglądarce internetowej |
| NVDA | Tryb przeglądania (przełączanie klawiszem B); poziom szczegółowości ustawiony na „Słowa”; włącz opcję „Zgłaszaj obszary orientacyjne” |
| VoiceOver (macOS) | VO+A – odczytanie całej treści; VO+U – odczytanie elementu Rotor; upewnij się, że element „Web Rotor” obejmuje nagłówki, linki i elementy formularza |
| VoiceOver (iOS) | Jedno przesunięcie w prawo/w lewo – nawigacja liniowa; przewijanie dwoma palcami; potrójne dotknięcie – aktywacja |
| TalkBack | Przeglądaj za pomocą funkcji dotykowej; użyj gestu „dalej” do nawigacji liniowej; sprawdź kolejność czytania |
| Narrator | Tryb skanowania (Caps Lock + spacja); poziom skanowania „Elementy”; poziom szczegółowości „Domyślny” |
Co należy rejestrować podczas testów
Dosłowne zapisy wypowiedzi stanowią złoty standard. Nagrywanie ekranu wraz z dźwiękiem umożliwia analizę po zakończeniu sesji i stanowi dowód przy sporządzaniu zgłoszeń błędów.
-
Ogłoszona rola Potwierdź, że typ elementu został odczytany (przycisk, link, nagłówek poziomu N itp.)
-
Nazwa dostępna Sprawdź, czy ogłoszona nazwa jest zgodna z widoczną etykietą lub zamierzoną alternatywą
-
Stan / właściwość Rozwiń/zwiń, zaznaczone/niezaznaczone, wymagane, nieprawidłowe — wszystkie muszą być ogłoszone
-
Dynamiczne aktualizacje treści Ogłoszenia w regionach na żywo muszą być wyświetlane w odpowiednim czasie i z odpowiednią szczegółowością
-
Kolejność nawigacji Kolejność tabulatorów i kolejność czytania muszą odpowiadać kolejności wizualnej/logicznej; sprawdź, czy nie ma pułapek fokusowych
-
Identyfikacja błędów Błędy w formularzu muszą być zgłaszane w momencie przesłania i powiązane z danym polem
Lista kontrolna do testowania czytników ekranu zgodnie z wytycznymi WCAG 2.2 AA
Poniższa lista kontrolna odnosi się bezpośrednio do kryteriów sukcesu WCAG 2.2 AA, które są weryfikowane przede wszystkim poprzez testy z wykorzystaniem czytników ekranu. Każda pozycja musi zostać zaliczona we wszystkich konfiguracjach P1, zanim dana funkcja zostanie uznana za zgodną z WCAG 2.2 AA.
| WCAG SC | Kryterium | Poziom | Podstawowa metoda badawcza | Najbardziej krytyczne kombinacje |
|---|---|---|---|---|
| 1.1.1 | Treści inne niż tekst | A | Przejdź do wszystkich obrazów; sprawdź, czy tekst alternatywny jest odczytywany i czy jest odpowiedni | TalkBack + Chrome, VoiceOver + Safari (szczególne przypadki w kodzie SVG) |
| 1.3.1 | Informacje i relacje | A | Sprawdź, czy nagłówki, listy, tabele i etykiety formularzy są odczytywane z zachowaniem prawidłowej semantyki | Wszystkie kombinacje; złożone tabele w NVDA+Firefox i JAWS+Chrome |
| 1.3.2 | Znacząca sekwencja | A | Przeczytaj stronę w kolejności linearnej; upewnij się, że logiczna kolejność czytania odpowiada kolejności wizualnej | VoiceOver i Safari, TalkBack i Chrome |
| 2.1.1 | Klawiatura | A | Korzystaj ze wszystkich funkcji wyłącznie za pomocą klawiatury; upewnij się, że nie ma żadnych pułapek klawiaturowych | Wszystkie kombinacje; Przełączanie między trybem przeglądania a trybem aplikacji w programie NVDA |
| 2.4.3 | Kolejność skupienia | A | Przechodź po stronie za pomocą klawisza Tab; upewnij się, że kolejność elementów, na które pada fokus, jest logiczna i zachowuje sens | Wszystkie kombinacje; w szczególności trasy SPA |
| 2.4.6 | Nagłówki i etykiety | AA | Skorzystaj z listy nagłówków / rotora; upewnij się, że wszystkie nagłówki są opisowe i odpowiednio wyrównane | Wszystkie kombinacje |
| 2.4.7 | Wyraźny obraz | AA | Sprawdź wzrokowo, czy wskaźnik ostrości jest widoczny dla wszystkich elementów, na których można ustawić ostrość | Wszystkie kombinacje (kontrola wzrokowa) |
| 2.4.11 | Ostrość nie jest zamazana (minimum) | AA | Upewnij się, że elementy w centrum uwagi nie są całkowicie zasłonięte przez przyklejone nagłówki, stopki lub nakładki | Wszystkie kombinacje |
| 2.5.3 | Nazwa etykiety | AA | Porównaj ogłoszoną nazwę z widocznym tekstem etykiety; nazwa dostępna dla użytkowników musi zawierać widoczny tekst | JAWS + Chrome, NVDA + Firefox |
| 3.3.1 | Rozpoznawanie błędów | A | Wyślij formularz zawierający błędy; upewnij się, że błędy są zgłaszane i przypisane do odpowiednich pól | Wszystkie kombinacje; synchronizacja obszarów aktywnych w NVDA+Chrome |
| 3.3.2 | Etykiety lub instrukcje | A | Przejdź do pól formularza; upewnij się, że przed polem odczytane zostaną nazwy i instrukcje dotyczące formatowania | Wszystkie kombinacje |
| 4.1.2 | Nazwa, rola, wartość | A | Przejdź do wszystkich elementów sterujących; upewnij się, że nazwa, rola i stan zostały odczytane | Wszystkie kombinacje; kryterium najwyższego wskaźnika awaryjności |
| 4.1.3 | Komunikaty o stanie | AA | Wyświetlanie komunikatów o stanie (pomyślne wypełnienie formularza, stany ładowania); potwierdzanie komunikatów bez zmiany fokusu | NVDA + Chrome (synchronizacja), VoiceOver + Safari |
Kryterium WCAG 4.1.2 konsekwentnie okazuje się najczęściej powodować niepowodzenia zarówno podczas audytów automatycznych, jak i ręcznych. Wymaga ono, aby każdy element interfejsu użytkownika udostępniał swoją nazwę, rolę oraz aktualną wartość/stan technologiom wspomagającym. Najczęstsze nieprawidłowości to: niestandardowe kontrolki bez roli ARIA, elementy interaktywne bez nazwy dostępnej dla technologii wspomagających (przyciski zawierające wyłącznie ikony) oraz dynamiczne zmiany stanu (aria-checked, aria-expanded, aria-selected), które nie są odzwierciedlone programowo. Przetestowanie tego kryterium we wszystkich kombinacjach P1 jest bezwzględnie konieczne.
Argumenty biznesowe przemawiające za kompleksowymi badaniami kombinacyjnymi
Testowanie z wykorzystaniem czytników ekranu nie jest jedynie formalnością mającą na celu potwierdzenie zgodności z wymogami dostępności. Jest to dziedzina zapewnienia jakości, która – gdy jest przeprowadzana prawidłowo w odpowiednich kombinacjach – pozwala wykryć błędy interfejsu dotyczące wszystkich użytkowników, a nie tylko osób niepełnosprawnych. Błędy w zarządzaniu fokusem, treści dynamiczne, które nie aktualizują się, oraz stany, które nie są przekazywane programowo, stanowią problemy z użytecznością, które można wykryć właśnie dzięki technologiom wspomagającym.
Sytuacja prawna stanowi dodatkowe poparcie dla argumentów technicznych. Dyrektywa UE w sprawie dostępności stron internetowych, zmienione normy sekcji 508 w USA, brytyjskie przepisy dotyczące dostępności dla organów sektora publicznego oraz nasilająca się fala sporów sądowych dotyczących ADA w sektorze prywatnym wskazują na WCAG 2.2 AA jako podstawowy standard. Ryzyko sporów sądowych jest największe w przypadku braku udokumentowanych testów — a przetestowanie jednej kombinacji często nie stanowi wystarczającego dowodu podjęcia działań w dobrej wierze w celu zapewnienia zgodności.
W AIOPSGROUP współpracujemy z organizacjami z branży usług finansowych, administracji publicznej, handlu detalicznego oraz oprogramowania dla przedsiębiorstw, tworząc programy testowania dostępności, które są zarówno rygorystyczne, jak i zrównoważone. Rygorystyczne oznacza uwzględnienie odpowiednich kombinacji dla właściwych grup użytkowników. Zrównoważone oznacza włączenie testów dostępności do procesów CI/CD, szkolenie zespołów programistycznych oraz tworzenie dynamicznych matryc testowych, które rozwijają się wraz z produktem.
„Nie da się osiągnąć zgodności z wytycznymi dotyczącymi czytników ekranowych wyłącznie za pomocą automatyzacji. Narzędzia automatyczne wykrywają mniej więcej 30–40% przypadków niezgodności z wytycznymi WCAG. Reszta — czyli te, które mają największe znaczenie dla rzeczywistych użytkowników — wymaga udziału człowieka korzystającego z prawdziwego czytnika ekranowego w odpowiedniej konfiguracji”.
— Dział ds. dostępności AIOPSGROUP, Raport o stanie rynku dostępności 2025Jeśli Twój zespół tworzy lub utrzymuje produkt cyfrowy przeznaczony dla jakiejkolwiek grupy odbiorców, nie chodzi o to, czy przeprowadzić testy z wykorzystaniem czytników ekranu w wielu kombinacjach, ale jak zrobić to skutecznie i na dużą skalę. Możemy pomóc w obu tych kwestiach.
AIOPSGROUP oferuje audyty dostępności, usługi testowania z wykorzystaniem czytników ekranu, wdrażanie wytycznych WCAG 2.2 AA oraz integrację rozwiązań z zakresu dostępności — dostosowane do stosowanych przez Państwa technologii i harmonogramu wydawania aktualizacji.
Skontaktuj się z nami