EduFlow

الوحدة 5 · الاختبار وثقافة إمكانية الوصول

الاختبار بلوحة المفاتيح وقارئات الشاشة

18 دقراءة 5 داختر بحكمة

الدرس في لمحة

اختبر Ticketly يدويًا بلوحة المفاتيح وNVDA وVoiceOver باستخدام أوامر التنقّل الأساسية، وتعرّف كيف تبدو الإعلانات الصحيحة، واكتب ملاحظات يستطيع المطوّرون العمل بها.

  1. 1جولة لوحة المفاتيح
  2. 2أيّ قارئات الشاشة تختبر
  3. 3أساسيات NVDA
  4. 4أساسيات VoiceOver ‏(macOS)
  5. 5كيف يبدو الصحيح
  6. 6كتابة الملاحظات

لا فيديو هنا، بل الشيء الحقيقي: درس مكتوب وأمثلة قابلة للتشغيل واختبار وتدريب.

أخبرتك الأدوات الآلية بما ينقص Ticketly. أما لوحة المفاتيح وقارئ الشاشة فيخبرانك بما يعنيه استخدامه فعلًا. هذا هو الجزء من الاختبار الذي تتخطّاه معظم الفرق، وهو الجزء الذي يجد المشكلات التي يشتكي منها الناس حقًا. لا تحتاج إلى أن تصبح مستخدمًا خبيرًا لقارئ الشاشة. تحتاج إلى نحو خمسة عشر أمرًا وعادة الإصغاء بانتباه.

جولة لوحة المفاتيح

ابدأ كل اختبار يدوي دون فأرة. انتقل من شريط العنوان إلى نهاية الصفحة بـ Tab، ثم عُد بـ Shift+Tab، واسأل عند كل محطة:

  1. هل أستطيع الوصول إليه؟ كل عنصر تحكّم تستطيع الفأرة استخدامه يجب أن يكون قابلًا للوصول.
  2. هل أستطيع رؤيته؟ التركيز مرئي بوضوح وغير مخفي خلف الأشرطة الثابتة.
  3. هل الترتيب منطقي؟ يتبع التركيز ترتيب قراءة الصفحة.
  4. هل يعمل؟ ‏Enter يتّبع الروابط ويفعّل الأزرار؛ وSpace يفعّل الأزرار ويبدّل مربّعات الاختيار؛ ومفاتيح الأسهم تعمل داخل أزرار الـ radio والتبويبات والقوائم.
  5. هل أستطيع الخروج؟ ‏Escape يُغلق نوافذ الحوار والقوائم، ويعود التركيز إلى العنصر الذي فتحها، ولا شيء يحبس التركيز.

في Ticketly، وجدت هذه الجولة وحدها الـ tabindex الموجب، والتركيز غير المرئي، وزر الـ div، والنافذة المنبثقة التي تركت التركيز خلفها، قبل أن يفتح أحد قارئ شاشة.

أيّ قارئات الشاشة تختبر

في استطلاع WebAIM لعام 2026، كانت قارئات الشاشة الأساسية الأكثر شيوعًا على أجهزة سطح المكتب JAWS ‏(55.0%) وNVDA ‏(32.9%)، وكلاهما على Windows، يليهما VoiceOver على macOS ‏(6.5%). وعلى الهاتف، يستخدم 72.2% من المشاركين VoiceOver على iOS، متقدّمًا بفارق كبير على TalkBack على Android ‏(29.5%). مصفوفة اختبار عملية:

  • NVDA مع Chrome أو Firefox على Windows. ‏NVDA مجاني ومفتوح المصدر، وسلوكه قريب بما يكفي من سلوك JAWS ليلتقط معظم المشكلات.
  • VoiceOver مع Safari على macOS، وهو مدمج في النظام.
  • VoiceOver على iOS لأي شيء يستخدمه الناس على الهواتف، وفي مهرجان يكاد يكون كل شيء كذلك.

أساسيات NVDA

لـ NVDA وضعان. في وضع التصفّح (browse mode)، يقرأ NVDA الصفحة بمؤشّر افتراضي، والحروف المفردة تقفز بين العناصر. وفي وضع التركيز (focus mode)، تذهب ضغطات المفاتيح إلى عنصر التحكّم، فتستطيع الكتابة في حقل. يبدّل NVDA بينهما تلقائيًا حين تدخل حقلًا، وNVDA+Space يبدّل يدويًا. ومفتاح NVDA هو Insert افتراضيًا، ويمكنك أيضًا تفعيل Caps Lock مفتاحًا لـ NVDA، وهذا مريح على الحاسوب المحمول.

الإجراء مفاتيح NVDA
تشغيل NVDA / إيقاف الكلام Ctrl+Alt+N / Ctrl
القراءة من هنا NVDA+Down Arrow
السطر أو العنصر التالي Down Arrow
العنوان التالي / عنوان المستوى 2 H / 2
الـ landmark التالي D
حقل النموذج / الزر / الرابط التالي F / B / K
الجدول التالي، ثم التنقّل بين الخلايا T، ثم Ctrl+Alt+Arrows
قائمة العناوين والروابط والـ landmarks NVDA+F7

أضِف Shift إلى أي أمر بحرف مفرد للعودة إلى الخلف.

أساسيات VoiceOver ‏(macOS)

شغّل VoiceOver وأوقفه بـ Cmd+F5. ومفاتيح VO هي Control+Option. قبل أن تبدأ، افتح إعدادات Safari وفعّل “Press Tab to highlight each item on a webpage”؛ وإلا فسيتخطّى Tab الروابط في Safari وستبلّغ عن أخطاء غير موجودة.

الإجراء مفاتيح VoiceOver
العنصر التالي / السابق VO+Right / VO+Left
التفعيل VO+Space
القراءة من هنا / إيقاف الكلام VO+A / Control
العنوان التالي VO+Cmd+H
الـ Rotor (العناوين، الروابط، الـ landmarks، عناصر النماذج) VO+U، ثم Left/Right للتبديل بين القوائم

على iOS، اسحب يمينًا ويسارًا للتنقّل بين العناصر، وانقر مرتين للتفعيل، وأدِر إصبعين على الشاشة لفتح الـ rotor.

كيف يبدو الصحيح

يجب أن يُعلَن كل عنصر تفاعلي مع اسم ودور، ومع حالة أو قيمة حين يكون ذلك مناسبًا. أصغِ إلى الجزء الناقص:

ما تسمعه الحكم
“Book now Friday pass, button” اسم ودور: جيد
“Save to wishlist, toggle button, not pressed” اسم ودور وحالة: جيد
“edit text, blank” لا اسم: الحقل بلا label
“Pay now” (ويتخطّاه Tab) لا دور، وغير قابل للتركيز: div قابل للنقر
“graphic, IMG underscore 2041 dot jpeg” خاصية alt مفقودة
“How do refunds work?, button” على disclosure لا حالة: aria-expanded مفقودة

وأصغِ أيضًا إلى ما لا يحدث: لا إعلان بعد إضافة تذكرة، ولا شيء يُقال حين تُفتح نافذة حوار، وخطأ يظهر بصمت.

كتابة الملاحظات

الملاحظة التي يستطيع المطوّر إصلاحها دفعة واحدة لها ستة أجزاء:

findings/ticketly-042.txt
Title:    Quantity stepper buttons have no accessible name
Where:    /events/friday, Friday pass card
Steps:    NVDA + Chrome. Tab to the "−" button after "Quantity".
Actual:   NVDA says "button". Same for "+".
Expected: "Fewer Friday passes, button" and "More Friday passes, button".
WCAG:     4.1.2 Name, Role, Value (A). Severity: high (blocks purchase).

صار لديك كل ما تحتاجه من أدوات: الفحص الآلي، ولوحة المفاتيح، وقارئا شاشة. ويجمعها الدرس الأخير في تدقيق كامل لـ Ticketly، وفي عادات تُبقيه سهل الوصول بعد أن تغادر.

أهم النقاط

  • جولة لوحة المفاتيح تتحقّق من إمكانية الوصول إلى كل عنصر، والترتيب، والتركيز المرئي، والتشغيل بـ Enter وSpace، والإغلاق بـ Escape للطبقات المنبثقة، وغياب المصائد.
  • اختبر NVDA مع Chrome أو Firefox على Windows، وVoiceOver مع Safari على macOS وiOS؛ ومعًا يغطّيان معظم الاستخدام الفعلي لقارئات الشاشة.
  • يتنقّل مستخدمو قارئ الشاشة عبر العناوين والـ landmarks والروابط وحقول النماذج، فاختبر بهذه الأوامر، لا بالقراءة من الأعلى فقط.
  • يجب أن يعطي كل إعلان اسمًا ودورًا وأي حالة موجودة؛ وغياب أي جزء من هذا الثلاثي خطأ.

قراءات إضافية

تحقّق من فهمك

3 أسئلة

السؤال 1 من 3

تختبر Ticketly باستخدام NVDA في وضع التصفّح (browse mode). أيّ مفتاح يقفز إلى العنوان التالي؟

السؤال 2 من 3

في Safari على macOS مع تشغيل VoiceOver، يتخطّى Tab كل روابط Ticketly ولا يزور إلا حقول النماذج. ما الذي يحدث؟

السؤال 3 من 3

يصل التركيز إلى عنصر “Show more dates” في Ticketly فيقول NVDA ‏"Show more dates, button". العنصر يكشف قائمة مخفية. ما الناقص؟

تدريب

اختر بحكمة

أصغِ إلى صفحة الدفع في Ticketly

اختبرت صفحة الدفع في Ticketly باستخدام NVDA وChrome ودوّنت ما سمعته عند سبع نقاط. اختر كل إعلان يكشف خطأً. ولكل واحد منها، فكّر أيّ من الاسم والدور والحالة ناقص أو خاطئ.

أصغِ إلى صفحة الدفع في Ticketly