# יצירת דפי אינטרנט נגישים ![הכל על נגישות](../../../../translated_images/webdev101-a11y.8ef3025c858d897a403a1a42c0897c76e11b724d9a8a0c0578dd4316f7507622.he.png) > איור מאת [Tomomi Imura](https://twitter.com/girlie_mac) ## שאלון לפני השיעור [שאלון לפני השיעור](https://ff-quizzes.netlify.app/web/) > הכוח של האינטרנט טמון באוניברסליות שלו. גישה לכולם, ללא קשר למוגבלות, היא היבט חיוני. > > \- סר טימותי ברנרס-לי, מנהל W3C וממציא האינטרנט הנה משהו שעשוי להפתיע אתכם: כשאתם בונים אתרי אינטרנט נגישים, אתם לא רק עוזרים לאנשים עם מוגבלויות—אתם למעשה משפרים את האינטרנט עבור כולם! שמתם לב פעם לשיפועים בפינות הרחוב? הם תוכננו במקור עבור כיסאות גלגלים, אבל עכשיו הם עוזרים גם לאנשים עם עגלות, עובדים עם עגלות משלוח, מטיילים עם מזוודות על גלגלים וגם לרוכבי אופניים. בדיוק כך עובד עיצוב אתרים נגיש—פתרונות שמועילים לקבוצה אחת, לעיתים קרובות מועילים לכולם. די מגניב, נכון? בשיעור הזה, נחקור כיצד ליצור אתרים שעובדים באמת עבור כולם, לא משנה איך הם גולשים באינטרנט. תגלו טכניקות מעשיות שכבר מובנות בסטנדרטים של האינטרנט, תתנסו בכלי בדיקה ותראו כיצד נגישות הופכת את האתרים שלכם לשימושיים יותר עבור כל המשתמשים. בסוף השיעור הזה, תהיה לכם הביטחון להפוך את הנגישות לחלק טבעי מתהליך הפיתוח שלכם. מוכנים לחקור כיצד בחירות עיצוביות מחושבות יכולות לפתוח את האינטרנט למיליארדי משתמשים? בואו נתחיל! > ניתן לקחת את השיעור הזה ב-[Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/accessibility/?WT.mc_id=academic-77807-sagibbon)! ## הבנת טכנולוגיות מסייעות לפני שנצלול לקוד, בואו נקדיש רגע להבין כיצד אנשים עם יכולות שונות חווים את האינטרנט. זה לא רק תיאוריה—הבנת דפוסי הניווט בעולם האמיתי תעשה אתכם למפתחים טובים יותר! טכנולוגיות מסייעות הן כלים מדהימים שעוזרים לאנשים עם מוגבלויות לתקשר עם אתרים בדרכים שעשויות להפתיע אתכם. ברגע שתבינו איך הטכנולוגיות האלה עובדות, יצירת חוויות אינטרנט נגישות תהפוך להרבה יותר אינטואיטיבית. זה כמו ללמוד לראות את הקוד שלכם דרך עיניים של מישהו אחר. ### קוראי מסך [קוראי מסך](https://en.wikipedia.org/wiki/Screen_reader) הם טכנולוגיות מתקדמות שממירות טקסט דיגיטלי לדיבור או פלט ברייל. למרות שהם משמשים בעיקר אנשים עם לקויות ראייה, הם גם מועילים מאוד למשתמשים עם לקויות למידה כמו דיסלקציה. אני אוהב לחשוב על קורא מסך כמו על קריין חכם שמקריא לכם ספר. הוא מקריא תוכן בקול רם בסדר לוגי, מודיע על אלמנטים אינטראקטיביים כמו "כפתור" או "קישור", ומספק קיצורי מקלדת לדילוג בין חלקי הדף. אבל הנה העניין—קוראי מסך יכולים לעבוד את הקסם שלהם רק אם נבנה אתרים עם מבנה נכון ותוכן משמעותי. כאן אתם נכנסים לתמונה כמפתחים! **קוראי מסך פופולריים בפלטפורמות שונות:** - **Windows**: [NVDA](https://www.nvaccess.org/about-nvda/) (חינמי והפופולרי ביותר), [JAWS](https://webaim.org/articles/jaws/), [Narrator](https://support.microsoft.com/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1/?WT.mc_id=academic-77807-sagibbon) (מובנה) - **macOS/iOS**: [VoiceOver](https://support.apple.com/guide/voiceover/welcome/10) (מובנה ומאוד יעיל) - **Android**: [TalkBack](https://support.google.com/accessibility/android/answer/6283677) (מובנה) - **Linux**: [Orca](https://wiki.gnome.org/Projects/Orca) (חינמי וקוד פתוח) **כיצד קוראי מסך מנווטים תוכן אינטרנט:** קוראי מסך מספקים שיטות ניווט מרובות שהופכות את הגלישה ליעילה עבור משתמשים מנוסים: - **קריאה רציפה**: קריאת תוכן מלמעלה למטה, כמו קריאת ספר - **ניווט לפי אזורים**: דילוג בין חלקי הדף (כותרת, ניווט, תוכן ראשי, תחתית) - **ניווט לפי כותרות**: דילוג בין כותרות להבנת מבנה הדף - **רשימות קישורים**: יצירת רשימה של כל הקישורים לגישה מהירה - **בקרות טופס**: ניווט ישיר בין שדות קלט וכפתורים > 💡 **הנה משהו שהדהים אותי**: 68% ממשתמשי קוראי המסך מנווטים בעיקר לפי כותרות ([סקר WebAIM](https://webaim.org/projects/screenreadersurvey9/#finding)). זה אומר שמבנה הכותרות שלכם הוא כמו מפה עבור המשתמשים—כשאתם עושים את זה נכון, אתם ממש עוזרים לאנשים למצוא את דרכם בתוכן שלכם מהר יותר! ### בניית תהליך בדיקה הנה חדשות טובות—בדיקת נגישות יעילה לא חייבת להיות מכבידה! כדאי לשלב כלים אוטומטיים (הם מצוינים בזיהוי בעיות ברורות) עם קצת בדיקות ידניות. הנה גישה שיטתית שמצאתי שתופסת את רוב הבעיות מבלי לגזול את כל היום שלכם: **תהליך בדיקה ידני חיוני:** ```mermaid graph TD A[Start Testing] --> B{Keyboard Navigation} B --> C[Tab through all interactive elements] C --> D{Screen Reader Testing} D --> E[Test with NVDA/VoiceOver] E --> F{Zoom Testing} F --> G[Zoom to 200% and test functionality] G --> H{Color/Contrast Check} H --> I[Verify all text meets contrast ratios] I --> J{Focus Management} J --> K[Ensure focus indicators are visible] K --> L[Testing Complete] ``` **רשימת בדיקות שלב אחר שלב:** 1. **ניווט באמצעות מקלדת**: השתמשו רק ב-Tab, Shift+Tab, Enter, Space ומקשי חצים 2. **בדיקת קורא מסך**: הפעילו NVDA, VoiceOver או Narrator ונווטו בעיניים עצומות 3. **בדיקת זום**: בדקו ברמות זום של 200% ו-400% 4. **אימות ניגודיות צבעים**: בדקו את כל הטקסט ורכיבי הממשק 5. **בדיקת אינדיקטור מיקוד**: ודאו שלכל האלמנטים האינטראקטיביים יש מצבי מיקוד נראים ✅ **התחילו עם Lighthouse**: פתחו את כלי המפתחים בדפדפן שלכם, הריצו בדיקת נגישות של Lighthouse, ואז השתמשו בתוצאות כדי להכווין את אזורי המיקוד של הבדיקה הידנית שלכם. ### כלים לזום והגדלה אתם יודעים איך לפעמים אתם מגדילים את המסך בטלפון כשקשה לקרוא טקסט קטן, או מתאמצים לראות את המסך במצב של אור שמש חזק? משתמשים רבים מסתמכים על כלים להגדלה כדי להפוך את התוכן לקריא בכל יום. זה כולל אנשים עם ראייה חלשה, מבוגרים, וכל מי שניסה אי פעם לקרוא אתר בחוץ. טכנולוגיות הזום המודרניות התפתחו מעבר להגדלה בלבד. הבנת אופן הפעולה של הכלים האלה תעזור לכם ליצור עיצובים רספונסיביים שיישארו פונקציונליים ואטרקטיביים בכל רמת הגדלה. **יכולות זום מודרניות בדפדפנים:** - **זום דף**: מגדיל את כל התוכן באופן פרופורציונלי (טקסט, תמונות, פריסה) - זו השיטה המועדפת - **זום טקסט בלבד**: מגדיל את גודל הגופן תוך שמירה על הפריסה המקורית - **זום באמצעות צביטה**: תמיכה במחוות ניידות להגדלה זמנית - **תמיכה בדפדפנים**: כל הדפדפנים המודרניים תומכים בזום עד 500% מבלי לשבור את הפונקציונליות **תוכנות הגדלה מיוחדות:** - **Windows**: [Magnifier](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198) (מובנה), [ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/) - **macOS/iOS**: [Zoom](https://www.apple.com/accessibility/mac/vision/) (מובנה עם תכונות מתקדמות) > ⚠️ **שיקול עיצובי**: WCAG דורש שהתוכן יישאר פונקציונלי כאשר הוא מוגדל ל-200%. ברמה זו, הגלילה האופקית צריכה להיות מינימלית, וכל האלמנטים האינטראקטיביים צריכים להישאר נגישים. ✅ **בדקו את העיצוב הרספונסיבי שלכם**: הגדילו את הדפדפן ל-200% ו-400%. האם הפריסה שלכם מתאימה בצורה חלקה? האם עדיין ניתן לגשת לכל הפונקציות מבלי לגלול יתר על המידה? ## כלים מודרניים לבדיקת נגישות עכשיו כשאתם מבינים כיצד אנשים מנווטים באינטרנט באמצעות טכנולוגיות מסייעות, בואו נחקור את הכלים שעוזרים לכם לבנות ולבדוק אתרי אינטרנט נגישים. תחשבו על זה כך: כלים אוטומטיים מצוינים בזיהוי בעיות ברורות (כמו טקסט חלופי חסר), בעוד שבדיקות ידניות עוזרות לכם לוודא שהאתר שלכם מרגיש טוב לשימוש בעולם האמיתי. יחד, הם נותנים לכם ביטחון שהאתרים שלכם עובדים עבור כולם. ### בדיקת ניגודיות צבעים הנה חדשות טובות: ניגודיות צבעים היא אחת מבעיות הנגישות הנפוצות ביותר, אבל היא גם אחת הקלות ביותר לתיקון. ניגודיות טובה מועילה לכולם—ממשתמשים עם לקויות ראייה ועד אנשים שמנסים לקרוא את הטלפון שלהם על חוף הים. **דרישות ניגודיות של WCAG:** | סוג טקסט | WCAG AA (מינימום) | WCAG AAA (משופר) | |-----------|-------------------|---------------------| | **טקסט רגיל** (מתחת ל-18pt) | יחס ניגודיות 4.5:1 | יחס ניגודיות 7:1 | | **טקסט גדול** (18pt+ או 14pt+ מודגש) | יחס ניגודיות 3:1 | יחס ניגודיות 4.5:1 | | **רכיבי ממשק משתמש** (כפתורים, גבולות טפסים) | יחס ניגודיות 3:1 | יחס ניגודיות 3:1 | **כלי בדיקה חיוניים:** - [Colour Contrast Analyser](https://www.tpgi.com/color-contrast-checker/) - אפליקציית שולחן עבודה עם בורר צבעים - [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) - מבוסס אינטרנט עם משוב מיידי - [Stark](https://www.getstark.co/) - תוסף כלי עיצוב ל-Figma, Sketch, Adobe XD - [Accessible Colors](https://accessible-colors.com/) - מציאת פלטות צבעים נגישות ✅ **בנו פלטות צבעים טובות יותר**: התחילו עם צבעי המותג שלכם והשתמשו בבודקי ניגודיות כדי ליצור וריאציות נגישות. תעדו אותם כטוקנים נגישים במערכת העיצוב שלכם. ### בדיקת נגישות מקיפה בדיקת נגישות יעילה ביותר משלבת גישות מרובות. אף כלי אחד לא תופס הכל, ולכן בניית שגרת בדיקה עם שיטות שונות מבטיחה כיסוי יסודי. **בדיקות מבוססות דפדפן (מובנות בכלי המפתחים):** - **Chrome/Edge**: בדיקת נגישות של Lighthouse + פאנל נגישות - **Firefox**: מפקח נגישות עם תצוגת עץ מפורטת - **Safari**: לשונית בדיקה ב-Web Inspector עם סימולציית VoiceOver **תוספים מקצועיים לבדיקות:** - [axe DevTools](https://www.deque.com/axe/devtools/) - בדיקות אוטומטיות סטנדרטיות בתעשייה - [WAVE](https://wave.webaim.org/extension/) - משוב חזותי עם הדגשת שגיאות - [Accessibility Insights](https://accessibilityinsights.io/) - חבילת בדיקות מקיפה של Microsoft **אינטגרציה עם שורת פקודה ו-CI/CD:** - [axe-core](https://github.com/dequelabs/axe-core) - ספריית JavaScript לבדיקות אוטומטיות - [Pa11y](https://pa11y.org/) - כלי בדיקת נגישות בשורת פקודה - [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci) - ניקוד נגישות אוטומטי > 🎯 **מטרת הבדיקה**: שאפו לציון נגישות של Lighthouse מעל 95 כבסיס. זכרו, כלים אוטומטיים תופסים רק כ-30-40% מבעיות הנגישות—בדיקות ידניות עדיין חיוניות! ## בניית נגישות מהיסוד המפתח להצלחה בנגישות הוא לבנות אותה לתוך היסודות מהיום הראשון. אני יודע שזה מפתה לחשוב "אוסיף נגישות מאוחר יותר," אבל זה כמו לנסות להוסיף רמפה לבית אחרי שהוא כבר נבנה. אפשרי? כן. קל? לא ממש. חשבו על נגישות כמו תכנון בית—הרבה יותר קל לכלול נגישות לכיסאות גלגלים בתוכניות האדריכליות הראשוניות מאשר לשנות הכל מאוחר יותר. ### עקרונות POUR: הבסיס לנגישות שלכם הנחיות נגישות תוכן אינטרנט (WCAG) מבוססות על ארבעה עקרונות יסוד שמרכיבים את POUR. אל תדאגו—אלה לא מושגים אקדמיים יבשים! הם למעשה הנחיות מעשיות ליצירת תוכן שעובד עבור כולם. ברגע שתבינו את POUR, קבלת החלטות נגישות תהפוך להרבה יותר אינטואיטיבית. זה כמו שיש לכם רשימת בדיקה מנטלית שמכוונת את הבחירות העיצוביות שלכם. בואו נפרק את זה: **🔍 ניתן לתפיסה**: מידע חייב להיות מוצג בדרכים שהמשתמשים יכולים לתפוס באמצעות החושים הזמינים להם - ספקו חלופות טקסט לתוכן שאינו טקסט (תמונות, סרטונים, אודיו) - ודאו ניגודיות צבעים מספקת לכל הטקסט ורכיבי הממשק - הציעו כתוביות ותמלולים לתוכן מולטימדיה - עיצוב תוכן שנשאר פונקציונלי כאשר הוא מוגדל עד 200% - השתמשו במאפיינים חושיים מרובים (לא רק צבע) כדי להעביר מידע **🎮 ניתן לתפעול**: כל רכיבי הממשק חייבים להיות ניתנים לתפעול באמצעות שיטות קלט זמינות - הפכו את כל הפונקציות לנגישות באמצעות ניו צבע הוא כלי רב עוצמה לתקשורת, אך הוא לעולם לא צריך להיות הדרך היחידה להעברת מידע חשוב. עיצוב מעבר לצבע יוצר חוויות חזקות ומכילות יותר שמתאימות למגוון רחב של מצבים. **עיצוב עבור הבדלי ראיית צבעים:** כ-8% מהגברים ו-0.5% מהנשים חווים הבדלי ראיית צבעים (המכונה לעיתים "עיוורון צבעים"). הסוגים הנפוצים ביותר הם: - **דויטרנופיה**: קושי להבחין בין אדום לירוק - **פרוטנופיה**: אדום נראה כהה יותר - **טריטנופיה**: קושי עם כחול וצהוב (נדיר) **אסטרטגיות צבע מכילות:** ```css /* ❌ Bad: Using only color to indicate status */ .error { color: red; } .success { color: green; } /* ✅ Good: Color plus icons and context */ .error { color: #d32f2f; border-left: 4px solid #d32f2f; } .error::before { content: "⚠️"; margin-right: 8px; } .success { color: #2e7d32; border-left: 4px solid #2e7d32; } .success::before { content: "✅"; margin-right: 8px; } ``` **מעבר לדרישות בסיסיות של ניגודיות:** - בדקו את בחירות הצבע שלכם עם סימולטורים לעיוורון צבעים - השתמשו בדפוסים, טקסטורות או צורות לצד קידוד צבעים - ודאו שמצבים אינטראקטיביים נשארים מובחנים גם ללא צבע - שקלו כיצד העיצוב שלכם נראה במצב ניגודיות גבוהה ✅ **בדקו את נגישות הצבעים שלכם**: השתמשו בכלים כמו [Coblis](https://www.color-blindness.com/coblis-color-blindness-simulator/) כדי לראות כיצד האתר שלכם נראה למשתמשים עם סוגי ראיית צבעים שונים. ### אינדיקטורים למיקוד ועיצוב אינטראקציה אינדיקטורים למיקוד הם המקבילה הדיגיטלית של סמן עכבר—הם מראים למשתמשי מקלדת היכן הם נמצאים בדף. אינדיקטורים למיקוד מעוצבים היטב משפרים את החוויה עבור כולם על ידי הפיכת האינטראקציות לברורות וצפויות. **שיטות עבודה מומלצות לאינדיקטורים למיקוד מודרניים:** ```css /* Enhanced focus styles that work across browsers */ button:focus-visible { outline: 2px solid #0066cc; outline-offset: 2px; box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.25); } /* Remove focus outline for mouse users, preserve for keyboard users */ button:focus:not(:focus-visible) { outline: none; } /* Focus-within for complex components */ .card:focus-within { box-shadow: 0 0 0 3px rgba(74, 144, 164, 0.5); border-color: #4A90A4; } /* Ensure focus indicators meet contrast requirements */ .custom-focus:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; box-shadow: 0 0 0 6px #000000; } ``` **דרישות לאינדיקטורים למיקוד:** - **נראות**: חייבים להיות בעלי יחס ניגודיות של לפחות 3:1 עם האלמנטים הסובבים - **רוחב**: עובי מינימלי של 2px סביב כל האלמנט - **התמדה**: צריכים להישאר גלויים עד שהמיקוד עובר למקום אחר - **הבחנה**: חייבים להיות שונים ויזואלית ממצבי ממשק משתמש אחרים > 💡 **טיפ עיצובי**: אינדיקטורים למיקוד מעולים משתמשים לעיתים בשילוב של קו מתאר, צל תיבה ושינויים בצבע כדי להבטיח נראות על רקעים והקשרים שונים. ✅ **בצעו בדיקת אינדיקטורים למיקוד**: עברו עם מקש Tab באתר שלכם וראו אילו אלמנטים כוללים אינדיקטורים ברורים למיקוד. האם יש כאלה שקשה לראות או חסרים לחלוטין? ### HTML סמנטי: הבסיס לנגישות HTML סמנטי הוא כמו לתת לטכנולוגיות מסייעות מערכת GPS לאתר שלכם. כשאתם משתמשים באלמנטים הנכונים של HTML למטרתם המיועדת, אתם בעצם מספקים לקוראי מסך, מקלדות וכלים אחרים מפת דרכים מפורטת שתעזור למשתמשים לנווט בצורה יעילה. הנה אנלוגיה שהבהירה לי את הנושא: HTML סמנטי הוא ההבדל בין ספרייה מאורגנת היטב עם קטגוריות ברורות ושלטים מועילים לבין מחסן שבו הספרים מפוזרים באופן אקראי. בשני המקומות יש את אותם ספרים, אבל באיזה מהם הייתם מעדיפים לחפש משהו? בדיוק! **אבני הבניין של מבנה דף נגיש:** ```html

Your Site Name

Article Title

Published on

First Section

Content that relates to this section...

Second Section

More related content...

``` **מדוע HTML סמנטי משנה את פני הנגישות:** | אלמנט סמנטי | מטרה | יתרון לקוראי מסך | |------------------|---------|----------------------| | `
` | כותרת דף או מקטע | "סימן באנר" - ניווט מהיר לראש הדף | | `