קריטריון 2.5.2: ביטול פעולת מצביע רמה A
בקצרה
קריטריון 2.5.2 ביטול פעולת מצביע (Pointer Cancellation, רמה A) דורש שפונקציות המופעלות בנגיעה או לחיצה בודדת לא יופעלו מיד בעת הלחיצה (down-event), אלא רק בשחרור - כדי שמשתמשים יוכלו לבטל פעולה שגויה. קריטריון זה נוסף ב-WCAG 2.1 ולכן אינו מחייב לפי ת"י 5568 הנוכחי, אולם יישומו מומלץ.
פרטי הקריטריון
| מספר | 2.5.2 |
|---|---|
| שם | ביטול פעולת מצביע (Pointer Cancellation) |
| רמה | A |
| גרסה | WCAG 2.1 |
| עיקרון | 2 - ניתן לתפעול (Operable) |
| הנחיה | 2.5 - אופני קלט |
| מחייב לפי ת"י 5568 | לא - מעבר לדרישת ת"י 5568 (מומלץ) |
מה דורש קריטריון 2.5.2?
הקריטריון דורש שכל פונקציה המופעלת באמצעות לחיצת מצביע בודדת (לחיצת עכבר, נגיעה באצבע, עט דיגיטלי) תעמוד בלפחות אחד מהתנאים הבאים:
- ללא אירוע down (No Down-event) - הפונקציה אינה מופעלת בעת לחיצה (mousedown / touchstart) אלא רק בשחרור (mouseup / touchend).
- ביטול או ביטול-בחזרה (Abort or Undo) - הפונקציה מופעלת בשחרור, ויש מנגנון לביטול התוצאה לאחר מכן.
- שחרור להפעלה (Up Reversal) - הפעלה בלחיצה מבוטלת אם המשתמש מסיט את המצביע מחוץ לרכיב לפני השחרור.
- חיוניות (Essential) - הפעלה בעת לחיצה (down-event) חיונית מהותית לתפקוד הספציפי, כגון כלי נגינה וירטואלי.
הדרישה הנפוצה ביותר היא פשוטה: הפעילו פונקציות בשחרור, לא בלחיצה. זה מאפשר למשתמש לגרור את האצבע או העכבר מחוץ לכפתור לפני השחרור כדי לבטל פעולה שגויה.
למי זה עוזר?
- אנשים עם מוגבלויות מוטוריות שלעיתים לוחצים בטעות על כפתור - מנגנון הביטול נותן להם הזדמנות לתקן.
- משתמשים עם רעד ידיים שעלולים לפגוע בכפתורים שלא כוונו.
- כלל המשתמשים - מניעת לחיצה בטעות על כפתורים בעלי השפעה בלתי-הפיכה (מחיקה, שליחה, רכישה).
איך עומדים בקריטריון?
- הגדירו מאזיני אירועים על
click,mouseupאוpointerup- לא עלmousedownאוpointerdown. - אם הפעלת פעולה ב-down-event נדרשת - הוסיפו מנגנון ביטול (Undo) מיידי נגיש.
- לפעולות בלתי-הפיכות (מחיקה, שליחה) - הציגו דיאלוג אישור לפני ביצוע.
- ודאו שגרירת העכבר מחוץ לכפתור לפני השחרור מבטלת את הפעולה.
טיפ
הדפדפן ורכיבי HTML סטנדרטיים (<button>, <a>) מופעלים ב-up-event כברירת מחדל - אם אתם משתמשים בהם נכון, חלק גדול מהדרישה כבר מתקיים אוטומטית.
איך בודקים?
- בדיקה ידנית: לחצו על כפתור, גררו את סמן העכבר מחוץ לכפתור לפני השחרור - הפעולה לא אמורה להתרחש.
- בדיקה בנגיעה: לחצו על רכיב אינטראקטיבי, הסיטו את האצבע לפני ההרמה - ודאו שהפעולה בוטלה.
- בדקו שאין מאזיני
mousedown/pointerdownשמפעילים פעולות משמעותיות ואינן ניתנות לביטול. - כלים אוטומטיים אינם מזהים בעיה זו - נדרשת בדיקה ידנית בלבד.
שאלות נפוצות
מה דורש קריטריון 2.5.2?
הקריטריון דורש שפונקציות המופעלות בלחיצת מצביע בודדת יקיימו לפחות אחד מארבעה תנאים: ללא אירוע down, ביטול או ביטול-בחזרה, שחרור להפעלה, או חיוניות. בפועל, משמעות הדבר היא שרוב הפונקציות יופעלו רק בשחרור הלחיצה (up-event) ולא בעת הלחיצה (down-event).
מהי רמת הקריטריון 2.5.2?
רמה A. הקריטריון נוסף ב-WCAG 2.1 ולכן אינו נכלל בדרישות ת"י 5568 הנוכחי המבוסס על WCAG 2.0, אולם יישומו מומלץ.
האם מותר להפעיל פעולה ב-mousedown?
כן, אם מתקיים אחד מהתנאים: הפעולה ניתנת לביטול לאחר מכן, או שיש מנגנון לביטול בחזרה (undo), או שהשימוש ב-down-event חיוני מהותית לתפקוד הספציפי.
מקורות
- W3C - Understanding SC 2.5.2 Pointer Cancellation (w3.org/WAI)
- W3C - How to Meet WCAG (Quick Reference) (w3.org/WAI/quickref)
צריכים לעמוד בקריטריון הזה באתר שלכם?
ראו את המדריך המעשי להטמעה, או בדקו את האתר מול הצ'ק-ליסט.
לצ'ק-ליסט הנגישות