יכולת פעולה הדדית ב-2024: עובדים עם Chrome ב-100% עבור התמקדות בנגישות

Jocelyn Tran
Jocelyn Tran

השנה ב-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 כחלק מעץ הנגישות. בעבר הן סומנו כ'התעלמות', אבל עדיין נכללו בעץ. היום אפשר לנתח את הכותרות העליונות והתחתונות של הטבלה לפי טכנולוגיות מסייעות.


אמנם ייתכן שהשינויים האלה לא יוצגו לרוב המפתחים, אבל בכל הדפדפנים כדי להבטיח שדברים אלה יפעלו באותו אופן, אנחנו מוודאים שנחשפים באופן זהה בכל מקום.