קריטריון 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 חיוני מהותית לתפקוד הספציפי.

מקורות

צריכים לעמוד בקריטריון הזה באתר שלכם?

ראו את המדריך המעשי להטמעה, או בדקו את האתר מול הצ'ק-ליסט.

לצ'ק-ליסט הנגישות