WCAG 2.5.2 Anularea acțiunii pointerului
Actualizat 14 octombrie 2026 · Lectură de 4 min
- Nivel
- A · WCAG 2.1
- EN 301 549
- 9.2.5.2
- Ce verifică checker-ul
- Verificare manuală: un instrument automat nu poate verifica fiabil acest criteriu.
- Textul oficial
- Understanding 2.5.2 Pointer Cancellation (W3C, în engleză)
Criteriul de succes 2.5.2 face mai ușoară revenirea după atingeri și clicuri accidentale. Persoanele cu tremor, dexteritate redusă sau vedere slabă și oricine atinge ecranul mic al unui telefon apasă adesea pe altceva decât voiau. Dacă acțiunea așteaptă până la ridicarea degetului sau eliberarea butonului, ei pot aluneca în lateral și anula. Este de nivelul A și face parte din EN 301 549 (clauza 9.2.5.2); Legea 232/2022 se bazează pe standardul armonizat EN 301 549.
Ce cere criteriul
Pentru funcționalitățile care pot fi operate cu un singur pointer, cel puțin una dintre următoarele este adevărată:
- Fără eveniment de apăsare: evenimentul de apăsare nu este folosit pentru a executa vreo parte a funcției;
- Întrerupere sau anulare: funcția se finalizează la evenimentul de eliberare și există o cale de a o întrerupe înainte de finalizare sau de a o anula ulterior;
- Inversare la eliberare: evenimentul de eliberare inversează orice efect al apăsării precedente (de exemplu, apăsați și țineți pentru previzualizare, eliberați pentru a închide);
- Esențial: finalizarea funcției la evenimentul de apăsare este esențială.
W3C precizează că funcțiile care emulează apăsarea unei taste de pe tastatură sau de pe o tastatură numerică sunt considerate esențiale și că criteriul se aplică acțiunilor pointerului interpretate de conținutul web, nu browserului sau tehnologiei asistive.
Greșeli tipice într-un magazin online
- un buton „Adaugă în coș” sau „Cumpără acum” care se declanșează la
mousedown,pointerdownsautouchstart; - un control „Eliminați produsul” din coș care șterge la apăsare, fără posibilitate de anulare;
- un card de produs care deschide altă pagină imediat ce un deget îl atinge, deși utilizatorul încerca să deruleze;
- un meniu care se deschide la apăsare și selectează un element înainte de eliberare, astfel încât o alunecare alege opțiunea greșită.
Cum se verifică
Automat: nu există nicio regulă axe-core pentru acest criteriu. Axe nu verifică ce evenimente ale pointerului ascultă un script, așa că este nevoie de o verificare manuală.
Manual: cu mouse-ul, apăsați și țineți butonul pe fiecare control important — „Adaugă în coș”, „Eliminați”, „Plătiți”, elementele de meniu — apoi mutați pointerul de pe control și eliberați. Nu trebuie să se întâmple nimic. Faceți la fel pe un ecran tactil: atingeți, alunecați în lateral, ridicați degetul. Dacă o acțiune are loc la apăsare, verificați că poate fi anulată ușor.
Cum se remediază
- Folosiți evenimentul standard
click(sau elementele native<button>și<a>), care se declanșează la eliberare. - Evitați
mousedown,pointerdownșitouchstartpentru acțiuni; folosiți-le doar pentru lucruri precum reacția vizuală. - Pentru acțiunile distructive, oferiți o anulare („Produs eliminat. Anulați”) sau o confirmare.
- Verificați widgeturile terților și scripturile temei — caruselele și meniurile personalizate acționează uneori la apăsare.
Criterii conexe
- 2.5.1 Gesturi cu pointerul — gesturile complexe au nevoie de alternative cu un singur pointer.
- 2.5.8 Dimensiunea țintei (minim) — țintele mai mari reduc atingerile accidentale.
- 2.5.7 Mișcări de tragere — tragerea are nevoie de o alternativă cu un singur pointer.
Întrebări frecvente
Ce cere WCAG 2.5.2 Anularea acțiunii pointerului?
Pentru acțiunile făcute cu un singur pointer, cel puțin una dintre condiții trebuie să fie adevărată: nimic nu rulează la evenimentul de apăsare; acțiunea se finalizează la evenimentul de eliberare și poate fi întreruptă sau anulată; eliberarea inversează efectul apăsării; sau finalizarea la apăsare este esențială.
Este suficient să folosiți evenimentul click?
De obicei, da. Evenimentul click standard se declanșează la eliberare, iar utilizatorii pot anula mutând pointerul de pe control înainte să ridice degetul. Problemele apar la gestionarii pentru mousedown, pointerdown sau touchstart.
Există excepții de la 2.5.2?
Da, atunci când acțiunea la evenimentul de apăsare este esențială. W3C precizează că funcțiile care emulează apăsarea unei taste de pe tastatură sau de pe o tastatură numerică, cum ar fi o tastatură pe ecran, sunt considerate esențiale.