קריטריון 2.5.4: הפעלה בתנועה רמה A
בקצרה
קריטריון 2.5.4 הפעלה בתנועה (Motion Actuation, רמה A) דורש שפונקציות הפועלות על-ידי ניעוד המכשיר (כגון ניעור לביטול) או תנועת המשתמש שנחשת בחיישן יכללו חלופה בממשק ואפשרות לנטרל את תגובת התנועה. קריטריון זה נוסף ב-WCAG 2.1 ולכן אינו מחייב לפי ת"י 5568 הנוכחי, אולם יישומו מומלץ.
פרטי הקריטריון
| מספר | 2.5.4 |
|---|---|
| שם | הפעלה בתנועה (Motion Actuation) |
| רמה | A |
| גרסה | WCAG 2.1 |
| עיקרון | 2 - ניתן לתפעול (Operable) |
| הנחיה | 2.5 - אופני קלט |
| מחייב לפי ת"י 5568 | לא - מעבר לדרישת ת"י 5568 (מומלץ) |
מה דורש קריטריון 2.5.4?
הקריטריון דורש שכאשר פונקציה מופעלת על-ידי תנועה פיזית של המכשיר או המשתמש, יתקיימו שני תנאים במקביל:
- חלופה בממשק - אותה פונקציה ניתנת לביצוע גם דרך ממשק משתמש רגיל שאינו מבוסס על תנועה (לחיצת כפתור, בחירה מתפריט וכד').
- אפשרות נטרול - המשתמש יכול לנטרל את תגובת המכשיר לתנועה, כדי למנוע הפעלה בשוגג (למשל כאשר המכשיר מחובר לכיסא גלגלים ומתנודד בתנועה).
החריג: אם התנועה חיונית מהותית לתפקוד הספציפי - כגון אפליקציה למדידת רעידות שבה ניעוד המכשיר הוא עצם המדידה - הדרישה אינה חלה.
דוגמאות נפוצות לתנועות שהקריטריון חל עליהן: ניעור המכשיר לביטול, הטיית המכשיר לשינוי נקודת מבט, הנפת הידיים לפקוד על ממשק.
למי זה עוזר?
- אנשים עם מוגבלויות מוטוריות המשתמשים בכיסאות גלגלים - הכיסא עלול לגרום לניעודים לא-מכוונים של המכשיר שיפעילו פונקציות בשגגה.
- אנשים עם רעד ידיים שאינם יכולים לשלוט על תנועת המכשיר.
- משתמשים שמכשירם מחובר למשטח קבוע (זרוע, שולחן) ואינו ניתן לניעוד.
איך עומדים בקריטריון?
- לכל פעולה המופעלת בניעוד (DeviceMotion / DeviceOrientation) - הוסיפו כפתור או פקד ממשק שמבצע את אותה פעולה.
- הוסיפו הגדרה שמאפשרת למשתמש לנטרל את תגובת התנועה באפליקציה.
- כבדו את הגדרת מערכת ההפעלה "הפחתת תנועה" (
prefers-reduced-motion) - אם המשתמש ביקש הפחתת תנועה, שקלו לנטרל פעולות המופעלות בתנועה. - בדקו אם יש שימוש ב-API של חיישנים (
Gyroscope,Accelerometer,DeviceOrientationEvent) - ודאו שיש חלופות.
טיפ
שקלו אם הפעולה בתנועה נחוצה בכלל. רוב הפונקציות שניתן להפעיל בניעוד ניתנות להפעלה בצורה טובה יותר דרך ממשק מגע רגיל.
איך בודקים?
- בדיקה ידנית: זהו אם האפליקציה משתמשת בחיישני תנועה (DeviceMotion, DeviceOrientation, Gyroscope) ובדקו אם קיימת חלופה בממשק.
- בדיקה בקוד: חפשו מאזינים לאירועי
devicemotion,deviceorientationו-shake. - בדיקת נטרול: ודאו שהמשתמש יכול לנטרל תגובות תנועה (בהגדרות האפליקציה או ברמת מערכת ההפעלה).
- כלים אוטומטיים אינם מזהים בעיה זו - נדרשת בדיקה ידנית בלבד.
שאלות נפוצות
מה דורש קריטריון 2.5.4?
הקריטריון דורש שפונקציות המופעלות על-ידי ניעוד המכשיר (כגון ניעור לביטול) או תנועת המשתמש שנחשת על-ידי חיישן יקיימו שני תנאים: ניתן לבצע אותן גם באמצעות ממשק משתמש רגיל, וניתן לנטרל את תגובת התנועה כדי למנוע הפעלה בשוגג.
מהי רמת הקריטריון 2.5.4?
רמה A. הקריטריון נוסף ב-WCAG 2.1 ולכן אינו נכלל בדרישות ת"י 5568 הנוכחי המבוסס על WCAG 2.0, אולם יישומו מומלץ.
האם כל שימוש בחיישן תנועה מחייב חלופה?
לא - החריג הוא כאשר התנועה חיונית מהותית לתפקוד. לדוגמה, יישום המדמה מד-תאוצה שמטרתו לבדוק את תנועת המכשיר עצמו אינו חייב לספק חלופה.
מקורות
- W3C - Understanding SC 2.5.4 Motion Actuation (w3.org/WAI)
- W3C - How to Meet WCAG (Quick Reference) (w3.org/WAI/quickref)
צריכים לעמוד בקריטריון הזה באתר שלכם?
ראו את המדריך המעשי להטמעה, או בדקו את האתר מול הצ'ק-ליסט.
לצ'ק-ליסט הנגישות