كان تطبيقنا جميلاً ولكن أعمى: كيف أنقذتنا ‘إمكانية الوصول’ من جحيم استبعاد 15% من المستخدمين؟

يا جماعة الخير، اسمحولي أحكيلكم هالسالفة. قبل كم سنة، كنت أنا وفريقي شغالين ليل نهار على تطبيق جديد. تطبيق كان “ابننا المدلل”، صرفنا عليه وقت وجهد وقهوة ما إلها عدد. التصميم كان إشي فاخر من الآخر، ألوان متناسقة، حركات (animations) ناعمة، وكل زر وكل أيقونة مرسومة بالمسطرة. لما أطلقناه، الاحتفالات كانت كبيرة والكل كان مبسوط. كنا نحكي لحالنا: “هيك الشغل الصح، عملنا تطبيق ‘مرتب’ والكل رح يحبه”.

وبالفعل، أول فترة كانت التعليقات إيجابية… إلى أن وصلتني رسالة على البريد الإلكتروني غيّرت كل شي. الرسالة كانت من مستخدم اسمه “محمد”، وكان كفيف البصر. كتب محمد بلغة بسيطة ومؤدبة: “مرحباً أبو عمر، سمعت الكثير عن تطبيقكم الرائع وحاولت استخدامه عبر قارئ الشاشة (Screen Reader)، ولكن للأسف، لم أستطع فعل أي شيء. كل ما أسمعه هو ‘زر غير مسمى’، ‘صورة’، ‘زر’. التطبيق بالنسبة لي عبارة عن جدار أصم”.

قرأت الرسالة مرة ومرتين وثلاث. شعرت بوخزة في قلبي، خليط من الخجل والإحراج والغضب على نفسي. كيف غاب عن بالنا كل هذا؟ تطبيقنا الجميل، اللي بنتباهى فيه، كان في الحقيقة “أعمى” تماماً أمام فئة كبيرة من الناس. اكتشفنا أننا، وبدون قصد، بنينا جداراً رقمياً عزلنا فيه ما يقارب 15% من المستخدمين المحتملين. كانت هذيك اللحظة هي صفعة الصحوة اللي خلتنا نعيد التفكير في كل سطر كود كتبناه وفي كل قرار تصميم اتخذناه. من يومها، صارت “إمكانية الوصول” أو الـ Accessibility مش مجرد بند في قائمة المهام، بل صارت جزء من روح الفريق.

ما هي ‘إمكانية الوصول’ (Accessibility)؟ ولماذا هي ليست مجرد ‘ميزة إضافية’؟

لما نحكي “إمكانية الوصول” (أو a11y اختصاراً)، كثير ناس بفكروا إنها بس للمكفوفين. وهذا خطأ شائع. إمكانية الوصول هي تصميم وبناء المنتجات الرقمية (مواقع، تطبيقات، إلخ) بحيث يمكن لأي شخص استخدامها، بغض النظر عن قدراته أو إعاقته.

هذا يشمل، على سبيل المثال لا الحصر:

  • الإعاقات البصرية: مثل العمى، عمى الألوان، وضعف البصر.
  • الإعاقات السمعية: مثل الصمم وضعف السمع.
  • الإعاقات الحركية: صعوبة في استخدام اليدين أو الماوس.
  • الإعاقات الإدراكية: مثل صعوبات التعلم أو اضطرابات الذاكرة.

ولكن القصة أعمق من هيك. إمكانية الوصول تفيد الجميع! هل عمرك حاولت تشوف شاشة موبايلك تحت شمس قوية؟ هنا تباين الألوان الجيد (مبدأ من مبادئ الوصول) بساعدك. هل عمرك حضرت فيديو في مكان عام بدون سماعات؟ هنا الترجمة النصية (Captions) بتنقذك. هل انكسرت إيدك مرة واضطريت تستخدم الكمبيوتر بإيد وحدة؟ هنا التنقل عبر لوحة المفاتيح بصير صديقك المفضل.

نصيحة أبو عمر: لا تفكر بإمكانية الوصول على أنها “مساعدة ذوي الإعاقة”، بل فكر فيها على أنها “بناء منتج أفضل للجميع”. هي ليست عمل خيري، بل هي أساس التصميم الجيد والهندسة الذكية.

أركان الوصول الأربعة: كيف تبني تجربة للجميع؟ (مبادئ WCAG)

حتى ما نضل نحكي كلام عام، المنظمة العالمية W3C وضعت إرشادات اسمها (Web Content Accessibility Guidelines – WCAG). هاي الإرشادات مبنية على أربع أعمدة أساسية، بحب أسميها “أركان البيت الرقمي المتين”. لو أي ركن منهم وقع، البيت كله بصير مهدد بالسقوط.

الركن الأول: قابل للإدراك (Perceivable)

المبدأ بسيط: لازم المستخدم يقدر يدرك المحتوى والمعلومات بحواسه المتاحة. يعني لو في صورة، لازم يكون في بديل نصي للي ما بيقدر يشوفها. لو في فيديو، لازم يكون في نص للي ما بيقدر يسمعه.

مثال عملي: النص البديل للصور (Alt Text)

تخيل عندك صورة لقطة بتلعب بالطابة. قارئ الشاشة ما بيعرف شو هاي الصورة إلا إذا أنت خبرته.

الكود السيء (الأعمى):

<img src="cat-playing.jpg">
<!-- قارئ الشاشة سيقول: "صورة، cat-playing.jpg" -->

الكود الجيد (المُبصِر):

<img src="cat-playing.jpg" alt="قطة رمادية صغيرة تلعب بكرة صوف حمراء">
<!-- قارئ الشاشة سيقول: "صورة، قطة رمادية صغيرة تلعب بكرة صوف حمراء" -->

فرق كبير، صح؟ طيب لو الصورة مجرد زخرفة؟ بسيطة، اترك الـ `alt` فاضي، وهيك قارئ الشاشة بتجاهلها تماماً.

<img src="decorative-line.png" alt="">

الركن الثاني: قابل للتشغيل (Operable)

لازم المستخدم يقدر يتفاعل مع كل مكونات واجهة المستخدم. أهم اختبار هون هو “اختبار الـ Tab”. هل بتقدر تستخدم كل وظائف التطبيق باستخدام لوحة المفاتيح فقط (Tab للتنقل، Enter للاختيار)؟

لما استلمنا رسالة محمد، أول إشي عملته هو إني تركت الماوس وحاولت أستخدم تطبيقنا بالكيبورد. كانت كارثة! التركيز (focus) كان يقفز بشكل عشوائي، وأحياناً يختفي تماماً. أزرار عملناها بـ `

` بدل `
أبو عمر

سجل دخولك لعمل نقاش تفاعلي

كافة المحادثات خاصة ولا يتم عرضها على الموقع نهائياً

آراء من النقاشات

لا توجد آراء منشورة بعد. كن أول من يشارك رأيه!

آخر المدونات

الشبكات والـ APIs

كانت تطبيقاتنا تعتمد على التحديث اليدوي: كيف أنقذتنا WebSockets من جحيم ‘الاستقصاء المستمر’ (Polling)؟

مقالة تستعرض تجربة عملية في الانتقال من تقنية الاستقصاء المستمر (Polling) المرهقة إلى استخدام WebSockets لتطبيقات الوقت الحقيقي. اكتشف كيف يمكن لهذا التغيير أن يحسّن...

26 مايو، 2026 قراءة المزيد
الحوسبة السحابية

كانت خوادمنا تلتهم الميزانية وهي خاملة: كيف أنقذتنا الحوسبة بدون خوادم (Serverless) من جحيم الفواتير؟

أنا أبو عمر، مبرمج فلسطيني، وأروي لكم قصتي مع الفواتير السحابية المرتفعة وكيف كانت "الحوسبة بدون خوادم" أو Serverless هي طوق النجاة. اكتشفوا معي كيف...

26 مايو، 2026 قراءة المزيد
التوظيف وبناء الهوية التقنية

كان ملفي على GitHub مقبرة للمشاريع: كيف أنقذتني المصادر المفتوحة من جحيم “ليس لديك خبرة عملية”؟

هل ملفك على GitHub مليء بالمشاريع غير المكتملة؟ في هذه المقالة، أشارككم تجربتي الشخصية كأبو عمر، وكيف حولتني المساهمة في المصادر المفتوحة من مبرمج يواجه...

26 مايو، 2026 قراءة المزيد
التوسع والأداء العالي والأحمال

خدماتنا كانت تنتظر في طابور طويل: كيف أنقذتنا ‘طوابير الرسائل’ من جحيم ‘الرجاء الانتظار’؟

أشارككم قصة حقيقية من تجربتي كمبرمج، وكيف كاد مشروعنا أن يفشل بسبب بطء الاستجابة. اكتشفوا معنا كيف غيّرت "طوابير الرسائل" (Message Queues) طريقة عملنا، وحوّلت...

26 مايو، 2026 قراءة المزيد
التكنلوجيا المالية Fintech

من كابوس “أرسل هويتك مجدداً” إلى التحقق الفوري: كيف أنقذنا الذكاء الاصطناعي في عالم الـFintech

كان التحقق من هوية العميل (KYC) عملية يدوية مرهقة تسببت في إحباط العملاء والموظفين. في هذه المقالة، أسرد لكم قصة واقعية من تجربتي كمطور وكيف...

26 مايو، 2026 قراءة المزيد
البنية التحتية وإدارة السيرفرات

كانت تطبيقاتنا تموت بصمت في الليل: كيف أنقذنا Kubernetes من جحيم ‘إعادة التشغيل اليدوية’؟

أشارككم قصتي كـ"أبو عمر"، مبرمج فلسطيني، وكيف انتقلنا من ليالي الرعب وإعادة تشغيل السيرفرات يدوياً إلى عالم الأتمتة والشفاء الذاتي للتطبيقات باستخدام Kubernetes. مقالة عملية...

26 مايو، 2026 قراءة المزيد
ادارة الفرق والتنمية البشرية

كان كل خطأ كارثة شخصية: كيف أنقذتنا ‘السلامة النفسية’ من جحيم ‘إخفاء الأخطاء’؟

أنا أبو عمر، مبرمج فلسطيني، وأروي لكم كيف انتقلنا من بيئة عمل كان فيها الخطأ البرمجي وصمة عار، إلى ثقافة "السلامة النفسية" التي حولت الأخطاء...

26 مايو، 2026 قراءة المزيد
اختبارات الاداء والجودة

كان إطلاقنا رهاناً محفوفاً بالمخاطر: كيف أنقذتنا اختبارات التحمل (Load Testing) من جحيم ‘هل سيصمد الخادم؟’

أشارككم قصة حقيقية من قلب المعركة التقنية، حيث كان إطلاق منتجنا الجديد على المحك. لولا اختبارات التحمل (Load Testing) وأدوات مثل k6، لكنا غرقنا في...

26 مايو، 2026 قراءة المزيد
البودكاست