دليل اختبار إمكانية الوصول¶
يقدم هذا الدليل تعليمات شاملة لاختبار إمكانية الوصول لوثائق برينسايت لضمان الامتثال لمعايير WCAG 2.2 المستوى AA.
نظرة عامة¶
يجب أن تفي جميع وثائق برينسايت بمعايير WCAG 2.2 المستوى AA لضمان إمكانية الوصول لجميع المستخدمين، بما في ذلك ذوي الإعاقة.
جدول المحتويات¶
- الاختبار الآلي
- اختبار التنقل بلوحة المفاتيح
- اختبار قارئ الشاشة
- اختبار تباين الألوان
- سمات اللغة
- قائمة التحقق من الاختبار
الاختبار الآلي¶
الأدوات¶
- axe DevTools (إضافة المتصفح)
- التثبيت من Chrome Web Store
- التشغيل على كل صفحة بعد البناء المحلي
-
إصلاح جميع المشكلات الحرجة والخطيرة
-
WAVE (أداة تقييم إمكانية الوصول على الويب)
- زيارة wave.webaim.org
- إدخال عنوان URL للصفحة أو استخدام إضافة المتصفح
-
مراجعة الأخطاء والتحذيرات
-
Lighthouse (مدمج في Chrome DevTools)
تشغيل الاختبارات الآلية¶
# تثبيت التبعيات
npm install -g pa11y-ci
# إنشاء تكوين pa11y
cat > .pa11y-ci.json << 'EOF'
{
"defaults": {
"standard": "WCAG2AA",
"timeout": 30000,
"wait": 1000
},
"urls": [
"http://localhost:8000/",
"http://localhost:8000/healthcare/",
"http://localhost:8000/business/",
"http://localhost:8000/tech/"
]
}
EOF
# بدء الخادم المحلي
mkdocs serve &
# تشغيل الاختبارات
pa11y-ci
اختبار التنقل بلوحة المفاتيح¶
يجب أن تكون جميع العناصر التفاعلية قابلة للوصول عبر لوحة المفاتيح فقط.
إجراء الاختبار¶
- التنقل بـ Tab
- اضغط
Tabللانتقال للأمام عبر العناصر التفاعلية - اضغط
Shift+Tabللانتقال للخلف -
تحقق من إمكانية الوصول لجميع الروابط والأزرار وعناصر التحكم
-
مؤشرات التركيز
- تأكد من وجود مخطط تركيز مرئي على جميع العناصر المركزة
-
يجب أن يكون التركيز مرئياً بوضوح على جميع الخلفيات
-
اختصارات لوحة المفاتيح
| المفتاح | الإجراء المتوقع |
|---|---|
Tab | الانتقال للعنصر التالي القابل للتركيز |
Shift+Tab | الانتقال للعنصر السابق القابل للتركيز |
Enter | تفعيل الروابط والأزرار |
Space | تفعيل الأزرار، تبديل مربعات الاختيار |
Esc | إغلاق النوافذ المنبثقة والقوائم |
مفاتيح الأسهم | التنقل داخل القوائم |
- روابط التخطي
- اضغط
Tabعند تحميل الصفحة - تحقق من ظهور رابط "تخطي إلى المحتوى"
- اضغط
Enterللتخطي إلى المحتوى الرئيسي
قائمة التحقق من اختبار لوحة المفاتيح¶
اختبر كل صفحة:
- يمكن الوصول لجميع روابط التنقل بمفتاح Tab
- مؤشر التركيز مرئي على جميع العناصر
- يمكن تفعيل جميع الروابط بمفتاح Enter
- يمكن تفعيل جميع الأزرار بـ Enter أو Space
- القوائم المنسدلة قابلة للوصول بلوحة المفاتيح
- يمكن إغلاق النوافذ المنبثقة بمفتاح Esc
- لا يوجد فخ لوحة مفاتيح
- ترتيب Tab يتبع ترتيب القراءة المنطقي
اختبار قارئ الشاشة¶
اختبر مع قارئ شاشة واحد على الأقل لضمان الإعلان عن المحتوى بشكل صحيح.
قارئات الشاشة الموصى بها¶
- NVDA (Windows، مجاني)
- التحميل: nvaccess.org
-
الأفضل لـ: اختبار Firefox
-
JAWS (Windows، تجاري)
- تجريبي: freedomscientific.com
-
المعيار الصناعي
-
VoiceOver (macOS/iOS، مدمج)
- التفعيل:
Cmd+F5على Mac -
الأفضل لـ: اختبار Safari
-
TalkBack (Android، مدمج)
- التفعيل: الإعدادات > إمكانية الوصول > TalkBack
أوامر قارئ الشاشة الأساسية¶
NVDA (Windows)¶
| الإجراء | الأمر |
|---|---|
| بدء/إيقاف NVDA | Ctrl+Alt+N |
| قراءة العنصر التالي | السهم لأسفل |
| قراءة العنصر السابق | السهم لأعلى |
| قراءة الصفحة كاملة | Insert+السهم لأسفل |
| قائمة العناوين | Insert+F7 |
| العنوان التالي | H |
| الرابط التالي | K |
VoiceOver (macOS)¶
| الإجراء | الأمر |
|---|---|
| بدء/إيقاف VoiceOver | Cmd+F5 |
| قراءة العنصر التالي | VO+السهم الأيمن |
| قراءة العنصر السابق | VO+السهم الأيسر |
| قراءة الصفحة كاملة | VO+A |
| فتح الدوار | VO+U |
قائمة التحقق من اختبار قارئ الشاشة¶
لكل صفحة:
- يُعلن عن عنوان الصفحة عند التحميل
- العنوان الرئيسي (H1) واضح ووصفي
- معالم التنقل محددة بشكل صحيح
- جميع الصور لها نص بديل مناسب
- الروابط لها نص وصفي (وليس "انقر هنا")
- النماذج لها تسميات مناسبة
- يُعلن عن رسائل الخطأ
- يُعلن عن تحديثات المحتوى الديناميكي
- يُعلن عن تغييرات اللغة (الإنجليزية/العربية)
- الجداول لها رؤوس مناسبة
اختبار تباين الألوان¶
تأكد من وجود تباين كافٍ بين النص وألوان الخلفية.
متطلبات WCAG¶
- النص العادي: الحد الأدنى لنسبة التباين 4.5:1
- النص الكبير (18pt+ أو 14pt+ سميك): الحد الأدنى لنسبة التباين 3:1
- مكونات واجهة المستخدم: الحد الأدنى لنسبة التباين 3:1
أدوات الاختبار¶
- WebAIM Contrast Checker
- زيارة: webaim.org/resources/contrastchecker
- أدخل ألوان المقدمة والخلفية
-
تحقق من امتثال WCAG AA
-
أدوات مطور المتصفح
تباين لوحة ألوان برينسايت¶
اختبر هذه المجموعات اللونية:
| المقدمة | الخلفية | النسبة | الحالة |
|---|---|---|---|
#F8FAFC (نص) | #0F172A (كحلي) | 15.3:1 | ✅ AAA |
#60A5FA (أزرق) | #0F172A (كحلي) | 4.8:1 | ✅ AA |
#ea580c (برتقالي) | #0F172A (كحلي) | 4.2:1 | ✅ AA |
قائمة التحقق من اختبار التباين¶
- نص الجسم يلبي الحد الأدنى 4.5:1
- نص العناوين يلبي النسبة المناسبة
- نص الروابط مميز عن نص الجسم
- نص الأزرار له تباين كافٍ
- مؤشرات التركيز مرئية بوضوح
- حالات التحويم تحافظ على التباين
- رسائل الخطأ قابلة للقراءة
- رسائل النجاح قابلة للقراءة
سمات اللغة¶
تضمن سمات اللغة الصحيحة النطق والترجمة الصحيحين.
سمات HTML Lang¶
يجب أن تحتوي جميع الصفحات على:
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<title>عنوان الصفحة</title>
</head>
<body>
<main>
<h1>المحتوى العربي</h1>
<p>هذا المحتوى بالعربية.</p>
</main>
</body>
</html>
للصفحات الإنجليزية:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Page Title</title>
</head>
<body>
<main>
<h1>English Content</h1>
<p>This is in English.</p>
</main>
</body>
</html>
المحتوى ثنائي اللغة¶
للصفحات التي تحتوي على كلا اللغتين:
<section>
<h2>المطالبات الصحية | Healthcare Claims</h2>
<div lang="ar" dir="rtl">
<h3>نظرة عامة</h3>
<p>معالجة المطالبات الصحية...</p>
</div>
<div lang="en">
<h3>Overview</h3>
<p>Healthcare claims processing...</p>
</div>
</section>
قائمة التحقق من سمات اللغة¶
- عنصر
<html>الجذر له سمةlang - الصفحات العربية لها
dir="rtl" - تغييرات اللغة داخل الصفحة محددة
- سمة
langعلى جميع الأقسام بلغة مختلفة - الكلمات/العبارات الأجنبية المضمنة محددة بـ
lang
قائمة التحقق من الاختبار¶
اختبار إمكانية الوصول الكامل¶
لكل صفحة توثيق:
الهيكل¶
- HTML5 صالح
- H1 واحد لكل صفحة
- تسلسل عناوين منطقي (لا مستويات متخطاة)
- عناصر HTML الدلالية مستخدمة بشكل صحيح
- معالم ARIA مستخدمة بشكل صحيح
الصور والوسائط¶
- جميع الصور لها نص بديل
- الصور الزخرفية لها alt فارغ (
alt="") - الصور المعقدة لها أوصاف طويلة
- عناصر SVG لها عناصر title وdesc
- الفيديوهات لها تسميات توضيحية (إن وجدت)
الروابط والتنقل¶
- جميع الروابط لها نص وصفي
- غرض الرابط واضح من النص وحده
- رابط تخطي إلى المحتوى الرئيسي موجود
- تنقل مسار الصفحات متوفر
- الصفحة الحالية محددة في التنقل
النماذج والتفاعلات¶
- جميع حقول الإدخال لها تسميات
- رسائل الخطأ واضحة
- الحقول المطلوبة محددة
- نص المساعدة مرتبط بالحقول
- إعلان ملاحظات النجاح/الخطأ
الألوان والتباين¶
- تباين النص يلبي WCAG AA (4.5:1)
- تباين النص الكبير يلبي WCAG AA (3:1)
- تباين مكونات UI يلبي WCAG AA (3:1)
- اللون ليس الوسيلة الوحيدة لنقل المعلومات
لوحة المفاتيح¶
- جميع الوظائف متاحة عبر لوحة المفاتيح
- مؤشرات التركيز مرئية
- ترتيب tab منطقي
- لا فخاخ لوحة مفاتيح
قارئ الشاشة¶
- عنوان الصفحة وصفي
- العناوين تصف المحتوى
- المعالم مُعلّمة بشكل صحيح
- المحتوى الديناميكي يُعلن عنه
- تغييرات اللغة يُعلن عنها
الجوال¶
- أهداف اللمس 44x44 بكسل على الأقل
- تكبير القرص غير معطل
- الاتجاه غير مقفل
- المحتوى قابل للقراءة بدون تكبير
الإبلاغ عن المشكلات¶
عند العثور على مشكلات إمكانية الوصول:
-
توثيق المشكلة
-
إنشاء مشكلة GitHub
- استخدم تسمية "accessibility"
- أدرج لقطات شاشة
- حدد معيار WCAG
-
اقترح إصلاحاً إن أمكن
-
مستويات الأولوية
- حرجة: تمنع استخدام الصفحة لبعض المستخدمين
- عالية: عائق رئيسي لإمكانية الوصول
- متوسطة: مشكلة ملحوظة لكن يوجد حل بديل
- منخفضة: مشكلة طفيفة، تأثير ضئيل
الموارد¶
إرشادات WCAG¶
أدوات الاختبار¶
قارئات الشاشة¶
التعلم¶
OID: 1.3.6.1.4.1.61026