Przejdź do treści
Pandus

WCAG 2.5.2 Rezygnacja ze wskazania

Zaktualizowano 14 października 2026 · 3 min czytania

Poziom
A · WCAG 2.1
EN 301 549
9.2.5.2
Co sprawdza checker
Ręczna weryfikacja: narzędzie automatyczne nie sprawdzi tego kryterium w wiarygodny sposób.
Oficjalny tekst
Understanding 2.5.2 Pointer Cancellation (W3C, po angielsku)

Kryterium sukcesu 2.5.2 ułatwia wycofanie się z przypadkowych dotknięć i kliknięć. Osoby z drżeniem rąk, ograniczoną sprawnością dłoni lub słabowidzące, a także każdy, kto stuka w mały ekran telefonu, często naciskają nie to, co trzeba. Jeśli akcja czeka, aż palec lub przycisk zostanie puszczony, można odsunąć palec i ją anulować. To poziom A, część normy EN 301 549 (punkt 9.2.5.2).

Czego wymaga kryterium

W przypadku funkcji, które można obsłużyć jednym wskaźnikiem, spełniony jest co najmniej jeden z warunków:

  • Brak zdarzenia naciśnięcia: zdarzenie naciśnięcia (down-event) nie jest używane do wykonania żadnej części funkcji;
  • Przerwanie lub cofnięcie: funkcja kończy się przy zdarzeniu puszczenia (up-event) i istnieje sposób, by ją przerwać przed zakończeniem lub cofnąć po nim;
  • Odwrócenie przy puszczeniu: puszczenie odwraca każdy skutek poprzedzającego naciśnięcia (np. naciśnij i przytrzymaj, aby zobaczyć podgląd, puść, aby go zamknąć);
  • Niezbędność: zakończenie funkcji przy zdarzeniu naciśnięcia jest niezbędne.

W3C zaznacza, że funkcje naśladujące naciśnięcie klawisza klawiatury lub klawiatury numerycznej są uznawane za niezbędne, a kryterium dotyczy akcji wskaźnika interpretowanych przez treść strony, a nie przeglądarki ani technologii wspomagającej.

Typowe błędy w sklepie internetowym

  • przycisk „Dodaj do koszyka” lub „Kup teraz”, który uruchamia się przy mousedown, pointerdown lub touchstart;
  • element „Usuń produkt” w koszyku, który usuwa już przy naciśnięciu, bez możliwości cofnięcia;
  • kafelek produktu, który przenosi na inną stronę, gdy tylko palec go dotknie, choć użytkownik chciał przewinąć stronę;
  • menu, które otwiera się przy naciśnięciu i wybiera pozycję jeszcze przed puszczeniem, więc jedno ześlizgnięcie palca wybiera złą opcję.

Jak to sprawdzić

Automatycznie: axe-core nie ma reguły dla tego kryterium. Axe nie sprawdza, na które zdarzenia wskaźnika nasłuchuje skrypt, dlatego potrzebna jest kontrola ręczna.

Ręcznie: na każdym ważnym elemencie — „Dodaj do koszyka”, „Usuń”, „Zapłać”, pozycje menu — nacisnąć i przytrzymać przycisk myszy, a następnie odsunąć wskaźnik od elementu i puścić. Nic nie powinno się wydarzyć. To samo zrobić na ekranie dotykowym: dotknąć, przesunąć palec w bok, podnieść. Jeśli akcja następuje przy naciśnięciu, sprawdzić, czy można ją łatwo cofnąć.

Jak to naprawić

  • Używać standardowego zdarzenia click (albo natywnych <button> i <a>), które uruchamia się przy puszczeniu.
  • Unikać mousedown, pointerdown i touchstart przy akcjach; używać ich tylko np. do wizualnej informacji zwrotnej.
  • Przy akcjach nieodwracalnych zapewnić cofnięcie („Produkt usunięty. Cofnij”) albo potwierdzenie.
  • Sprawdzić widżety zewnętrzne i skrypty motywu — własne karuzele i menu czasem działają już przy naciśnięciu.

Powiązane kryteria

Najczęstsze pytania

Czego wymaga WCAG 2.5.2 Rezygnacja ze wskazania?

W przypadku akcji wykonywanych jednym wskaźnikiem musi być spełniony co najmniej jeden warunek: nic nie uruchamia się przy zdarzeniu naciśnięcia; akcja kończy się przy zdarzeniu puszczenia i można ją przerwać lub cofnąć; puszczenie odwraca skutek naciśnięcia; albo zakończenie akcji przy naciśnięciu jest niezbędne.

Czy wystarczy użyć zdarzenia click?

Zwykle tak. Standardowe zdarzenie click uruchamia się przy puszczeniu, a użytkownik może zrezygnować, odsuwając wskaźnik od elementu przed puszczeniem. Problemy powodują procedury obsługi mousedown, pointerdown lub touchstart.

Czy od 2.5.2 są wyjątki?

Tak, gdy działanie przy zdarzeniu naciśnięcia jest niezbędne. W3C zaznacza, że funkcje naśladujące naciśnięcie klawisza klawiatury lub klawiatury numerycznej, np. klawiatura ekranowa, są uznawane za niezbędne.