VoiceOver
VoiceOver to czytnik ekranu wbudowany we wszystkie systemy operacyjne Apple – macOS, iOS, iPadOS, watchOS oraz tvOS. Jest rozwijany bezpośrednio przez Apple i stanowi domyślną technologię asystującą na tej platformie.
Głównym celem VoiceOver jest umożliwienie osobom niewidomym i niedowidzącym korzystania z komputera, telefonu lub tabletu poprzez odczytywanie zawartości ekranu za pomocą syntezy mowy, prezentowanie jej na monitorze brajlowskim, a na urządzeniach mobilnych – poprzez obsługę gestami.
W testowaniu dostępności VoiceOver jest odpowiednikiem NVDA dla ekosystemu Apple. Nie jest to jednak narzędzie zamienne: VoiceOver współpracuje z przeglądarką Safari (silnik WebKit), a NVDA z Firefoksem i Chrome, dlatego te same błędy semantyczne mogą być ogłaszane inaczej. Rzetelny audyt WCAG 2.2 AA obejmuje obie kombinacje.
Skąd pobrać?
VoiceOver jest wbudowany w system i całkowicie darmowy – nie trzeba go pobierać ani instalować. Wystarczy go włączyć.
macOS
- Skrót klawiszowy: Command + F5 (na niektórych klawiaturach fn + Command + F5) włącza i wyłącza VoiceOver.
- Touch ID: na Macach wyposażonych w Touch ID – trzykrotne szybkie naciśnięcie przycisku Touch ID.
- Ustawienia systemowe: Ustawienia systemowe → Dostępność → VoiceOver.
iOS / iPadOS
- Ustawienia: Ustawienia → Dostępność → VoiceOver → przełącznik VoiceOver.
- Skrót dostępności: po przypisaniu VoiceOver w Ustawienia → Dostępność → Skrót dostępności wystarczy trzykrotnie nacisnąć przycisk boczny (lub przycisk Home w starszych modelach), aby szybko włączyć i wyłączyć czytnik. Jest to bardzo praktyczne przy testach, gdy trzeba wielokrotnie wyłączyć VoiceOver.
- Siri: wystarczy powiedzieć „Włącz VoiceOver”.
Do konkretnie jakich podpunktów WCAG 2.2 na poziomie AA przydaje się to narzędzie w testowaniu?
VoiceOver, podobnie jak NVDA, służy do weryfikacji tych kryteriów WCAG 2.2 AA, które opierają się na doświadczeniu użytkownika (UX) i poprawności komunikowania struktury oraz treści przez technologie asystujące. Narzędzia automatyczne nie są w stanie zweryfikować tych kryteriów w pełni.
Kluczowe kryteria, które wymagają testowania czytnikiem ekranu w środowisku Apple, to między innymi:
| Nazwa Kryterium | Co weryfikuje VoiceOver? |
|---|---|
| 1.1.1 Treść nietekstowa (Non-text Content) | Poprawność i opisowość tekstów alternatywnych (alt) dla znaczących obrazów oraz pomijanie obrazów dekoracyjnych. Kategoria „Grafiki” w pokrętle (rotor) pozwala przejrzeć wszystkie obrazy na stronie. |
| 1.3.1 Informacje i relacje (Info and Relationships) | Poprawność odczytywania struktury strony: nagłówków (H1–H6), list, tabel danych (nagłówki kolumn i wierszy), ról elementów interaktywnych, a także poprawność atrybutów ARIA i semantyki HTML5. WebKit interpretuje część ARIA inaczej niż silniki Gecko/Blink, dlatego ten test wykrywa błędy niewidoczne w NVDA. |
| 1.3.2 Zrozumiała kolejność (Meaningful Sequence) | Sprawdzenie, czy kolejność odczytu kursorem VoiceOver (VO + strzałki, a na iOS przesuwanie palcem w prawo) jest zgodna z kolejnością wizualną – szczególnie w tabelach i złożonych komponentach. |
| 2.1.1 Klawiatura (Keyboard) | Możliwość obsługi wszystkich funkcji strony wyłącznie za pomocą klawiatury na macOS oraz wyłącznie gestami na iOS/iPadOS. Weryfikuje też dostępność elementów, które przy zwykłej tabulacji są pomijane. |
| 2.4.1 Omijanie bloków (Bypass Blocks) | Działanie linków „Przejdź do treści” (skip links) oraz obecność punktów orientacyjnych (landmarks) dostępnych w pokrętle, umożliwiających szybki dostęp do głównej treści. |
| 2.4.4 Cel linku (w kontekście) (Link Purpose (In Context)) | Upewnienie się, że cel każdego linku jest zrozumiały z jego tekstu – zwłaszcza przy przeglądaniu listy linków w pokrętle, gdzie linki są wyrwane z kontekstu. |
| 2.4.6 Nagłówki i etykiety (Headings and Labels) | Upewnienie się, że nagłówki są logiczne, opisowe i nie pominięto poziomów – VoiceOver ogłasza poziom nagłówka (np. „nagłówek poziomu 2”), co pozwala od razu wykryć błędną hierarchię. |
| 3.3.2 Etykiety lub instrukcje (Labels or Instructions) | Weryfikacja, czy pola formularzy mają poprawnie powiązane i odczytywane etykiety, podpowiedzi oraz instrukcje, a także czy komunikaty o błędach są zrozumiałe. |
| 4.1.2 Nazwa, rola, wartość (Name, Role, Value) | Weryfikacja, czy nazwy, role i stany elementów interaktywnych (np. „przycisk”, „zaznaczone”, „rozwinięte”, „zablokowane”) są poprawnie ogłaszane. To kryterium najczęściej ujawnia różnice między VoiceOver a NVDA. |
| 4.1.3 Komunikaty o statusie (Status Messages) | Sprawdzenie, czy dynamiczne komunikaty (o błędach, sukcesie, aktualizacji koszyka) są ogłaszane przez obszary live region bez przenoszenia fokusu. |
Jak testować?
Testowanie z VoiceOver polega na przejściu przez całą stronę lub aplikację tak, jak robi to użytkownik niewidomy – polegając wyłącznie na mowie syntetycznej oraz klawiaturze (macOS) lub gestach (iOS/iPadOS).
Zanim zaczniesz – dwa ustawienia obowiązkowe
- Testuj w przeglądarce Safari. VoiceOver jest zoptymalizowany pod Safari i tylko ta para odpowiada realnemu doświadczeniu użytkowników Apple. Wyniki z Chrome na macOS mogą być mylące i nie należy ich raportować jako reprezentatywnych.
- Włącz pełną nawigację klawiaturą w Safari. Domyślnie klawisz Tab na macOS przechodzi tylko między polami formularzy i pomija linki. Zaznacz opcję „Naciśnięcie klawisza Tab wyróżnia każdy element na stronie internetowej” w Safari → Ustawienia (Preferencje) → Zaawansowane → Dostępność. W nowszych wersjach macOS odpowiada temu również przełącznik Nawigacja klawiaturą w Ustawieniach systemowych → Klawiatura. Bez tego ustawienia część testów klawiaturowych da fałszywie negatywny wynik.
Podstawowa procedura testowania na macOS
Klawisze VoiceOver (oznaczane dalej jako VO) to Control + Option. Zapis „VO + U” oznacza więc Control + Option + U.
- Uruchomienie: włącz VoiceOver skrótem Command + F5 i otwórz badaną stronę w Safari. Pomocny jest VO + Shift + F11 (kurtyna ekranowa), który wygasza ekran i wymusza ocenę strony wyłącznie „na słuch”.
- Rozpoznanie strony: użyj Shift + VO + I, aby usłyszeć statystyki strony (liczbę nagłówków, linków, elementów formularzy). Daje to szybki obraz struktury dokumentu jeszcze przed szczegółowym testem.
- Odczyt liniowy: uruchom czytanie całej strony przez VO + A (zatrzymanie: Control). Następnie przejdź treść element po elemencie: VO + strzałka w prawo (następny element) i VO + strzałka w lewo (poprzedni). Weryfikuj: czy kolejność odczytu jest logiczna i zgodna z wizualną oraz czy nic nie zostało pominięte lub odczytane dwukrotnie.
- Nawigacja tabulacją: przejdź klawiszem Tab (i Shift + Tab) po wszystkich elementach interaktywnych. Weryfikuj: czy kolejność fokusu jest logiczna, czy każdy element interaktywny jest osiągalny oraz czy VoiceOver poprawnie ogłasza nazwę i rolę (np. „Zaloguj, przycisk”).
- Nawigacja po strukturze: skacz po typach elementów, tak jak robi to zaawansowany użytkownik (dodanie Shift cofa do poprzedniego elementu danego typu):
- VO + Command + H – następny nagłówek
- VO + Command + L – następny link
- VO + Command + J – następny element formularza
- VO + Command + T – następna tabela
- VO + Command + X – następna lista
- VO + Command + G – następna grafika
- Pokrętło (rotor) – najważniejsze narzędzie audytora: otwórz je skrótem VO + U. Strzałkami ← i → zmieniasz kategorię (m.in. nagłówki, linki, elementy formularzy, tabele, grafiki, punkty orientacyjne), strzałkami ↑ i ↓ przeglądasz listę, a Enter przenosi na wybrany element. Weryfikuj: czy hierarchia nagłówków jest poprawna i opisowa, czy strona ma punkty orientacyjne oraz czy teksty linków są unikalne i zrozumiałe w oderwaniu od kontekstu (np. czy nie ma kilku linków „Czytaj więcej”).
- Komponenty złożone: do wnętrza grup, ramek iframe, menu i tabel wchodzi się poleceniem VO + Shift + strzałka w dół (interakcja), a wychodzi VO + Shift + strzałka w górę. Wewnątrz tabeli danych poruszaj się VO + strzałki, a nagłówki sprawdzaj przez VO + C (nagłówki kolumny) i VO + R (nagłówki wiersza). Weryfikuj: czy komórki są prawidłowo powiązane z nagłówkami.
- Formularze i interakcje: wypełnij wszystkie pola, aktywując elementy skrótem VO + Spacja. Weryfikuj: czy przy wejściu w pole ogłaszana jest etykieta, typ pola, wymagalność i ewentualna instrukcja, a po wysłaniu formularza – czy komunikaty o błędach są ogłaszane natychmiast i zrozumiale.
- Dokumentacja: zawsze zapisuj wersję systemu (np. macOS 15), wersję Safari oraz dokładny cytat tego, co ogłosił VoiceOver. Różne kombinacje czytnika i przeglądarki dają różne wyniki, więc bez tych danych zgłoszenie błędu jest niemożliwe do odtworzenia.
Pełną listę poleceń w danej wersji systemu znajdziesz zawsze w pomocy VoiceOver pod skrótem VO + H oraz w Narzędziu VoiceOver (VO + F8), gdzie można też dostosować zawartość pokrętła i poziom szczegółowości komunikatów.
Testowanie na iOS i iPadOS (gesty)
Na urządzeniach mobilnych VoiceOver zmienia sposób obsługi ekranu dotykowego: pojedyncze dotknięcie tylko zaznacza element, a dopiero podwójne go aktywuje. To scenariusz obowiązkowy dla wersji mobilnych i aplikacji, ponieważ VoiceOver jest dominującym czytnikiem ekranu na urządzeniach mobilnych.
- Przesunięcie w prawo / w lewo: następny / poprzedni element. Podstawowy sposób sprawdzenia kolejności odczytu.
- Podwójne dotknięcie: aktywacja zaznaczonego elementu (odpowiednik kliknięcia).
- Przesunięcie dwoma palcami w górę: odczyt całej strony od początku.
- Dotknięcie dwoma palcami: pauza i wznowienie mowy.
- Przesunięcie trzema palcami: przewijanie zawartości ekranu.
- Obrót dwóch palców (jak pokrętłem): zmiana ustawienia pokrętła (nagłówki, linki, elementy formularzy, punkty orientacyjne). Po wybraniu kategorii przesuwanie w górę i w dół przeskakuje między elementami tego typu – to mobilny odpowiednik nawigacji po nagłówkach.
- Trzykrotne dotknięcie trzema palcami: kurtyna ekranowa – wyłącza obraz i wymusza test wyłącznie na słuch.
- Eksploracja dotykiem: przesuwanie palca po ekranie odczytuje elementy w miejscu dotknięcia – pozwala sprawdzić, czy obszary klikalne są wystarczająco duże i poprawnie opisane.
Na mobile zwróć szczególną uwagę na: dostępność menu i modali (czy fokus zostaje uwięziony w oknie i czy da się je zamknąć), obsługę treści wymagających gestów oraz to, czy elementy dekoracyjne nie są zaznaczane jako osobne obiekty.
Różnice względem NVDA – o czym pamiętać
- Inny silnik przeglądarki: VoiceOver testujemy w Safari (WebKit), NVDA w Firefoksie lub Chrome. Ta sama implementacja ARIA może być ogłaszana inaczej, dlatego błąd znaleziony w jednym czytniku nie musi występować w drugim – i odwrotnie.
- Brak trybu przeglądania i trybu formularza: NVDA przełącza się między trybami automatycznie. VoiceOver używa zamiast tego mechanizmu interakcji z elementem (VO + Shift + strzałki), co zmienia sposób testowania komponentów złożonych.
- Konieczne ustawienie Safari: bez włączonej pełnej nawigacji klawiaturą Tab pomija linki, co łatwo pomylić z błędem dostępności strony.
- Pokrętło zamiast klawiszy jednoliterowych: podstawowym narzędziem szybkiej nawigacji jest pokrętło (VO + U) i polecenia VO + Command + litera, a nie pojedyncze litery jak w NVDA.
- Warstwa mobilna: VoiceOver to jedyny sposób przetestowania doświadczenia użytkownika czytnika ekranu na iPhonie i iPadzie – tego obszaru NVDA nie pokrywa w ogóle.
Pamiętaj: VoiceOver, tak jak NVDA, nie jest narzędziem automatycznym – nie wygeneruje raportu błędów. Ocena należy do testera i dotyczy tego, czy przekaz jest zrozumiały, kompletny i logiczny. Dlatego testy czytnikiem ekranu wykonuje się po naprawieniu błędów wykrytych narzędziami automatycznymi (np. WAVE, Lighthouse, IBM Equal Access), a nie zamiast nich.
Dodatkowe linki
- Podręcznik użytkownika VoiceOver na Macu (dokumentacja Apple):
- Polecenia (skróty klawiszowe) VoiceOver na Macu:
- https://support.apple.com/pl-pl/guide/voiceover/commands-cpvokys01/mac (WERSJA PL)
- https://dequeuniversity.com/screenreaders/voiceover-keyboard-shortcuts (ściągawka Deque University, WERSJA EN)
- VoiceOver na iPhonie i iPadzie:
- https://support.apple.com/pl-pl/guide/iphone/iph3e2e415f/ios – włączanie VoiceOver i ćwiczenie gestów (WERSJA PL)
- https://support.apple.com/pl-pl/guide/iphone/iph3e2e2281/ios – używanie gestów VoiceOver (WERSJA PL)
- https://dequeuniversity.com/screenreaders/voiceover-ios-shortcuts – ściągawka gestów iOS (WERSJA EN)
- Przewodnik testowania dostępności z VoiceOver (WebAIM): https://webaim.org/articles/voiceover/ (WERSJA EN)
- Funkcje dostępności Apple (przegląd): https://www.apple.com/pl/accessibility/vision/ (WERSJA PL)