רוצים להפוך את האתר שלכם ב-Angular לנגיש לכולם? זה המקום הנכון!
כשהאפליקציה נגישה, כל המשתמשים, כולל אנשים עם צרכים מיוחדים, יכולים להשתמש בה ולהבין את התוכן. לפי דוח הבריאות העולמי, ליותר ממיליארד אנשים – כ-15% מהאוכלוסייה העולמית – יש סוג כלשהו של מוגבלות. לכן נגישות נמצאת בעדיפות גבוהה בכל פרויקט פיתוח.
בפוסט הזה תלמדו איך להוסיף את בדיקות הנגישות של codelyzer לתהליך ה-build של אפליקציית Angular. הגישה הזו מאפשרת לזהות באגים בנגישות ישירות בעורך הטקסט בזמן הכתיבה.
שימוש ב-codelyzer כדי לזהות רכיבים שאינם נגישים
codelyzer הוא כלי שמבוסס על TSLint ובודק אם פרויקטים של Angular TypeScript פועלים בהתאם לקבוצה של כללי איתור שגיאות בקוד. פרויקטים שהוגדרו באמצעות ממשק שורת הפקודה (CLI) של Angular כוללים את codelyzer כברירת מחדל.
ל-Codelyzer יש יותר מ-50 כללים לבדיקה אם אפליקציה ב-Agular פועלת לפי השיטות המומלצות. מתוך אלה, יש כ-10 כללים לאכיפת קריטריונים של נגישות. כדי לקבל מידע על בדיקות הנגישות השונות שסופקו על ידי Codelyzer והנימוקים שלהן, אפשר לעיין במאמר כללי נגישות חדשים ב-Codelyzer.
נכון לעכשיו, כל כללי הנגישות הם ניסיוניים ומושבתים כברירת מחדל. כדי להפעיל אותן צריך להוסיף אותן לקובץ התצורה של TSLint (tslint.json
):
{
"rulesDirectory": [
"codelyzer"
],
"rules": {
...,
"template-accessibility-alt-text": true,
"template-accessibility-elements-content": true,
"template-accessibility-label-for": true,
"template-accessibility-tabindex-no-positive": true,
"template-accessibility-table-scope": true,
"template-accessibility-valid-aria": true,
"template-click-events-have-key-events": true,
"template-mouse-events-have-key-events": true,
"template-no-autofocus": true,
"template-no-distracting-elements": true
}
}
טכנולוגיית TSLint עובדת עם כל עורכי הטקסט וסביבות הפיתוח המשולבות (IDE) הפופולריים. כדי להשתמש בו ב-VSCode, צריך להתקין את פלאגין TSLint. ב-WebStorm, TSLint מופעל כברירת מחדל. בקובץ ה-README של TSLint מפורטות הוראות לשימוש בכלים אחרים.
כשמגדירים את בדיקות הנגישות של codelyzer, מוצג חלון קופץ עם שגיאות נגישות בקובצי TypeScript או בתבניות בתוך שורות קוד בזמן הכתיבה:
כדי לבצע איתור שגיאות בקוד של הפרויקט כולו (כולל תבניות חיצוניות), משתמשים בפקודה ng lint
:
השלמת codelyzer
Lighthouse הוא כלי נוסף שאפשר להשתמש בו כדי לאכוף שיטות נגישות באפליקציית Angular. ההבדל העיקרי בין Codelyzer ו-Lighthouse הוא היכולת לבצע את הבדיקות. Codelyzer מנתח את האפליקציה באופן סטטי בזמן הפיתוח, בלי להריץ אותה. כלומר, במהלך הפיתוח אפשר לקבל משוב ישירות בעורך הטקסט או במסוף. לעומת זאת, Lighthouse מפעיל את האפליקציה ומבצע כמה בדיקות באמצעות ניתוח דינמי.
שני הכלים האלה יכולים להיות חלקים שימושיים בתהליך הפיתוח. ל-Lighthouse יש כיסוי טוב יותר בגלל הבדיקות שהוא מבצע, בעוד ש-codelyzer מאפשר לכם לבצע איטרציות מהר יותר על ידי קבלת משוב קבוע בכלי לעריכת טקסט.
אכיפת בדיקות נגישות באינטגרציה רציפה (CI)
הוספת בדיקות נגישות סטטיות לתהליך השילוב המתמשך (CI) יכולה לשפר מאוד את תהליך הפיתוח. בעזרת codelyzer אפשר לאכוף בקלות כללים מסוימים של נגישות או שיטות אחרות, על ידי הפעלת ng lint
בכל שינוי בקוד (לדוגמה, בכל בקשת משיכה חדשה).
כך, עוד לפני שתמשיכו לבדיקת הקוד, ספק ה-CI יוכל להודיע לכם אם יש הפרות בנושא נגישות.
סיכום
כדי לשפר את הנגישות של אפליקציית Angular:
- מפעילים את כללי הנגישות הניסיוניים ב-codelyzer.
- ביצוע איתור שגיאות בקוד (linting) של נגישות בכל הפרויקט באמצעות Angular CLI.
- מתקנים את כל בעיות הנגישות שדווחו על ידי codelyzer.
- כדאי להשתמש ב-Lighthouse לבדיקות נגישות בזמן ריצה.