الفحص الآلي كبداية فقط
axe وLighthouse على عينة من الصفحات لالتقاط التباين والتسميات المفقودة والبنية. حسب W3C لا توجد أداة بمفردها تحدد إن كان الموقع يستوفي المعايير؛ التقييم البشري ضروري.
أفحص تجربة الموقع بالكيبورد وقارئات الشاشة وعلى مختلف أحجام العرض، وأحدد العوائق في النماذج والتنقل والتباين والمكونات التفاعلية، ثم أساعدك على إصلاحها وإعادة اختبارها.
لمن هذه الخدمة
الأعراض الشائعة
القائمة المنسدلة تعمل بالتمرير بالفأرة فقط، أو تُفتح بـ Tab ولا تُغلق بـ Escape، أو يبقى التركيز محبوسًا داخلها. مستخدم الكيبورد لا يصل إلى نصف الموقع.
أين يظهر: اختبار يدوي بـ Tab وEnter وEscape على القائمة الرئيسية والجوال.الحقل يحمرّ ويظهر نص صغير، لكن لا شيء يُعلَن، ولا رابط بين الرسالة والحقل. مستخدم قارئ الشاشة يضغط إرسال مرارًا بلا تفسير.
أين يظهر: تشغيل NVDA أو VoiceOver وإرسال النموذج بحقل فارغ.أيقونات بلا اسم، أزرار بنص «اضغط هنا»، نص رمادي فاتح على أبيض، وروابط لا تتميز إلا باللون.
أين يظهر: الفحص الآلي يلتقط معظمها، والمراجعة اليدوية تلتقط التسميات غير المفهومة.تمرير سلس إجباري، ظهور تدريجي يخفي المحتوى حتى يكتمل، ونوافذ تتحرك باستمرار. من يفعّل prefers-reduced-motion في جهازه لا يجد فرقًا.
أين يظهر: تفعيل تقليل الحركة في نظام التشغيل وإعادة تحميل الصفحة.ما الذي أفحصه أولًا
لا يُفحص كل الموقع صفحةً صفحة. تُختار الصفحات والقوالب والمكونات التي تمثل كل ما يراه المستخدم، ويُحدَّد المستوى المستهدف (عادةً AA من WCAG 2.2)، ثم يُقاس ما وُجد على هذا النطاق تحديدًا.
axe وLighthouse على عينة من الصفحات لالتقاط التباين والتسميات المفقودة والبنية. حسب W3C لا توجد أداة بمفردها تحدد إن كان الموقع يستوفي المعايير؛ التقييم البشري ضروري.
التنقل الكامل بالكيبورد وحده: هل يُرى التركيز؟ هل ترتيبه منطقي في RTL؟ هل يُحجب خلف هيدر ثابت؟ هل تُغلق النوافذ بـ Escape ويعود التركيز إلى مكانه؟
اختبارات أساسية بـ NVDA على ويندوز وVoiceOver على iOS وmacOS حسب الأجهزة المتاحة: المعالم والعناوين والأسماء المتاحة، وصحة ARIA، وإعلان رسائل الحالة، ونطق النص العربي والمختلط.
إعادة التدفق عند عرض 320 بكسل CSS بلا تمرير أفقي، تكبير 200%، تباعد النص، الاتجاهين الأفقي والرأسي، وأحجام الأهداف (24 بكسل كحد أدنى في المعيار 2.5.8).
نطاق التنفيذ
وثيقة نطاق معتمدة قبل البدء؛ هي حدود أي تقييم لاحق.
النتائج تُراجع يدويًا لاستبعاد الإيجابيات الخاطئة.
على كل مكون تفاعلي في النطاق.
بما فيها إزالة ARIA غير الضروري الذي يضر أكثر مما ينفع.
NVDA وVoiceOver حسب الأجهزة المتاحة؛ تُوثَّق الأداة والإصدار والمتصفح لكل اختبار.
وفق المعايير 1.4.3 و1.4.10 و1.4.11 و1.4.12 و2.5.8.
مع مراعاة المعيار الجديد 3.3.7 بعدم طلب المعلومة نفسها مرتين.
وإتاحة بديل لأي تفاعل يعتمد على السحب (المعيار 2.5.7).
اتجاه المكونات، وسم اللغة على المقاطع اللاتينية، ونطق قارئ الشاشة.
بصيغة يمكن توزيعها على المطورين مباشرة.
على الصفحات الممثلة، عند تضمين التنفيذ في الاتفاق. على WordPress وShopify أُصلح الثيم والمكونات مباشرة.
فقط إذا وفّر العميل الصياغة القانونية المعتمدة؛ أوفر الجزء التقني منها.
لا يُقدَّم بدون تدقيق قانوني ومتطلبات الجهة المختصة.
ليست بديلًا عن إصلاح الأصل، ولا تُركَّب كحل.
صفحات أو مكونات لم تُفحص لا يشملها التقييم.
المرجع
تسعة معايير جديدة أُضيفت في WCAG 2.2، وحُذف معيار واحد (4.1.1 Parsing). معظم الإضافات تمس النماذج والتركيز والأهداف اللمسية، وهي بالضبط ما يتعثر فيه المستخدم على الجوال.
| المعيار | الاسم | المستوى | ما يعنيه عمليًا | أين يظهر غالبًا |
|---|---|---|---|---|
| 2.4.11 | Focus Not Obscured (Minimum) | AA | العنصر المركز عليه لا يُحجب كليًا خلف هيدر ثابت أو شريط ملفات تعريف الارتباط | هيدر ثابت + Tab إلى رابط أسفله مباشرة |
| 2.4.12 | Focus Not Obscured (Enhanced) | AAA | لا يُحجب أي جزء من العنصر المركز عليه | اختياري للمستوى AA |
| 2.4.13 | Focus Appearance | AAA | حلقة التركيز بحجم وتباين محددين | اختياري للمستوى AA |
| 2.5.7 | Dragging Movements | AA | أي وظيفة بالسحب لها بديل بنقرة واحدة | عارضات الصور، شرائح الأسعار، إعادة الترتيب |
| 2.5.8 | Target Size (Minimum) | AA | أهداف النقر 24×24 بكسل CSS على الأقل مع استثناءات محددة | أيقونات الهيدر، أزرار الكمية، روابط الفوتر |
| 3.2.6 | Consistent Help | A | وسائل المساعدة (الدردشة، التواصل) في الموضع نفسه عبر الصفحات | زر WhatsApp يتنقل بين الصفحات |
| 3.3.7 | Redundant Entry | A | لا يُطلب من المستخدم إدخال المعلومة نفسها مرتين في العملية نفسها | عنوان الشحن ثم عنوان الفوترة |
| 3.3.8 | Accessible Authentication (Minimum) | AA | تسجيل الدخول لا يعتمد على اختبار معرفي (حفظ كلمة مرور، حل لغز) بلا بديل | CAPTCHA بلا بديل، منع اللصق في حقل كلمة المرور |
| 3.3.9 | Accessible Authentication (Enhanced) | AAA | بدون استثناءات التعرف على الأشياء أو المحتوى الشخصي | اختياري للمستوى AA |
| 4.1.1 | Parsing | محذوف | لم يعد موجودًا في 2.2؛ من يلتزم بـ 2.0/2.1 قد يظل مطالبًا به | تقارير قديمة لا تزال تذكره |
المصدر: W3C، صفحة «What's New in WCAG 2.2» ووثيقة التوصية WCAG 2.2. تُراجع عند كل تدقيق لأن المواصفة تُحدَّث.
صفوف توضيحية لبنية السجل. كل صف قابل للتوزيع على مطور بلا شرح إضافي، ويحمل حالته بعد إعادة الاختبار.
| المعرّف | المعيار | الخطورة | الموضع | إعادة الإنتاج | الإصلاح المقترح | الحالة |
|---|---|---|---|---|---|---|
| A11Y-001 | 2.1.1 لوحة المفاتيح | حرجة | القائمة الرئيسية، كل الصفحات | Tab إلى «الخدمات»، Enter: لا تُفتح القائمة | زر حقيقي بـ aria-expanded وفتح بـ Enter/Space وإغلاق بـ Escape | أُصلح وأُعيد اختباره |
| A11Y-002 | 3.3.1 تحديد الخطأ | عالية | نموذج التواصل، حقل الجوال | إرسال بحقل فارغ: يحمرّ بلا إعلان | رسالة مرتبطة بـ aria-describedby ومنطقة حية aria-live | أُصلح |
| A11Y-003 | 1.4.3 التباين | متوسطة | نص الفوتر الثانوي | نسبة التباين أقل من 4.5:1 (قياس بأداة) | تغميق اللون إلى قيمة تحقق 4.5:1 على الأقل | أُصلح |
| A11Y-004 | 2.5.8 حجم الهدف | متوسطة | أزرار الكمية في السلة، الجوال | ارتفاع الزر 18 بكسل | رفعه إلى 24 بكسل على الأقل أو ضمان تباعد كافٍ | قيد التنفيذ |
| A11Y-005 | 1.3.1 المعلومات والعلاقات | منخفضة | صفحة المنتج، جدول المقاسات | جدول بلا رؤوس th | إضافة رؤوس الأعمدة وscope | استثناء موثق: يُعاد بناء الصفحة لاحقًا |
المخطط التقني
أمثلة توضيحية مبنية في الصفحة نفسها، لا لقطات من موقع عميل. كل مثال يذكر المعيار الذي يخصه.
عن الفحص الآلي: يلتقط ما يمكن قياسه (تباين، تسميات مفقودة، بنية)، ويفوّت ما يحتاج حكمًا بشريًا: هل التسمية مفهومة؟ هل ترتيب التركيز منطقي؟ هل البديل النصي للصورة مفيد؟ لذلك لا أسلّم تقريرًا من أداة وحدها.
العربية وRTL
في RTL يتوقع المستخدم أن ينقل السهم الأيمن إلى العنصر السابق في التبويبات والعارضات. مكونات كثيرة مكتوبة لـ LTR تعكس ذلك، فيصبح التنقل بالكيبورد مربكًا رغم «عمله».
أسماء المنتجات والأكواد والعلامات بالحروف اللاتينية داخل جمل عربية تحتاج عزلًا اتجاهيًا صحيحًا، ووسم lang على المقاطع حتى ينطقها قارئ الشاشة باللغة الصحيحة بدل أن يقرأ الإنجليزية بنطق عربي.
aria-label مترجم آليًا أو متروك بالإنجليزية في موقع عربي شائع جدًا. كل اسم متاح يُراجع بالعربية الواضحة: «فتح القائمة» لا «menu»، و«الصفحة الرئيسية» لا «home».
خطوات التنفيذ
اختيار الصفحات والقوالب والمكونات الممثلة، وتحديد المستوى المستهدف، والأجهزة وقارئات الشاشة التي ستُستخدم.
axe وLighthouse على العينة، ثم الكيبورد وقارئات الشاشة والتكبير وإعادة التدفق على كل صفحة في النطاق.
لقطات أو تسجيلات قصيرة لكل مشكلة، وتصنيف الخطورة بحسب أثرها على إكمال المهمة (الشراء، التواصل) لا بحسب عدد التكرار فقط.
عند تضمينه: إصلاح المكونات والقوالب في الثيم أو الكود الأصلي، لا بطبقة فوقه، مع عدم كسر التصميم أو الوظائف.
إعادة نفس الاختبارات على الصفحات المصلحة، وتوثيق ما بقي ولماذا (قيود منصة، مكون طرف ثالث، قرار مؤجل).
التسليمات والحدود
أسئلة شائعة
لا. Lighthouse وaxe يكتشفان جزءًا من المشكلات القابلة للقياس آليًا، ولا يحكمان على وضوح التسميات أو منطق ترتيب التركيز أو جودة البدائل النصية. W3C تنص على أن أي أداة بمفردها لا تحدد استيفاء الموقع للمعايير وأن التقييم البشري ضروري. الفحص الآلي عندي خطوة أولى تُتبع بالكيبورد وقارئات الشاشة.
لا، ولا يصح قول ذلك عن أي موقع. التقييم يكون ضمن نطاق الصفحات والمعايير المفحوصة، ويُسجَّل ما بقي كاستثناء موثق. الصياغة الصادقة: الصفحات المفحوصة تستوفي معايير المستوى المستهدف باستثناء ما وُثِّق، ولا يوجد ضمان عام خارج النطاق.
لا تغني عن إصلاح المكونات الأساسية. الطبقة الإضافية لا تجعل قائمة تعمل بالكيبورد، ولا تربط تسمية بحقل، ولا تصلح ترتيب العناوين. قد تضيف خيارات عرض لبعض المستخدمين، لكنها ليست بديلًا عن HTML دلالي وتفاعل صحيح، وأحيانًا تتعارض مع أدوات المستخدم نفسه.
نعم، وهذا جزء أساسي من الخدمة: اختبار اتجاه RTL في المكونات التفاعلية، النص المختلط وسمات lang، اتجاه التنقل بالأسهم، والأسماء المتاحة بالعربية الواضحة. المواقع ثنائية اللغة تُفحص في الاتجاهين.
في WordPress أُصلح الثيم والمكونات مباشرة. في Shopify أُصلح الثيم وأقسامه، أما صفحات الدفع فتخضع لقيود المنصة ويُوثَّق ما لا يمكن تغييره كاستثناء. مكونات الطرف الثالث (تطبيقات الدردشة والتقييمات) تُبلَّغ لمزودها ويُقترح بديل عند الحاجة.
تعتمد على عدد القوالب والمكونات في النطاق والمستوى المستهدف وما إذا كان التنفيذ مشمولًا. يُقدَّم عرض بعد جولة أولية على الموقع لتقدير حجم النطاق؛ لا أذكر رقمًا قبل ذلك.
جولة أولية بلا صلاحيات ولا التزام: ما يظهر من القائمة والنموذج والتباين خلال دقائق. ثم نحدد النطاق والمستوى إن أردت تدقيقًا كاملًا.