تصميم المواقع

ما إتاحة الوصول إلى الويب

إتاحة الوصول إلى الويب تعني بناء صفحة تعمل أيضا بلوحة المفاتيح وبقارئ الشاشة ولعين ترى الألوان على نحو مختلف. ومعظمها ليس صعبا: HTML صحيح، وتباين كاف، وحالة تركيز تُرى، وصور تحمل نصا بديلا.

  • الدرس 10 من 12
  • متوسط
  • مجاني، دون تسجيل

ورقة مراجعة الإتاحة، ما يُفحص فعلا

ورقة مراجعة قبل التسليمWCAG AA

صفحة تعمل

  • كل ما يُنقر يمكن بلوغه بـTab
  • حلقة التركيز مرئية في كل خطوة
  • تباين النص العادي ٤.٥ إلى ١ على الأقل
  • كل صورة لها نص بديل أو alt فارغ
  • الأزرار بوسم button والعناوين بوسم label
  • روابط النص تحمل إشارة غير اللون

حيث ينكسر عادة

  • outline: none في ملف إعادة الضبط
  • div صار زرا بـonclick
  • نص إرشاد داخل الحقل بدل العنوان
  • نص فوق صورة بلا طبقة داكنة
  • نافذة منبثقة لا يغلقها Escape
  • زر أيقونة فقط بلا اسم

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

آخر مراجعة: تُراجع الحقائق وأسماء الأدوات في هذا الدرس مقابل مصادرها في هذا التاريخ.

ماذا تعني إتاحة الوصول، ولمن؟

إتاحة الوصول إلى الويب تعني أن تبقى الصفحة التي بنيتها قابلة للاستعمال لمن لا يعمل بالفأرة، أو يرى الألوان على نحو مختلف، أو لا يرى الصفحة أصلا. لا أبسط ولا أبهت؛ قابلة للاستعمال فقط.

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

ومعيار هذا العمل هو WCAG، مجموعة معايير قابلة للاختبار ينشرها اتحاد الويب في ثلاثة مستويات: A وAA وAAA. والهدف العملي هو AA دائما تقريبا؛ أما AAA فبعض معاييره غير قابل للتحقيق على موقع عادي ولا أحد يطلبه منك.

ونقول كلمة صريحة أيضا: في السوق الإيرانية لا يطلب العميل هذا عادة ولا يفعله المنافس، وأكثر المواقع الفارسية لم تُجرَّب بلوحة المفاتيح ولو مرة. ومعنى ذلك أن فعله ما زال ميزة فارقة لا حدا أدنى. وأكثر ما يأتي بعد ذلك يستغرق أصيلا واحدا لا مشروعا.

تباين الألوان: أي رقم يكفي؟

التباين نسبة بين إضاءة النص وإضاءة خلفيته، ويُعبَّر عنه برقم واحد: من ١ إلى ١ أي غير مرئي، إلى ٢١ إلى ١ أي أسود على أبيض. ويطلب WCAG ٤.٥ إلى ١ على الأقل للنص العادي، و٣ إلى ١ للنص الكبير، و٣ إلى ١ لأجزاء الواجهة كحد حقل الإدخال أو أيقونة تحمل معنى.

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

وأرقام هذا الموقع الذي تقرؤه مثال جيد. حسبناها في ٥ سبتمبر ٢٠٢٦ من قيم اللوحة الحقيقية: نص المتن على الخلفية ١٧.٦ إلى ١، والنص الثانوي ٩.٢٥ إلى ١، والأزرق حين يكون لون نص ٧.٣٢ إلى ١، والنص الأخفت ٦.٢١ إلى ١. والآن الأزرق نفسه بوصفه خلفية: الأبيض عليه ٢.٧٢ إلى ١ فقط، أي ساقط. ولهذا تحمل لوحتنا أزرقين لا أزرق واحدا؛ الثاني أدكن والأبيض عليه يبلغ ٥.١٧ إلى ١، والأول باق كما هو للنص والأيقونات.

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

وموضعان ينتجان أكثر إخفاقات التباين، وليس أي منهما نص المتن: النص فوق صورة، وهو بلا رقم واحد لأن إضاءة الصورة تختلف في كل نقطة، وعلاجه طبقة داكنة تحت النص؛ ونص الإرشاد داخل حقل النموذج، وهو أشحب نص في الصفحة غالبا ويسقط في أكثر التصاميم.

لون واحد ودوران ورقمان مختلفان تماما

نسب تباين لوحة هذا الموقع، محسوبة في ٥ سبتمبر ٢٠٢٦؛ والحد للنص العادي ٤.٥ إلى ١
  1. نص المتن على الخلفية ١٧.٦ إلى ١ اللون الذي كُتب به أكثر الصفحة
  2. النص الثانوي ٩.٢٥ إلى ١ الشروح والنصوص بجوار العناصر
  3. الأزرق لون نص ٧.٣٢ إلى ١ الأزرق نفسه الذي تحمله روابط هذه الصفحة
  4. النص الأخفت ٦.٢١ إلى ١ أشحب نص مسموح به في الموقع
  5. الأبيض على أزرق الزر ٥.١٧ إلى ١ أزرق أدكن عُرِّف ليكون خلفية فقط
  6. الأبيض على أزرق النص ٢.٧٢ إلى ١ ساقط؛ وهو الأزرق نفسه الذي نجح نصا

هذه الأرقام لا تعني شيئا إلا لهذه اللوحة. وكل زوج لوني يجب حسابه وحده، ونقلها إلى موقع آخر لا يثبت شيئا.

خمس دقائق بلوحة المفاتيح: أسرع اختبار تستطيعه

اترك الفأرة واضغط Tab. هذا الاختبار لا يحتاج أداة ويجد أكثر المشكلات الحقيقية، لأن ما لا يعمل بلوحة المفاتيح لا يعمل بقارئ الشاشة أيضا.

راقب أربعة أشياء:

  • هل تصل بـTab إلى كل ما تنقره بالفأرة؟ القائمة المنسدلة، وإغلاق النافذة المنبثقة، والألسنة، والمرشحات.
  • هل تعرف في كل لحظة أين أنت؟ إن كنت لا ترى حلقة التركيز فقد سقط الاختبار هنا.
  • هل ترتيب الحركة يطابق ترتيب الصفحة؟ إن قفز Tab من العنوان إلى التذييل ثم عاد إلى الوسط، فالعناصر في HTML بترتيب غير ترتيب ظهورها.
  • هل تعلق في مكان؟ والحالة الكلاسيكية نافذة منبثقة تُفتح ولا تُغلق بـEscape ولا يخرج Tab منها.

وأكثر ما يجده هذا الاختبار سطر CSS واحد: outline: none يُكتب في ملفات إعادة الضبط لأن حلقة المتصفح الافتراضية قبيحة. وحذفه يعني أن من يعمل بلوحة المفاتيح لم يعد يعرف أين هو. والصواب استبداله لا حذفه. وعلى هذا الموقع قاعدة واحدة عامة: :focus-visible بحلقة زرقاء من بكسلين وثلاثة بكسلات إزاحة عن العنصر. وكلمة focus-visible مهمة، لأن مستخدم الفأرة لا ينال حلقة بالنقر ومستخدم لوحة المفاتيح ينالها.

وهناك عنصر آخر لا يكاد يوجد في موقع فارسي وبناؤه ثلاثة أسطر: رابط التخطي إلى المحتوى. هو أول ما يبلغه Tab، ولا يُرى حتى ينال التركيز، وينقذ القادم بلوحة المفاتيح من المرور على القائمة كلها. وفي هذا القالب هو أول عنصر داخل body.

اختبار لوحة المفاتيح، أربع خطوات بلا أدوات

اترك الفأرة وابدأ من أعلى الصفحة.

  1. اضغط Tab وانظر أين أنت

    إن لم تر حلقة التركيز فقد وجدت خللا هنا.

    1
  2. اذهب إلى آخر الصفحة وعُد بـShift وTab

    ترتيب الذهاب والعودة يجب أن يطابق ترتيب ما تراه.

    2
  3. جرّب كل شيء بـEnter وSpace

    ما يعمل بالفأرة ولا يعمل بهذين المفتاحين ليس زرا حقيقيا.

    3
  4. افتح النافذة المنبثقة والقائمة وانظر هل تخرج

    ينبغي أن يغلقها Escape وأن يعود التركيز من حيث جاء.

    4

يخبرك هذا الاختبار هل الصفحة قابلة للاستعمال بلوحة المفاتيح. ولا يخبرك كيف تُسمَع في قارئ الشاشة؛ فذلك يقوله القارئ نفسه.

كيف نكتب النص البديل للصورة؟

النص البديل لا يصف شكل الصورة، بل يصف ما تفعله الصورة في تلك الصفحة. والصورة نفسها تأخذ نصين بديلين مختلفين في صفحتين مختلفتين.

صورة كرسي في صفحة منتج: «كرسي مكتب أسود بظهر شبكي، من زاوية ثلاثة أرباع». والصورة نفسها في مقال عن ألم الظهر: «الجلسة الصحيحة على كرسي المكتب». والصورة الزخرفية المحضة التي لا تضيف معنى تأخذ نصا بديلا فارغا، أي alt=""، ليتجاوزها قارئ الشاشة. وفراغ خاصية alt ليس كغيابها: فحين تغيب يقرأ بعض قارئات الشاشة اسم الملف، وIMG-20260415-WA0007.jpg شيء لا يحتاج أحد سماعه.

وثلاثة أشياء لا تكتبها: كلمة «صورة» في أوله، فقارئ الشاشة يقول أصلا إنها صورة؛ وكلمة مفتاحية محشورة، تفسد تجربة إنسان حقيقي لأجل ترتيب لن تناله؛ وفقرة من ثلاثة أسطر، فالنص البديل جملة واحدة، وإن لزم شرح أكثر فمكانه متن الصفحة.

وحالتان ينساهما الجميع: زر ليس فيه إلا أيقونة، كعدسة البحث أو علامة الإغلاق، لا نص فيه ليُقرأ فيلزمه اسم عبر aria-label؛ ومخطط أو إنفوغرافيك، لا يتسع ملخصه في alt وأرقامه يجب أن تكون في متن الصفحة أيضا.

وعلى هذا الموقع أخذت المسألة شكلا آخر. فالأشكال في أعلى هذه الصفحة وبين أقسامها ليست صورا: هي HTML وCSS. أي أن نصها نص حقيقي يقرؤه قارئ الشاشة، ويمكن تحديده وترجمته، وقطعه الزخرفية كالخطوط ورؤوس الأسهم مخفية عن قارئ الشاشة بـaria-hidden. وقد اتُّخذ هذا القرار للسرعة أولا وكانت الإتاحة فائدة جانبية. ودرس السيو الداخلي ينظر إلى المسألة نفسها من جهة البحث.

لماذا لا يكون div زرا أبدا؟

لأن <button> يمنحك مجانا أربعة أشياء لا يملك <div onclick> منها شيئا: يبلغه Tab، ويفعّله Enter وSpace، ويقول قارئ الشاشة «زر»، ويعرف المتصفح أصلا حالتي التعطيل والتركيز فيه. وإيصال div إلى الموضع نفسه يعني كتابة tabindex وrole ومستمع للوحة المفاتيح، ثم تنتهي إلى شيء يشبه الزر فحسب.

والمنطق نفسه يسري على بقية HTML، وهذه هي فكرة HTML الدلالي كلها. اربط عنوان الحقل بحقله بـ<label for> كي ينقل النقر على النص التركيز إلى داخل الحقل ويعرف قارئ الشاشة ما يطلبه الحقل؛ ونص الإرشاد داخل الحقل لا يحل محل العنوان لأنه يختفي بمجرد الكتابة. ورتّب العناوين، h1 ثم h2 ثم h3، لأن مستعمل قارئ الشاشة كثيرا ما يسمع قائمة العناوين أولا ثم يقرر منها إلى أين يذهب. وضع القائمة داخل <nav> والمتن داخل <main> ليقفز ذلك الشخص إلى المحتوى مباشرة. واكتب القائمة بـ<ul>، فيقول قارئ الشاشة «قائمة، ستة عناصر»، وهذه معلومة حقيقية تضيع مع كومة من عناصر div.

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

ونذكر هنا فخ ARIA لكثرة ظهوره في مخرجات الأدوات: القاعدة الأولى في مواصفة ARIA نفسها ألا تكتب ARIA حين يكون في HTML عنصر لتلك المهمة. وrole="button" على div أسوأ من <button> لا أفضل.

الروابط داخل النص: لماذا لا يكفي اللون وحده

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

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

والطريق الذي سلكناه في هذا الموقع، ويمكنك قراءته في المصدر، أربعة قرارات. أولا، a عليه text-decoration: none عاما، والروابط داخل النص وحدها تأخذ صنفا خاصا. ثانيا، خط ذلك الصنف خلفية متدرجة سمكها ١.٥ بكسل تصير ٢ بكسل عند hover وعند :focus-visible، فينال مستخدم لوحة المفاتيح التغذية الراجعة نفسها التي ينالها مستخدم الفأرة. ثالثا، يحمل ذلك الصنف box-decoration-break: clone، إذ بدونه يأخذ الرابط الذي ينكسر إلى سطر ثان الخط تحت قطعة واحدة فقط وتبقى الأخرى عارية. رابعا، هناك كتلة @media (forced-colors: active) تعيد الخط الحقيقي في وضع الألوان الإجبارية بويندوز، لأن ذلك الوضع يطرح الخلفيات الصورية، وإن لم تفكر فيه اختفى خطك المتدرج عمن يحتاجه أكثر من غيره بالضبط.

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

كيف تعرف أنه أُصلح فعلا؟

لديك ثلاث أدوات وترتيبها مهم. أولا لوحة المفاتيح، ولا تحتاج شيئا وتلتقط الأكثر. ثانيا أدوات المطور في المتصفح: تريك نسبة التباين وشجرة الإتاحة، وهي ما يراه قارئ الشاشة؛ فإن ظهر زرك في تلك الشجرة بلا اسم فقد نلت جوابك. ثالثا قارئ شاشة حقيقي: فـNVDA مجاني على ويندوز، وVoiceOver مدمج في ماك وآيفون، وTalkBack في أندرويد. وعشر دقائق مع أحدها تعلّم أكثر من أي مقال.

والأدوات الآلية كقسم الإتاحة في Lighthouse مفيدة أيضا، ما دمت تعرف موضعها: هي تفحص القواعد الميكانيكية. فالنص البديل الذي يقول «صورة» يمر عندها. وترتيب التركيز لا يُقاس. وزر مكتوب عليه «المزيد» ولا يُعرف مزيد ماذا يمر من بينها. ونيل مئة يعني أن لا إخفاقات ميكانيكية عندك، لا أن الصفحة قابلة للاستعمال.

وكلمة عن إضافات شريط الإتاحة، تلك الصناديق العائمة التي تعد بجعل الموقع متاحا بسطر شفرة واحد: ما هو خطأ في HTML عندك لا تصلحه طبقة فوقه. فالـdiv الذي ليس زرا يبقى ليس زرا بعد تثبيت تلك الإضافة. ونحن لم نختبر أي منتج بعينه ولا نسمي أحدا؛ إنما نقول إن الطريق الناجع هو تغيير الترميز نفسه.

المسار السريع مع الذكاء الاصطناعي

لعمل الإتاحة نصفان، والنموذج اللغوي جيد في أحدهما فقط، لكنه فيه جيد فعلا. النصف الميكانيكي، أي تغيير الترميز ومنح العناصر أسماء وترتيب العناوين، هو بالضبط ما يفعله نموذج سريع في ثوان. أما النصف الآخر، أي هل يستطيع شخص حقيقي إتمام مهمته، فخارج قدرته لأنه لا يرى صفحتك. فالمسار السريع إذن: أجرِ الاختبار بنفسك وسلّم إعادة الكتابة. ويكفي للمكوّن العادي نموذج سريع رخيص؛ أما ما له تفاعل خاص كمنتقي التاريخ أو صندوق التحرير والاختيار فانتقل إلى نموذج أقوى. واختيارنا الحالي في <a class="text-link" href="/ar/ai/">قسم الذكاء الاصطناعي</a>.

  1. أجرِ اختبار لوحة المفاتيح بنفسك أولا واكتب المواضع التي علقت فيها. وهذا وحده ما لا يستطيع النموذج فعله عنك.
  2. اعزل مكوّنا واحدا لا الصفحة كلها، وخذ HTML الحقيقي الخاص به. ووصفه بدل لصق الترميز هو أكبر سبب منفرد لجواب لا صلة له.
  3. شغّل الوصفة أدناه. ولا تحذف جملة «المظهر لا يتغير»، وإلا عاد الجواب تصميما جديدا لا إصلاحا.
  4. ضع المخرجات في الصفحة وأعد اختبار لوحة المفاتيح نفسه. وما لم تفعل هذه الخطوة فلا شيء أُصلح، بل تغيّر فقط.

وصفة جاهزة للنسخ

الدور: مراجع إتاحة الوصول إلى الويب.

ترميز هذا المكوّن:
{الصق هنا HTML الحقيقي لهذا المكوّن وحده}

الألوان المستعملة بصيغة hex:
{مثلا نص 8690a6# على خلفية 07090f#}

ما ينبغي أن يفعله هذا المكوّن:
{في جملة واحدة}
لغة الصفحة: {العربية}

القواعد:
- المظهر لا يتغير. البنية والأسماء والترتيب فقط.
- حيثما كان في HTML العنصر الصحيح فاستعمله. وARIA فقط حيث لا عنصر في HTML لتلك المهمة.
- لكل تغيير اكتب سطرا واحدا: ما الذي تغير وأي معيار من WCAG يحققه.
- احسب نسب التباين من رموز hex هذه واكتب خطوات الحساب لأتمكن من فحصها.
- كل نص تضيفه، من aria-label إلى النص البديل، يكون بلغة الصفحة.
- وفي الآخر اذكر في قائمة منفصلة ما لا تستطيع تأكيده دون رؤية الصفحة بعد العرض.

قبل أن تثق بالناتج: تلك القائمة الأخيرة، أي «ما لا أستطيع تأكيده دون رؤية الصفحة»، هي أثمن مخرجات هذا العمل، ومنها يبدأ عملك. وافحص شيئين بنفسك أيضا: اقرأ أرقام التباين من منتقي الألوان في أدوات المطور، فالحساب العشري هو بالضبط موضع زلل النماذج؛ واحذف أي نص بديل كُتب لصورة لم يرها النموذج ثم اكتبه بنفسك. فذاك ليس وصفا بل تخمين.

الذكاء الاصطناعي في هذا العمل

موقفنا هنا بسيط: سلّم النصف الميكانيكي واحتفظ بنصف الحكم. فالنموذج اللغوي جيد فعلا في ثلاثة أمور في هذا الموضوع: إعادة كتابة قطعة ترميز إلى صورتها الدلالية، وإيجاد العناصر التي لا اسم مقروءا لها، وشرح معيار من WCAG على شفرتك أنت، وهو أسرع طريق لتعلم هذا المعيار. وما لا نسلّمه: الحكم بأن الصفحة قابلة للاستعمال أو لا.

أدوات تساعد فعلا

  • Claude جيد لإعادة كتابة مكوّن دلاليا ولبيان أي معيار يحققه كل تغيير. وإيران ليست في قائمة الدول المدعومة لدى أنثروبيك؛ قرأنا ذلك في صفحة أنثروبيك نفسها.
  • Gemini يكفي لأسئلة «لماذا هذا غير متاح» وللنص البديل بالفارسية، ويتعامل مع الفارسية جيدا. وصفحة غوغل نفسها تقول إن تطبيق جيميناي يعمل في أكثر من مئتين وثلاثين دولة ومنطقة، وإيران ليست في تلك القائمة.
  • Claude Code لأنه يرى الملفات فهو يناسب كنس قالب بأكمله: إيجاد كل outline: none وكل حقل بلا عنوان وكل زر بلا اسم. يُثبَّت مجانا لكنه يحتاج اشتراك أنثروبيك، وإيران ليست في قائمة الدول المدعومة.

اين ينقلب ضدك

ثلاثة مخاطر محددة في هذا الموضوع. الأول: النموذج لا يرى صفحتك بعد العرض، فكل قول عن ترتيب التركيز أو ظهور الحلقة أو نص يجلس فوق صورة تخمين لا فحص. والثاني، وهو أشيع مما تتوقع: حين تقول «اجعل هذا متاحا»، يكون الجواب غالبا إضافة role وtabindex وبعض خصائص aria إلى الـdiv نفسه، والجواب الصحيح كان عنصر HTML واحدا بسيطا. ومواصفة ARIA نفسها تقول في قاعدتها الأولى ألا تكتب ARIA حين يكون في HTML عنصر لتلك المهمة؛ ورابطها في آخر هذه الكتلة. والثالث: كل نص يضيفه النموذج يأتي بالإنجليزية ما لم تقل غير ذلك، وaria-label إنجليزي داخل صفحة عربية يعني أن قارئ الشاشة يبدل لهجته في منتصف الجملة. والنص البديل المكتوب لصورة لم يرها ليس وصفا فاحذفه. ولمعرفة كيفية الدفع لكل أداة من إيران، انظر دليل الشراء.

المصادر: W3C: Using ARIA, first rule W3C: Understanding contrast (minimum) W3C: Understanding use of colour Anthropic: supported countries Google: where Gemini Apps are available

حدود هذه النصيحة

بلوغ مستوى AA أرضية لا شهادة. فالصفحة التي تجتاز كل معيار ميكانيكي قد تبقى غير قابلة للاستعمال لشخص حقيقي، والعكس صحيح أيضا. وحدان آخران: هذا الدرس عن صفحة الويب وحدها، وملفات PDF والفيديو بالترجمة والوصف الصوتي وتطبيقات الجوال لكل منها قواعده. والأهم من ذلك كله أن الإتاحة لا تصلح النص الرديء؛ فقارئ الشاشة يقرأ الجملة المربكة بلا خطأ ويبقى القارئ مرتبكا. وثمة موضع آخر ينبغي الصدق فيه: بعض المكوّنات كمنتقي التاريخ أو جدول بصفي عناوين صعب فعلا، والجواب الصحيح غالبا عنصر أصلي في المتصفح أو مكتبة مختبَرة، لا ARIA مكتوبة باليد.

من عملنا نحن

ثلاثة قرارات تجلس في ملف CSS بهذا الموقع ويمكن قراءتها في مصدر الصفحة. الأول: وسم a يحمل text-decoration: none عاما وروابط النص تأخذ صنفا خاصا، لأن وضع خط تحت كل رابط يضع خطا تحت القائمة والبطاقات والشعار أيضا. وخط ذلك الصنف خلفية متدرجة سمكها ١.٥ بكسل تبلغ ٢ بكسل عند hover وعند focus-visible، ويحمل box-decoration-break: clone لأن الرابط المنكسر على سطرين بدونه يأخذ الخط تحت قطعة واحدة فقط، وفيه كتلة forced-colors تعيد الخط الحقيقي في وضع التباين الإجباري لأن ذلك الوضع يطرح الخلفيات الصورية. والثاني: اللوحة تحمل أزرقين لا أزرق واحدا: فالأزرق نصا على خلفيتنا ٧.٣٢ إلى ١، لكن الأبيض على الأزرق نفسه ٢.٧٢ إلى ١ فقط، فوُجد أزرق أدكن بـ٥.١٧ إلى ١ لحالة أن يكون الأزرق نفسه خلفية. وتعليق هذا القرار مكتوب فوق المتغير في الملف. والثالث: قاعدة focus-visible عامة بحلقة من بكسلين وثلاثة بكسلات إزاحة، ورابط تخطٍّ إلى المحتوى هو أول عنصر داخل body.

اسئلة متابعة حقيقية

هل تؤثر الإتاحة في السيو؟

لم تعلن غوغل الإتاحة عاملا في الترتيب ونحن لا ندّعي ذلك. لكن التداخل حقيقي: العناوين المرتبة والنص البديل الصحيح وHTML الدلالي والنص الذي هو نص لا صورة، كلها تنفع القارئ والزاحف معا. وموضع هذا النقاش الأوفى هو درس السيو الداخلي.

هل يختلف الأمر في موقع عربي من اليمين إلى اليسار؟

يصير أمران مهمين. أولهما خاصية lang على وسم html، لأن قارئ الشاشة يأخذ صوته ونطقه منها، وlang خاطئة تعني قراءة العربية بلكنة إنجليزية؛ والمقاطع بلغة أخرى تحتاج lang خاصة بها. وثانيهما الخصائص المنطقية في CSS بدل اليمين واليسار، وإلا خرج التخطيط صحيحا في لغة ومعكوسا في الأخرى؛ ودرس CSS يبين ذلك بأمثلة.

عندي موقع قديم، من أين أبدأ؟

من الثلاثة الرخيصة التي تصلح الموقع كله دفعة واحدة: أعد حلقة التركيز، وتأكد أن كل ما يُنقر يمكن بلوغه بـTab، وارفع تباين النصوص الشاحبة. وهذه الثلاثة غالبا أسطر قليلة من CSS. ثم يأتي النص البديل وبنية العناوين، ويُنجزان صفحة صفحة.