Přejít na obsah
Pandus

WCAG 2.5.2 Zrušení akce ukazatele

Aktualizováno 14. října 2026 · Čtení na 3 min

Úroveň
A · WCAG 2.1
EN 301 549
9.2.5.2
Co checker testuje
Ruční kontrola: automatický nástroj toto kritérium spolehlivě neověří.
Oficiální text
Understanding 2.5.2 Pointer Cancellation (W3C, v angličtině)

Kritérium úspěšnosti 2.5.2 usnadňuje nápravu nechtěných klepnutí a kliknutí. Lidé s třesem, omezenou zručností nebo slabozrakostí a každý, kdo klepe na malou obrazovku telefonu, často stisknou něco jiného, než chtěli. Pokud akce počká, až se prst nebo tlačítko uvolní, mohou prst odsunout a akci zrušit. Jde o úroveň A a je součástí normy EN 301 549 (článek 9.2.5.2). Na harmonizovanou normu EN 301 549 odkazuje i český zákon č. 424/2023 Sb.

Co kritérium vyžaduje

U funkcí, které lze ovládat jedním ukazatelem, platí alespoň jedno z následujícího:

  • Bez události stisku: událost stisku (down) se k provedení žádné části funkce nepoužívá;
  • Přerušení nebo vrácení: funkce se dokončí při události uvolnění (up) a existuje způsob, jak ji před dokončením přerušit nebo ji potom vrátit;
  • Vrácení uvolněním: událost uvolnění vrátí jakýkoli výsledek předchozí události stisku (například podržením zobrazit náhled, uvolněním ho zavřít);
  • Nezbytnost: dokončení funkce při události stisku je nezbytné.

W3C uvádí, že funkce napodobující stisk klávesy na klávesnici nebo numerické klávesnici se považují za nezbytné a že kritérium platí pro akce ukazatele, které interpretuje webový obsah, ne prohlížeč nebo asistivní technologie.

Typické chyby v e-shopu

  • tlačítko „Přidat do košíku“ nebo „Koupit hned“, které se spouští při mousedown, pointerdown nebo touchstart;
  • prvek „Odebrat položku“ v košíku, který maže při stisku bez možnosti vrácení;
  • dlaždice produktu, která přejde jinam, jakmile se jí prst dotkne, i když se uživatel snažil posouvat stránku;
  • menu, které se otevře při stisku a vybere položku ještě před uvolněním, takže uklouznutí vybere špatnou možnost.

Jak to zkontrolovat

Automaticky: pro toto kritérium neexistuje pravidlo axe-core. Axe nezkoumá, kterým událostem ukazatele skript naslouchá, proto je potřeba ruční kontrola.

Ručně: myší stiskněte a podržte tlačítko na každém důležitém prvku — „Přidat do košíku“, „Odebrat“, „Zaplatit“, položky menu — potom ukazatel z prvku odsuňte a tlačítko uvolněte. Nemělo by se nic stát. Totéž udělejte na dotykové obrazovce: dotkněte se, odsuňte prst, zvedněte ho. Pokud se akce stane při stisku, ověřte, že ji lze snadno vrátit.

Jak to opravit

  • Používejte standardní událost click (nebo nativní <button> a <a>), která se spouští při uvolnění.
  • Vyhněte se mousedown, pointerdown a touchstart pro akce; používejte je jen pro věci jako vizuální odezvu.
  • U destruktivních akcí nabídněte vrácení („Položka odebrána. Vrátit“) nebo potvrzení.
  • Zkontrolujte widgety třetích stran a skripty šablony — vlastní karusely a menu někdy reagují už při stisku.

Související kritéria

Časté otázky

Co vyžaduje WCAG 2.5.2 Zrušení akce ukazatele?

U akcí prováděných jedním ukazatelem musí platit alespoň jedno: při události stisku (down) se nic nespustí; akce se dokončí při události uvolnění (up) a lze ji přerušit nebo vrátit; uvolnění vrátí výsledek stisku; nebo je dokončení při stisku nezbytné.

Stačí použít událost click?

Obvykle ano. Standardní událost click se spouští při uvolnění a uživatelé mohou akci zrušit tím, že ukazatel před uvolněním z prvku odsunou. Problémy vznikají u obsluhy událostí mousedown, pointerdown nebo touchstart.

Existují z 2.5.2 výjimky?

Ano, když je akce při stisku nezbytná. W3C uvádí, že funkce napodobující stisk klávesy na klávesnici nebo numerické klávesnici, například klávesnice na obrazovce, se považují za nezbytné.