تحتاج كل واجهة ويب إلى قوائم يختار منها المستخدم، ونماذج يدخل فيها بياناته، وهذان العنصران هما الأكثر عرضة لأخطاء إمكانية الوصول لأنهما يجمعان بين البنية والتفاعل والتغذية الراجعة. يقدّم هذا الدليل مراجعة منهجية خطوة بخطوة للقوائم والنماذج تحديدًا، لا مقدمة عامة عن إمكانية الوصول. ستبدأ بفحص البنية الدلالية، ثم تسميات الوصول، ثم الحقول الإلزامية والتعليمات، ثم رسائل الخطأ، وأخيرًا التنقل بلوحة المفاتيح وترتيب التركيز، مع تنبيه واضح لما يمكن أن تكتشفه الأدوات الآلية وما تحتاج فيه إلى اختبار بشري. كل خطوة مصحوبة بإجراء قابل للتطبيق مباشرة على الشيفرة، وبمعايير قبول يمكن كتابتها داخل تذكرة المهمة. الهدف أن تخرج بقائمة تحقق قصيرة تعيد استخدامها مع كل مكوّن جديد، فتصبح المراجعة عادة تطويرية لا حدثًا متأخرًا.
لماذا نبدأ بالقوائم والنماذج في المراجعة
تُعدّ القوائم والنماذج أكثر المناطق تفاعلًا في أي واجهة ويب، فهي المكان الذي يختار فيه المستخدم من بين بدائل ويملأ بياناته قبل تنفيذ إجراء مهم كالشراء أو التسجيل. لذلك تتركّز فيها معظم عوائق الوصول: تسميات مفقودة، وترتيب تركيز غير منطقي، ورسائل خطأ غير مرتبطة بحقولها. البدء بهذه المكونات يمنح فريق التطوير أعلى مردود مقابل الجهد، لأن إصلاحها يحسّن تجربة قارئ الشاشة ومستخدم لوحة المفاتيح في الوقت نفسه. اجعل هذه المراجعة خطوة متكررة داخل دورة التطوير، وحدّد قائمة تحقق قصيرة يُعاد استخدامها مع كل مكوّن جديد.
قبل البدء، جهّز بيئة اختبار محايدة تتضمّن متصفحًا حديثًا، وقارئ شاشة واحدًا على الأقل، وامتداد تدقيق آلي مثل أداة المحاور. تذكّر أن الفحص الآلي يكتشف جزءًا فقط من المشكلات، مثل التسمية الغائبة أو التباين المنخفض، لكنه لا يحكم على منطقية ترتيب التركيز ولا على وضوح التعليمة ولا على صياغة رسالة الخطأ. اكتب سيناريو مرور واضحًا: املأ النموذج بلوحة المفاتيح وحدها، ثم أعد المحاولة بقارئ شاشة، ودوّن كل عقبة بوصف قابل لإعادة الإنتاج بدل ملاحظات عامة.
فحص البنية الدلالية للقوائم
ابدأ بفحص البنية الدلالية لأن قارئ الشاشة يعتمد عليها لبناء خريطة ذهنية للمحتوى. استخدم القوائم غير المرتبة والمرتبة وقوائم التعريفات وفق معناها، ولا تستبدل عناصر القائمة بعناصر عمومية مكدّسة. تجنّب إسناد دور القائمة يدويًا لعنصر يحتوي أبناء غير مطابقين، لأن ذلك يربك الإعلان عن عدد العناصر. تحقق من أن كل عنصر قائمة فعلي، وأن النص الظاهر يوصف بدقة دون حشو، وأن القائمة لا تُستخدم لمجرد التخطيط البصري حيث لا توجد علاقة حقيقية بين بنودها.
راجع القوائم المتداخلة للتأكد من أن كل مستوى يُعلن بشكل صحيح، ومن أن عدد العناصر المعلن يطابق عدد البنود الفعلية. عند تحديث قائمة ديناميكيًا بإضافة عناصر أو حذفها، اختبر كيف يتعامل قارئ الشاشة مع التغيير، وهل تبقى الرسالة مفهومة دون الاعتماد على اللون أو الأيقونة وحدها. تأكد أيضًا من أن التنقل بلوحة المفاتيح داخل عناصر القائمة التفاعلية يتبع ترتيبًا منطقيًا، لا ترتيبًا يعتمد على مواضع الشيفرة العشوائية.
تدقيق اسم الوصول في القوائم وعناصرها
لكل قائمة أو منطقة تفاعلية اسم وصول يعلنه قارئ الشاشة، وغيابه يجعل المستخدم يسمع مجموعة عناصر بلا سياق. زوِّد القائمة بتسمية واضحة عبر الربط بنص عنوان ظاهر أو باستخدام سمة تسمية مناسبة، وتجنّب تكرار النص نفسه بين التسمية والعنصر الأول. في القوائم البسيطة اترك دلالات العنصر الأصلية تعمل، وفي القوائم التي تعمل كأداة اختيار استخدم الدور المناسب مع ضبط حالته لتوضيح الاختيار الحالي.
انتبه إلى الفرق بين قائمة عرض وقائمة اختيار، فالأولى تُقرأ كسرد، والثانية تحتاج إعلان العنصر المحدد وحالة التوسّع. عند بناء قائمة ديناميكية، وفّر نصًا بديلًا موجزًا يشرح سبب التحديث عندما يهم المستخدم، مثل عدد النتائج الجديدة. اختبر التسمية مع قارئ الشاشة فعليًا لأن بعض السمات قد تُهمَل إذا وُضعت على عنصر لا يدعمها، ولأن ترتيب نطق التسمية قد يختلف تبعًا للبنية المحيطة.
ربط التسميات بحقول النماذج
التسمية الصحيحة هي أساس أي نموذج قابل للاستخدام، فالحقل بلا تسمية مرتبطة يصبح مجهولًا لدى قارئ الشاشة. اربط كل حقل بعنصر تسمية ظاهر باستخدام معرّف فريد، ولا تعتمد على النص النائب لأنه يختفي بمجرد الكتابة ولا يصل دائمًا إلى التقنيات المساعدة. تأكد من أن نص التسمية يبقى ظاهرًا ومقروءًا، وأن النقر عليه ينقل التركيز إلى الحقل المناسب، خصوصًا في حقول الاختيار.
للأزرار التي تعتمد على أيقونة فقط، وفّر اسمًا نصيًا واضحًا حتى يعرف المستخدم وظيفتها دون تخمين. عند تجميع حقول مترابطة، استخدم عنصر مجموعة الحقول مع وسيلة إيضاح لتربط التسمية الجماعية بالأعضاء، فلا يسمع المستخدم كل حقل معزولًا عن سياقه. راجع ترتيب الحقل والتسمية والتعليمة بصريًا ومنطقيًا لتضمن أن قارئ الشاشة يعرضها بالتسلسل المفهوم نفسه الذي يراه المستخدم المبصر.
الحقول الإلزامية والتعليمات المسبقة
ميِّز الحقول الإلزامية بطريقة لا تعتمد على اللون وحده، وأعلن الإلزام برمجيًا لا بصريًا فقط. اشرح في بداية النموذج معنى أي رمز تستخدمه، مثل نجمة صغيرة، حتى لا يضطر المستخدم إلى تخمين دلالتها. عرّف الحقول المطلوبة مسبقًا حيث يمكن، لأن طلب معلومة إلزامية في اللحظة الأخيرة يزيد الأخطاء ويطيل المهمة على الجميع وخاصة مستخدمي التقنيات المساعدة. اجعل عدد الحقول الإلزامية أقل ما يمكن، وأخّر ما لا تحتاجه فعليًا إلى خطوة لاحقة.
التعليمات المسبقة تمنع الأخطاء قبل وقوعها، فبيّن الصيغة المتوقعة للتاريخ أو الرقم أو البريد قبل أن يبدأ المستخدم الكتابة، واربط هذه التعليمات بالحقل عبر سمة الوصف ليقرأها قارئ الشاشة عند الوصول إليه. ضع أمثلة موجزة حين يكون التنسيق غير بديهي، لكن لا تُثقل الحقل بنصوص طويلة. اختبر أن التعليمات تظهر في موضع يُقرأ فيه الحقل، وأنها لا تعتمد على موضع بصري فقط كالسطر المجاور الذي لا يربطه قارئ الشاشة بالحقل.
رسائل الخطأ وربطها بالحقول
رسالة الخطأ بلا ربط بالحقل رسالة ضائعة. اربط نص الخطأ بالحقل عبر سمة الوصف، وأضف حالة عدم الصلاحية برمجيًا، وتأكد من أن الرسالة تصف المشكلة وتقترح حلًا عمليًا بدل عبارات مبهمة. لا تعتمد على إطار أحمر وحده، بل أضف نصًا وأيقونة ذات بديل. اجعل صياغة الخطأ ثابتة عبر النموذج ليتعلم المستخدم نمطًا واحدًا، واكتبه بلغة واضحة موجّهة للمستخدم لا بلغة النظام الداخلية.
عند إرسال نموذج به عدة أخطاء، وفّر ملخصًا في الأعلى يسرد الحقول المعنية بروابط تنقل المستخدم مباشرة إلى الحقل الخاطئ، ثم انقل التركيز إلى أول خطأ ليبدأ التصحيح فورًا. استخدم منطقة حيّة مهذّبة لإعلان التغييرات المهمة دون مقاطعة مزعجة. تحقق من أن الرسائل تبقى ظاهرة حتى تُصحَّح، وأنها تُعلن عند العودة إلى الحقل، لأن اختفاء الرسالة تلقائيًا يربك مستخدمي قارئات الشاشة ولوحة المفاتيح.
التنقل بلوحة المفاتيح وترتيب التركيز
ترتيب التركيز هو مسار المستخدم بلوحة المفاتيح، فأي قفزة غير منطقية تكسر تدفّق المهمة. راجع الترتيب بفتح الصفحة والضغط على مفتاح الجدولة مرارًا، وتأكد من أن كل عنصر تفاعلي يمكن الوصول إليه، ومن أن مؤشر التركيز مرئي بوضوح لا يختفي تحت الخلفيات. تجنّب قيم ترتيب التركيز الموجبة لأنها تنتج مسارًا فوضوئيًا يصعب صيانته، واعتمد على ترتيب المستند الطبيعي قدر الإمكان.
وفّر رابط تجاوز يسمح بتخطي التنقل المتكرر والوصول مباشرة إلى المحتوى أو النموذج. في النوافذ المنبثقة، احصر التركيز داخلها مؤقتًا وأعِده إلى العنصر السابق عند الإغلاق. بعد إرسال ناجح للنموذج، انقل التركيز إلى رسالة تأكيد مفهومة بدل تركه في موضع غير معروف. اختبر السيناريو كاملًا بلوحة المفاتيح وحدها دون استخدام الفأرة، ودوّن أي عنصر يصعب الوصول إليه.
القوائم المنسدلة والقوائم القابلة للتفاعل
القوائم المنسدلة من أكثر المكوّنات عرضة للأخطاء لأنها تخلط بين العرض والاختيار. فضّل عنصر الاختيار الأصلي حين تكفي وظيفته، لأنه يحمل الدلالات والتنقل بلوحة المفاتيح تلقائيًا. إن بنيت قائمة مخصصة، فطبّق أدوار القائمة وخياراتها بدقة، وأعلن حالة التوسّع والاختيار، وتأكد من أن القائمة تعمل بمفتاح المسافة والأسهم والاختيار بمفتاح الإدخال والإغلاق بمفتاح الهروب.
ادعم أنماط لوحة المفاتيح المعتادة: أسهم للتنقل بين الخيارات، ومفتاحا البداية والنهاية للانتقال إلى أول خيار وآخره، والكتابة للبحث السريع إن كانت القائمة طويلة. احرص على بقاء التركيز على الخيار النشط أثناء التنقل وإعلانه بوضوح. اختبر القائمة ذات القيم الديناميكية، مثل قائمة المدن التي تتغير حسب اختيار الدولة، لأن إعادة البناء قد تفقد التركيز أو لا تُعلن التحديث للمستخدم.
مجموعات الخيارات والمفاتيح الاختيارية
مجموعات الخيارات والمفاتيح الاختيارية تحتاج معالجة جماعية لا فردية. ضع كل مجموعة داخل عنصر مجموعة الحقول مع وسيلة إيضاح تصف السؤال المشترك، مثل طريقة الشحن، ثم ضع الخيارات بداخله. اربط رسالة الخطأ بالمستوى الجماعي عندما يتعلق النقص باختيار كامل، لا بحقل واحد فقط، حتى يفهم المستخدم أن عليه اختيار أحد الخيارات لا تصحيح حقول متعددة متفرقة.
راعِ تباين عدد الخيارات: في المجموعات الصغيرة اعرض الجميع واسمح للمستخدم بالتنقل بينها، وفي المجموعات الطويلة استخدم نمط التنقل الواحد حيث يقع عنصر واحد في مسار الجدولة وتنتقل الأسهم داخليًا بين الخيارات. تأكد من أن حالة الاختيار تُعلن عند التغيير فورًا، وأن الخيارات المعطّلة موصوفة بوضوح مع سبب تعطيلها بدل تركها صامتة أمام المستخدم، وسجّل نتيجة الاختيار بلغة مفهومة لا بقيمة تقنية خام.
اختبار قارئ الشاشة وترتيب الأولويات
لا يكفي الفحص الآلي، فقارئ الشاشة هو الحكم النهائي على تجربة القوائم والنماذج. اختبر مع قارئ شاشة واحد بإتقان بدل تجربة عدة برامج سطحية، واستمع إلى كيف تُعلن التسمية والتعليمة ورسالة الخطأ وحالة الاختيار. اختبر بسرعات نطق مختلفة وحالات تكبير الشاشة والتباين العالي. دوّن كل عقبة بصيغة خطوات إعادة إنتاج، ثم حوّلها إلى مهمة قابلة للقياس يمكن للفريق تتبعها وإغلاقها.
رتّب النتائج حسب أثرها على إتمام المهمة: عقبة تمنع الإرسال أولى من تحسين تجميلي. ابدأ بتعطيل الأخطاء الحرجة، ثم الحقول بلا تسمية، ثم ترتيب التركيز، ثم الرسائل، ثم الصقل. حوّل قائمة التحقق إلى اختبار انحدار يعمل مع كل تغيير يدخل على المكوّن، وسجّل قراراتك ليتبعها بقية الفريق. المراجعة المتكررة أرخص بكثير من إصلاح مشكلة وصول اكتُشفت بعد الإطلاق.
أسئلة شائعة
هل تكفي الأدوات الآلية لمراجعة إمكانية الوصول في النماذج؟
لا تكفي وحدها. تكشف الأدوات الآلية مشكلات ميكانيكية مثل التسمية الغائبة والتباين المنخفض وسمات الأدوار الخاطئة، لكنها لا تحكم على منطقية ترتيب التركيز ولا على وضوح التعليمات ولا على جودة صياغة رسالة الخطأ. استخدمها كخط فلترة سريع يمنع الأخطاء الشائعة، ثم أكمل باختبار بشري بلوحة المفاتيح وقارئ الشاشة، لأن المعيار الفعلي هو إتمام المستخدم للمهمة لا مجرد اجتياز الفحص الآلي.
كيف أختبر نموذجًا بلوحة المفاتيح فقط؟
افتح الصفحة دون لمس الفأرة، وتنقّل بمفتاح الجدولة عبر كل عنصر تفاعلي مع مراقبة مؤشر التركيز المرئي. جرّب تعبئة الحقول وإرسال النموذج والتنقل داخل القوائم باستخدام أسهم الاتجاه والمسافة والإدخال والهروب. تحقق من أن التركيز ينتقل إلى أول خطأ بعد الإرسال، ومن أن النافذة المنبثقة تحصر التركيز وتعيده عند الإغلاق. أي عنصر لا يمكن الوصول إليه أو لا يظهر عليه مؤشر واضح يُعد عقبة يجب إصلاحها.
هل أستخدم سمات أريا بدل العناصر الدلالية الأصلية؟
لا، القاعدة أن العنصر الدلالي الأصلي يأتي أولًا، فالزر وعنصر الاختيار ومجموعة الحقول تحمل الدلالة والتنقل بلوحة المفاتيح تلقائيًا. استخدم سمات أريا فقط لسدّ فجوة لا يغطيها العنصر الأصلي أو لوصف حالة ديناميكية، واحرص على مطابقة الدور والسلوك المطلوبين لأن أريا لا تضيف وظيفة بمفردها. الاختيار الخاطئ ينتج واجهة تُعلن نفسها بشكل مضلل لمستخدم قارئ الشاشة.
كيف أربط رسالة الخطأ بحقل معين دون إرباك المستخدم؟
أضف معرّفًا فريدًا لنص الخطأ، واربطه بالحقل عبر سمة الوصف، وأضف حالة عدم الصلاحية برمجيًا حتى يُعلن قارئ الشاشة أن الحقل غير صالح عند الوصول إليه. اجعل الرسالة نصية واضحة تصف المشكلة وتقترح حلًا، ولا تعتمد على اللون وحده. عند وجود عدة أخطاء، أضف ملخصًا بروابط تنقل إلى كل حقل معني، وانقل التركيز إلى أول خطأ بعد الإرسال مباشرة.
شارك في تقييم ونقاش المقال
رأيك يضيف قيمة للمقال ويساعدنا على تحسين المحتوى والنقاش حوله.
النقاش
جارٍ تحميل التعليقات…