קריטריון 2.3.3: אנימציה מאינטראקציות רמה AAA
בקצרה
קריטריון 2.3.3 אנימציה מאינטראקציות (Animation from Interactions, רמה AAA) דורש שאנימציות תנועה המופעלות על ידי אינטראקציה (כמו גלילה מונפשת, אפקט פרלקס, מעברי עמוד) ניתנות לביטול - אלא אם הן חיוניות לתפקוד. קריטריון זה אינו נדרש לפי ת"י 5568 (נוסף ב-WCAG 2.1, רמה AAA), אך יישומו מומלץ.
פרטי הקריטריון
| מספר | 2.3.3 |
|---|---|
| שם | אנימציה מאינטראקציות (Animation from Interactions) |
| רמה | AAA |
| גרסה | WCAG 2.1 |
| עיקרון | 2 - ניתן לתפעול (Operable) |
| הנחיה | 2.3 - התקפים ותגובות פיזיות |
| מחייב לפי ת"י 5568 | לא - רמה AAA, אינה נדרשת |
מה דורש קריטריון 2.3.3?
הקריטריון דורש שאנימציות תנועה המופעלות על ידי אינטראקציה של המשתמש יהיו ניתנות לביטול - אלא אם האנימציה חיונית לתפקוד. כלומר, משתמשים שרגישים לתנועה בממשק (motion sickness) יוכלו לבטל את האנימציות ולהמשיך להשתמש בתוכן. הקריטריון מכסה:
- גלילה מונפשת - smooth scrolling שמנפש את הגלילה לאט.
- אפקט פרלקס - תנועת רקע בקצב שונה מתנועת התוכן.
- מעברי עמוד - אנימציות zoom, slide, fade בעת מעבר בין עמודים.
- אנימציות תגובה - רכיבים שזזים בתגובה לגלילה, לאינטראקציה עם עכבר, או לטעינת תוכן.
הקריטריון אינו מכסה הבזקים (עליהם חלים קריטריונים 2.3.1 ו-2.3.2), ואינו אוסר אנימציות - רק דורש שיהיה מנגנון לביטולן.
למי זה עוזר?
- אנשים עם הפרעות וסטיבולריות (vestibular disorders) - תנועה בממשק עלולה לגרום לסחרחורת, בחילה ואובדן שיווי משקל.
- אנשים עם מחלת תנועה (motion sickness) - גם בסביבה ממוחשבת.
- אנשים עם הפרעות קשב ריכוז - תנועה בממשק מסיחה את הדעת ומפריעה לריכוז.
- משתמשים עם מיגרנות - אנימציות מהירות יכולות לעורר תסמינים.
איך עומדים בקריטריון?
- השתמשו ב-CSS media query
prefers-reduced-motion: reduceכדי לבטל אנימציות עבור משתמשים שהגדירו זאת במערכת ההפעלה שלהם. - הוסיפו כפתור "כבה אנימציות" בממשק שמגדיר preference מקומי ל-session.
- הימנעו מאפקט פרלקס ומגלילה מונפשת כברירת מחדל - או ספקו אפשרות לכבות אותם.
- מעברי עמוד - העדיפו fade מהיר על פני אנימציות zoom או slide גדולות.
- בגרסאות mobile - בדקו שהגדרת "Reduce Motion" של iOS ו-Android מכובדת.
טיפ
כלל CSS בסיסי שכדאי לכלול בכל פרויקט: @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } } - מבטל כמעט כל אנימציה עבור משתמשים שביקשו זאת.
איך בודקים?
- הגדירו "Reduce Motion" (הפחתת תנועה) בהגדרות מערכת ההפעלה (macOS, iOS, Windows, Android) ובדקו שהאנימציות מבוטלות או מצומצמות.
- בדיקת DevTools: ב-Chrome DevTools ניתן לדמות prefers-reduced-motion ב-Rendering panel.
- עברו על הדף ואתרו את כל האנימציות המופעלות על ידי גלילה, קליקים, ומעברים.
- בדקו שקיים מנגנון ביטול לכל אנימציה שאינה חיונית לתפקוד.
- כלים אוטומטיים אינם בודקים תאמה לקריטריון זה - נדרשת בדיקה ידנית.
שאלות נפוצות
איזה סוג אנימציה מכסה קריטריון 2.3.3?
קריטריון 2.3.3 מכסה אנימציות תנועה המופעלות על ידי אינטראקציה של המשתמש - כמו גלילה מונפשת, מעברי עמוד עם זום, פרלקס, ואנימציות parallax. הוא אינו מכסה הבזקים (עליהם חלים קריטריונים 2.3.1 ו-2.3.2).
מהי רמת הקריטריון 2.3.3?
רמה AAA - הרמה הגבוהה ביותר. הקריטריון נוסף ב-WCAG 2.1 ואינו נדרש לפי ת"י 5568, אך יישומו מומלץ לנגישות מקסימלית.
איך מיישמים את prefers-reduced-motion?
מוסיפים ב-CSS כלל @media (prefers-reduced-motion: reduce) ובתוכו מבטלים או מצמצמים אנימציות. לדוגמה: הגדרת animation: none ו-transition: none עבור רכיבים שיש בהם תנועה.
מקורות
- W3C - Understanding SC 2.3.3 Animation from Interactions (w3.org/WAI)
- W3C - How to Meet WCAG (Quick Reference) (w3.org/WAI/quickref)
צריכים לעמוד בקריטריון הזה באתר שלכם?
ראו את המדריך המעשי להטמעה, או בדקו את האתר מול הצ'ק-ליסט.
לצ'ק-ליסט הנגישות