Poziom
A
Od wersji
WCAG 2.1
/ Kryterium WCAG

2.5.1 Gesty dotykowe

Wszystko, co robi się szczypnięciem dwoma palcami, przesunięciem albo narysowaną ścieżką, musi działać także po jednym stuknięciu lub kliknięciu, chyba że sam gest jest niezbędny.

/ Czego wymaga

Niektóre gesty wymagają dwóch palców naraz albo dokładnej ścieżki. Gest wielopunktowy to szczypnięcie, które powiększa, stuknięcie lub przesunięcie dwoma palcami albo stuknięcie jednym palcem, gdy drugi spoczywa na ekranie. Gest oparty na ścieżce zależy od drogi wskaźnika: przesunięcie lub machnięcie rozpoznawane tylko po w miarę prostej linii albo kształt, który trzeba narysować. Kryterium wymaga, żeby wszystko, co obsługuje się w ten sposób, dało się obsłużyć także pojedynczym wskaźnikiem bez ścieżki, czyli stuknięciem, kliknięciem, podwójnym stuknięciem albo długim przytrzymaniem. Chroni to osoby, które wskazują jednym palcem, patyczkiem, wskaźnikiem na głowę, wzrokiem albo myszą sterowaną głosem, i każdego, kto nie może poruszać się precyzyjnie.

Wyjątkiem jest gest niezbędny, na przykład odręczny podpis. Kryterium dotyczy gestów interpretowanych przez treść, a nie gestów przeglądarki, systemu operacyjnego czy technologii wspomagających, takich jak przesunięcie wstecz w historii albo gesty samego czytnika ekranu. Swobodne przeciąganie w dowolnym kierunku nie jest gestem opartym na ścieżce; WCAG 2.2 obejmuje je kryterium 2.5.7 Ruchy przeciągania, a alternatywa dla pojedynczego wskaźnika nie może tu polegać wyłącznie na przeciąganiu. Obsługa z klawiatury nie wystarcza, bo wiele osób korzystających ze wskaźnika nie ma pod ręką klawiatury.

/ Jak strony go nie spełniają

  • Mapa powiększa się tylko szczypnięciem i nie ma przycisków plus i minus.
  • Karuzela przechodzi do następnego slajdu tylko po przesunięciu w poziomie, bez przycisków poprzedni i następny.
  • Przesunięcie wiersza listy w lewo odsłania akcję usuwania, do której nie da się dojść, stukając w wiersz.
  • Narysowanie litery Z na ekranie cofa ostatnią czynność, a przycisku cofania nie ma.
  • Własny suwak gubi uchwyt, gdy tylko wskaźnik zejdzie z toru, a kliknięcie w tor nic nie robi.

/ Jak sprawdzić samodzielnie

  1. Na telefonie lub tablecie znajdź wszystko, co reaguje na szczypnięcie, stuknięcie kilkoma palcami albo przesunięcie: mapy, karuzele, galerie zdjęć, przesuwane wiersze list, suwaki i pola do rysowania.
  2. Przy każdym z nich spróbuj osiągnąć ten sam efekt wyłącznie pojedynczymi stuknięciami lub kliknięciami: przyciskiem, klikalnym torem, menu.
  3. Sprawdź, czy alternatywa obejmuje każdy wynik gestu, na przykład oba kierunki przesunięcia i każdą akcję, którą gest odsłania.
  4. Przeszukaj skrypty pod kątem obsługi zdarzeń touchstart, touchmove i pointermove oraz bibliotek gestów, takich jak Hammer.js. Pokazują one, gdzie strona sama interpretuje gesty.
  5. Upewnij się, że alternatywa nie jest sama przeciąganiem, które przenosi problem do 2.5.7, ani wyłącznie skrótem klawiszowym.

/ Jak to naprawić

  • Dodaj do każdej mapy i powiększanego obrazu przyciski powiększania i pomniejszania jako elementy button z nazwami dostępnymi, na przykład „Powiększ” i „Pomniejsz”.
  • Daj karuzelom i galeriom przyciski poprzedni i następny, które przesuwają o jeden element na stuknięcie lub kliknięcie.
  • Każdą akcję ukrytą pod przesunięciem udostępnij jako przycisk w wierszu albo w menu otwieranym stuknięciem.
  • Pozwól, żeby tor suwaka przyjmował kliknięcie lub stuknięcie ustawiające wartość, i dodaj po obu stronach przyciski zmiany o krok. Suwak zbudowany na input type="range" dostaje obsługę kliknięcia w tor od przeglądarki.
  • Każde polecenie rysowane jako kształt, na przykład gest cofania, uzupełnij zwykłym przyciskiem, który robi to samo.

/ Co sprawdza nasz skaner

Nasz skan nie sprawdza tego kryterium. Gest istnieje w skrypcie, a skan nie czyta obsługi zdarzeń i nie wykonuje szczypnięć ani przesunięć. Test HTML_CodeSniffer dla 2.5.1 zgłasza tylko uwagę, którą skan odrzuca. W audycie ręcznym każdy gest i jego alternatywę dla pojedynczego wskaźnika sprawdza się ręcznie na urządzeniu dotykowym.

/ Kto je łamie, według naszych pomiarów

Cotygodniowy indeks nie ma danych dla tego kryterium, bo żaden test uruchamiany przez skan witryny go nie sprawdza. Ocenia je człowiek i do tego służy audyt ręczny.

Jedna strona na podmiot, mierzona automatycznie w tygodniowym cyklu. Jeśli podmiot coś naprawił od ostatniego pomiaru, zmiana będzie widoczna przy następnym, a każdy podmiot może odpowiedzieć na swojej stronie.

/ Pytania o to kryterium

Czy przesuwanie karuzeli palcem narusza WCAG?

Samo w sobie nie. Przesuwanie jest dozwolone, o ile ten sam efekt można osiągnąć pojedynczym wskaźnikiem bez ścieżki, na przykład przyciskami poprzedni i następny, które zmieniają slajd po jednym stuknięciu lub kliknięciu. Karuzela, która reaguje tylko na przesunięcie, narusza 2.5.1.

Czy obsługa z klawiatury spełnia kryterium 2.5.1 Gesty dotykowe?

Nie. Obsługi z klawiatury wymaga osobno kryterium 2.1.1 Klawiatura i nie zastępuje ona alternatywy dla wskaźnika. Wiele osób korzystających z ekranu dotykowego, wskaźnika na głowę albo sterowania wzrokiem nie ma pod ręką klawiatury, więc potrzebuje kontrolki, którą można stuknąć lub kliknąć.

Jakie gesty nie są objęte kryterium 2.5.1?

Gesty, które zapewnia przeglądarka, system operacyjny albo technologia wspomagająca, na przykład przesunięcie wstecz w historii, przewijanie strony czy gesty nawigacyjne czytnika ekranu. Wyłączone są też gesty niezbędne, takie jak złożenie podpisu. Przeciąganie w dowolnym kierunku nie jest gestem opartym na ścieżce i należy do kryterium 2.5.7 Ruchy przeciągania.