השנה ב-Chrome התחילה לעבור 88.2% מהבדיקות בתחום הנגישות של Interop 2024. ביוני 2024 היינו להגיע ל-100% מהבחינות שעברו בהצלחה. בפוסט הזה מוסבר על העבודה שהשגת יעד זה.
מה נכלל באזור המיקוד בנושא נגישות?
כמו בכל תחום התמקדות ב-Interop ב-2024, אזור הנגישות מוגדר קבוצת בדיקות של פלטפורמת אינטרנט לתכונות נבחרות. המטרות של בדיקות במסגרת הפעולה ההדדית לשנת 2024 כדי להבטיח שכל הדפדפנים ייצרו שמות נגישים ותפקידים מחושבים באותם בדרך הזו.
שמות נגישים מציינים את המטרה או הכוונה של רכיב HTML. המידע הזה עוזר המשתמשים מבינים למה מיועד הרכיב ואיך הם יכולים לקיים איתו אינטראקציה. מפרט accname מגדיר כיצד דפדפנים יצירת מחרוזת השם הנגישה הזו לרכיב. מפרט של ARIA כולל הדרכה מפורטת לגבי השם הזה מחושב.
התפקיד המחושב של רכיב הוא מחרוזת שמייצגת את התפקיד של
כפי שחושב על ידי מנוע הדפדפן. הוא משמש בעיקר למפתחים
כלים שונים, לדוגמה, בפונקציית WebDriver getComputedRole
, כדי להפעיל
בדיקת יכולת פעולה הדדית.
מה הצוות של Chrome צריך לעשות?
היו שני תחומים גדולים יותר שהיינו צריכים להשלים – שינוי מיפוי של תפקידים כלליים ועד לתפקידים גנריים והסרת תפקידים שהוצאו משימוש. ואז היו כמה תיקונים ותכונות קטנים יותר שצריך להטמיע. נוסף על העבודה שצוות Chrome השלים, שיתפנו פעולה גם עם Microsoft התיקונים שהם התחייבו ל-Chromium בתחום של התמקדות בנגישות.
לשנות את המיפוי של תפקידים מסוימים לתפקיד גנרי
שינוי מיפוי לתפקיד גנרי מסיר את הסמנטיקה של הנגישות מ לרכיב מסוים. אלמנטים כלליים לא מספקים ערך לעץ נגישות, ולכן לא נכללות בעץ. זה עוזר לשפר את הביצועים והופך את העץ קטן יותר וקל יותר לניתוח, לקבלת טכנולוגיה מסייעת. התפקידים הבאים הם לתפקיד כללי.
<header>
בהיקף של<main>
או רכיב תוכן של חלוקה לקטעים (<article>
,<aside>
,<nav>
או<section>
).<footer>
בהיקף של<main>
או רכיב התוכן של המקטע (<article>
,<aside>
,<nav>
או<section>
).<aside>
בתוך רכיב תוכן של קטעים (<article>
,<aside>
,<nav>
, או<section>
) ללא שם שניתן לגשת אליו.<section>
ללא שם נגיש.- פריטים שאינם משויכים לרשימה (
<li>
).
בארבע נקודות התבליט הראשונות, רכיבים אלה ממופים בדרך כלל ציוני דרך. אם יש בדף שני ציוני דרך רבים, זה עלול להקשות על הניווט בו, שינוי עוזר להפחית ציוני דרך מיותרים שמקלים על הניווט בדף. 'פריט סופי' מציין בדרך כלל טעות מצד המפתח של הדף, פריט ברשימה צריך להיות תמיד בתוך רשימה, לכן פריט שלא משויך לאף מכונה מקבל פריט גנרי תפקיד.
הסרת תפקיד שהוצא משימוש
הוצאנו משימוש את התפקיד directory
ומיפינו אותו לתפקיד 'רשימה'. ARIA
1.2 מוציא משימוש את directory
תפקיד. במפרט מוסבר שהוא מקביל לתפקיד list
, וגם
המפתחים צריכים להשתמש ב-list
. כדי לשמור על הסמנטיקה של תכנים ישנים
תוכן שמשתמש ב-directory
, הוא ממופה עכשיו ל-list
ב-Chrome.
תיקונים נוספים
הוספנו תמיכה
gridcell
תפקיד. התפקיד החדש הזה מבדיל בין gridcell
לבין
cell
ברורה יותר. gridcell
ניתן למיקוד, לעריכה ולבחירה, בניגוד ל-cell
.
הוספנו חישוב של תפקיד חלופי. בעבר לא בדקנו את החלופה אז אם התפקיד הראשון לא היה תקין, השתמשנו בתפקיד אחר שלא מה מפורט במפרט.
חלק מהתפקידים תקפים רק אם הם בהקשר הנכון, הוספנו בדיקה לשימוש לא חוקי בתפקידים, באופן הבא:
- התפקיד
row
צריך להיות בתוךtable
,grid
,rowgroup
אוtreegrid
. - התפקיד
rowgroup
צריך להיות בתוךtable
,grid
,tree
אוtreegrid
. - התפקיד
listitem
צריך להיות בתוךlist
.
אם התפקיד לא תקין, Chrome ישתמש עכשיו במידע אחר כמו קוד ה-HTML כדי לחשב תפקיד חלופי.
סימנו את thead
ואת tfooter
כחלק מעץ הנגישות.
בעבר הן סומנו כ'התעלמות', אבל עדיין נכללו בעץ. היום
אפשר לנתח את הכותרות העליונות והתחתונות של הטבלה לפי טכנולוגיות מסייעות.
אמנם ייתכן שהשינויים האלה לא יוצגו לרוב המפתחים, אבל בכל הדפדפנים כדי להבטיח שדברים אלה יפעלו באותו אופן, אנחנו מוודאים שנחשפים באופן זהה בכל מקום.