# إنشاء صفحات ويب ميسرة ![كل شيء عن إمكانية الوصول](../../../../translated_images/webdev101-a11y.8ef3025c858d897a403a1a42c0897c76e11b724d9a8a0c0578dd4316f7507622.ar.png) > رسم توضيحي بواسطة [تومومي إيمورا](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% - استخدام خصائص حسية متعددة (ليس فقط اللون) لنقل المعلومات **🎮 قابل للتشغيل**: يجب أن تكون جميع مكونات الواجهة قابلة للتشغيل من خلال طرق الإدخال المتاحة - جعل جميع الوظائف قابلة للوصول عبر التنقل باستخدام لوحة المفاتيح - توفير وقت كافٍ للمستخدمين لقراءة والتفاعل مع المحتوى - تجنب المحتوى الذي يسبب نوبات أو اضطرابات في الجهاز الدهليزي - مساعدة المستخدمين على التنقل بكفاءة من خلال هيكل واضح ومعالم - ضمان أن تكون العناصر التفاعلية ذات أحجام مستهدفة كافية (44px كحد أدنى) **📖 مفهوم**: يجب أن تكون المعلومات وتشغيل واجهة المستخدم واضحة ومفهومة - استخدام لغة واضحة وبسيطة مناسبة لجمهورك - ضمان ظهور المحتوى وتشغيله بطرق متوقعة ومتسقة - تقديم تعليمات واضحة ورسائل خطأ لإدخال المستخدم - مساعدة المستخدمين على فهم وتصحيح الأخطاء في النماذج - تنظيم المحتوى بترتيب قراءة منطقي وتسلسل هرمي للمعلومات **💪 قوي**: يجب أن يعمل المحتوى بشكل موثوق عبر التقنيات المختلفة والأجهزة المساعدة - استخدام HTML صالح ودلالي كأساس - ضمان التوافق مع التقنيات المساعدة الحالية والمستقبلية - اتباع معايير الويب وأفضل الممارسات للعلامات - اختبار عبر المتصفحات المختلفة والأجهزة والأدوات المساعدة - هيكلة المحتوى بحيث يتحلل بشكل جيد عندما لا تكون الميزات المتقدمة مدعومة ## إنشاء تصميم بصري ميسر التصميم البصري الجيد وإمكانية الوصول يسيران جنبًا إلى جنب. عندما تصمم مع مراعاة إمكانية الوصول، غالبًا ما تكتشف أن هذه القيود تؤدي إلى حلول أنظف وأكثر أناقة تفيد جميع المستخدمين. دعونا نستكشف كيفية إنشاء تصميمات جذابة بصريًا تعمل للجميع، بغض النظر عن قدراتهم البصرية أو الظروف التي يشاهدون فيها المحتوى الخاص بك. ### استراتيجيات اللون وإمكانية الوصول البصري اللون أداة قوية للتواصل، لكنه لا يجب أن يكون الطريقة الوحيدة لنقل المعلومات المهمة. التصميم الذي يتجاوز اللون يخلق تجارب أكثر شمولية وقوة تعمل في مختلف الظروف. **التصميم لمراعاة اختلافات رؤية الألوان:** حوالي 8% من الرجال و0.5% من النساء يعانون من نوع من اختلافات رؤية الألوان (غالبًا ما يُطلق عليه "عمى الألوان"). الأنواع الأكثر شيوعًا هي: - **Deuteranopia**: صعوبة في التمييز بين الأحمر والأخضر - **Protanopia**: يظهر اللون الأحمر بشكل باهت - **Tritanopia**: صعوبة في التمييز بين الأزرق والأصفر (نادر) **استراتيجيات شاملة للألوان:** ```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 حول العنصر بالكامل - **الاستمرارية**: يجب أن تظل مرئية حتى ينتقل التركيز إلى مكان آخر - **التمييز**: يجب أن تكون مختلفة بصريًا عن حالات واجهة المستخدم الأخرى > 💡 **نصيحة تصميم**: غالبًا ما تستخدم مؤشرات التركيز الرائعة مزيجًا من الخطوط الخارجية، الظلال، وتغييرات اللون لضمان الرؤية عبر خلفيات وسياقات مختلفة. ✅ **راجع مؤشرات التركيز**: تنقل عبر موقعك باستخدام لوحة المفاتيح ولاحظ العناصر التي تحتوي على مؤشرات تركيز واضحة. هل هناك أي عناصر يصعب رؤيتها أو مفقودة تمامًا؟ ### 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 الدلالي إمكانية الوصول:** | العنصر الدلالي | الغرض | فائدة لقارئ الشاشة | |------------------|---------|----------------------| | `
` | رأس الصفحة أو القسم | "معلم البانر" - التنقل السريع إلى الأعلى | | `