Sterowanie głosowe
Zob. też: Dragon NaturallySpeaking, Voice Control, Windows Speech Recognition, VoiceAccess
Klasa technologii wspomagającej umożliwiająca obsługę komputera za pomocą poleceń głosowych. Dragon NaturallySpeaking (Windows), Voice Control na macOS i iOS, Windows Speech Recognition — wszystkie opierają się na dopasowaniu dostępnych nazw do wypowiadanych poleceń.
Sterowanie głosowe to klasa technologii wspomagającej umożliwiająca obsługę komputera za pomocą poleceń głosowych. Główne systemy to Dragon NaturallySpeaking (Windows, długoletni lider rynku), Voice Control na macOS i Voice Control na iOS (wbudowane rozwiązanie Apple, bezpłatne z systemem), Windows Speech Recognition (wbudowane rozwiązanie Microsoft) oraz Google Voice Access (Android).
Sterowanie głosowe służy osobom z niepełnosprawnościami ruchowymi utrudniającymi lub uniemożliwiającymi korzystanie z klawiatury, myszy lub ekranu dotykowego — RSI, artretyzmem, drżeniem rąk, paraliżem na różnych poziomach. Jest też szeroko stosowane w kontekście efektywności pracy (przez prawników i pracowników medycznych dyktujących notatki), gdzie użytkownik nie ma udokumentowanej niepełnosprawności, ale korzysta z trybu rąk-wolnych.
Jak sterowanie głosowe rozwiązuje polecenia
System sterowania głosowego nasłuchuje dwóch rodzajów poleceń:
- Dyktowanie — użytkownik mówi tekst, który ma zostać wprowadzony do sfokusowanego pola. System transkrybuje mowę.
- Polecenia — użytkownik nazywa akcję lub kontrolkę. System dopasowuje wypowiedzianą frazę do rejestru dostępnych poleceń i dostępnych nazw kontrolek na ekranie.
Drugi rodzaj to miejsce, gdzie przecina się dostępność internetowa: gdy
użytkownik mówi „Kliknij Wyślij”, oprogramowanie do sterowania głosowego
szuka elementu z dostępną nazwą „Wyślij” (lub zbliżonym dopasowaniem) i
wywołuje na nim zdarzenie kliknięcia. Jeśli przycisk Wyślij nie ma dostępnej
nazwy — bo jest to <button> bez etykiety, lub niestandardowy <div>, lub
przycisk tylko z ikoną — użytkownik sterowania głosowego nie może go obsłużyć.
Co to oznacza dla programistów webowych
Najważniejsza reguła dostępności dla sterowania głosowego:
Każdy element interaktywny musi mieć tekstową dostępną nazwę pasującą do jego widocznej etykiety.
W praktyce:
- Przyciski potrzebują widocznego tekstu.
<button>Wyślij</button>działa. Przyciski tylko z ikoną potrzebująaria-labelodpowiadającego temu, co użytkownik prawdopodobnie powie —aria-label="Szukaj", a niearia-label="Ikona lupy". - Widoczna etykieta i dostępna nazwa muszą się zgadzać. Jeśli widoczny
tekst przycisku to „Wyślij”, ale jego
aria-labelto „Prześlij formularz”, sterowanie głosowe może nie znaleźć go, gdy użytkownik powie „Kliknij Wyślij”. WCAG 2.5.3 Label in Name (poziom A) wymaga, aby dostępna nazwa zawierała tekst widocznej etykiety. - Niestandardowe kontrolki ujawniają swoją rolę i nazwę. Element
<div role="button" aria-label="Wyślij">działa. Element<div onclick>bez roli i nazwy — nie. - Brak kontrolek-fantomów. Nakładki sterowania głosowego (numeryczne nakładki pokazujące każdy fokusowalny element z numerem do wywołania) działają lepiej, gdy liczba fokusowalnych elementów jest zarządzalna. Ukryte, ale wciąż fokusowalne elementy zaśmiecają nakładkę.
Gdzie sterowanie głosowe pokrywa się z dostępnością czytnika ekranu
Ta sama dyscyplina dostępnych nazw i semantycznego HTML, która sprawia, że serwis jest dostępny dla czytników ekranu, czyni go też dostępnym dla sterowania głosowego. Obie technologie korzystają z drzewa dostępności i polegają na obecności i poprawności dostępnych nazw.
Główny wyjątek: sterowanie głosowe nie potrzebuje regionów ARIA live (nie jest czytnikiem ekranu), ale potrzebuje numerycznych nakładek do ujawniania kontrolek bez etykiet tekstowych — dlatego etykiety tekstowe mają nieproporcjonalnie duże znaczenie dla użytkowników głosowych.
Co konkretnie idzie nie tak przy sterowaniu głosowym
- Widoczne etykiety tylko z ikoną. Przycisk „serce” (ulubione) bez widocznego tekstu. Użytkownik mówi „Kliknij ulubione”, ale dostępna nazwa to „Zapisz” lub brakuje jej całkowicie. Niezgodność.
- Dwie kontrolki z tą samą dostępną nazwą. Dwa linki „Czytaj więcej” na stronie. Użytkownik mówi „Kliknij Czytaj więcej”; system sterowania głosowego wyświetla numerowaną nakładkę rozróżniającą. To nie jest błąd, tylko spowolnienie.
- Niezgodne zlokalizowane etykiety. Wypowiedziane po angielsku, ale
strona jest po polsku. Sterowanie głosowe użytkownika musi rozpoznać
właściwy język dla nazwy elementu. Poprawne ustawienie
langw HTML pomaga.
Najszybszy audyt ręczny: włączyć Voice Control na macOS lub Windows Speech Recognition i spróbować obsłużyć serwis głosem. Nieaktywowalne kontrolki stają się oczywiste w ciągu pięciu minut.