ARIA - שימוש נכון ושגיאות נפוצות
בקצרה
ARIA (Accessible Rich Internet Applications) היא מערכת תכונות שמוסיפה משמעות נגישה לרכיבים שאין להם סמנטיקה מובנית - בעיקר רכיבים דינמיים (תפריטים, חלוניות, טאבים). הכלל הראשון של ARIA: אם אפשר להשתמש ב-HTML סמנטי, עדיף עליו. ARIA שגוי מזיק יותר מאשר היעדר ARIA.
מה זה ARIA?
ARIA מאפשרת לתאר לקורא המסך תפקיד (role), מצב (state) ותכונות של רכיב. למשל, role="dialog" או aria-expanded="true". היא חיונית כשבונים רכיבים מורכבים שאין להם תג HTML מובנה.
הכלל הראשון של ARIA
"אל תשתמש ב-ARIA אם יש HTML מובנה שעושה את העבודה." כפתור צריך להיות <button>, לא <div role="button">. ה-HTML המובנה כבר נגיש, תומך במקלדת ובמצבים - בחינם.
שימושים נכונים
aria-labelלרכיב ללא טקסט נראה (למשל כפתור אייקון).aria-expandedלכפתור שפותח/סוגר תפריט.aria-liveלהודעות שמשתנות דינמית.- role-ים לרכיבים מותאמים (tabs, dialog) - לצד ניהול פוקוס נכון.
שגיאות נפוצות
- ARIA במקום HTML -
div role="button"בלי תמיכת מקלדת. - role סותר - הוספת role שגוי שמבלבל את קורא המסך.
- aria-hidden על תוכן חשוב - מסתיר אותו מקוראי מסך בטעות.
- תוויות כפולות - aria-label שמתנגש עם הטקסט הנראה.
זכרו
"No ARIA is better than bad ARIA" - ARIA שגוי גורם נזק. בספק? השתמשו ב-HTML סמנטי.
שאלות נפוצות
מתי להשתמש ב-ARIA?
רק כשאין רכיב HTML מובנה שעושה את העבודה - בעיקר ברכיבים דינמיים מותאמים.
מה הכלל הראשון של ARIA?
אם אפשר HTML סמנטי - עדיף עליו, אל תשתמש ב-ARIA.
האם ARIA הופך רכיב לנגיש?
לא לבדו. ARIA מוסיף משמעות, אבל צריך גם תמיכת מקלדת וניהול פוקוס.
מקורות
- W3C - Using ARIA (w3.org)
- ARIA Authoring Practices (w3.org/WAI)