الوصولية وأساسيات SEO — أساسيات HTML
الوصولية (Accessibility) وأساسيات SEO
الوصولية تعني أن يستطيع كل شخص استخدام موقعك: من يستخدم قارئ شاشة، أو لوحة المفاتيح فقط، أو يعاني ضعف نظر أو عمى ألوان، أو يستخدم جوالاً قديماً في ضوء الشمس. نحو 15% من البشر لديهم إعاقة ما — والوصولية تفيد الجميع (مثل الترجمة على الفيديو).
الخبر الجيد: HTML الدلالي الصحيح يعطيك معظم الوصولية مجاناً. وما يفيد قارئ الشاشة يفيد محركات البحث أيضاً: كلاهما "يقرأ" الصفحة ولا "يراها".
1. استخدم العنصر الصحيح
| تريد | استخدم | لا تستخدم |
|---|---|---|
| ينقل لصفحة أخرى | <a href> | <span onclick> |
| يفعل شيئاً في الصفحة | <button> | <div onclick> |
| عنوان قسم | <h2> | <p class="big"> |
الزر الحقيقي يعمل بلوحة المفاتيح (Tab للوصول، Enter و Space للتفعيل) ويعلنه قارئ الشاشة "زر". الـ div لا يفعل أياً من ذلك حتى تكتب له كل هذا يدوياً.
2. لوحة المفاتيح
جرّب موقعك بدون فأرة: Tab للتنقل، Shift+Tab للرجوع، Enter للتفعيل.
- هل ترى أين التركيز؟ لا تحذف إطار التركيز (outline) في CSS دون بديل.
- هل الترتيب منطقي؟ ترتيب Tab يتبع ترتيب HTML.
- رابط "تخطَّ إلى المحتوى" في أول الصفحة يوفر على مستخدم لوحة المفاتيح عشرات الضغطات:
<a href="#main" class="skip-link">تخطَّ إلى المحتوى</a>
<header>...</header>
<main id="main">...</main>3. نصوص بديلة وأسماء واضحة
- كل <img> له alt (فارغ للصور الزخرفية).
- كل حقل له <label>.
- كل زر وكل رابط له نص مفهوم. زر أيقونة بلا نص يحتاج اسماً:
<button type="button" aria-label="إغلاق النافذة">✕</button>- نص الرابط يصف الوجهة: "حمّل دليل الطالب (PDF)" لا "اضغط هنا".
4. لا تعتمد على اللون وحده
"الحقول باللون الأحمر إلزامية" لا تفيد من لا يميز الأحمر. أضف نصاً أو رمزاً: "الاسم (إلزامي)". وتأكد أن التباين بين النص والخلفية كافٍ (نسبة 4.5:1 على الأقل للنص العادي).
5. ARIA: القاعدة الأولى
ARIA خصائص تضيف معنى لقارئات الشاشة (aria-label، aria-expanded، role). القاعدة الأولى لـ ARIA: لا تستخدمها إذا وُجد عنصر HTML يؤدي الغرض. <button> أفضل من <div role="button">. ARIA الخاطئة أسوأ من عدمها، لأنها تكذب على قارئ الشاشة.
6. لغة واتجاه وعناوين
lang="ar" dir="rtl"، وعناوين متسلسلة بلا قفز، و <main> واحد. (تعلمتها في الدروس السابقة — الآن تعرف لماذا.)
أساسيات SEO في HTML
| العنصر | الأثر |
|---|---|
| <title> فريد ووصفي لكل صفحة | العنوان في نتائج البحث |
| meta description | الوصف تحت العنوان |
| <h1> واحد وعناوين منطقية | فهم موضوع الصفحة وأقسامها |
| HTML دلالي | فهم أين المحتوى الرئيسي |
| alt للصور | الظهور في بحث الصور |
| روابط بنص وصفي | فهم الصفحة المرتبطة |
| صفحة سريعة ومتجاوبة | عامل في الترتيب |
لا توجد حيلة HTML سحرية للترتيب الأول: المحتوى المفيد والصفحة السليمة هما الأساس. وتجنب "حشو الكلمات المفتاحية" — يضر أكثر مما ينفع.
أدوات الفحص
- Lighthouse في أدوات مطور Chrome: تقرير وصولية و SEO وأداء.
- validator.w3.org: أخطاء HTML.
- قارئ شاشة حقيقي: NVDA (ويندوز، مجاني)، VoiceOver (Mac و iPhone)، TalkBack (أندرويد).
تمرين
افتح صفحة كتبتها، وشغّل Lighthouse، وأصلح كل ملاحظات الوصولية. ثم تنقّل فيها بلوحة المفاتيح فقط وأضف رابط "تخطَّ إلى المحتوى".
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>صفحة يسهل الوصول إليها</title>
</head>
<body>
<a href="#main">تخطَّ إلى المحتوى</a>
<header>
<a href="index.html"><img src="images/logo.svg" alt="Kodax — الصفحة الرئيسية" width="120" height="40"></a>
<nav aria-label="القائمة الرئيسية">
<ul>
<li><a href="courses.html">الدورات</a></li>
<li><a href="challenges.html">التحديات</a></li>
</ul>
</nav>
</header>
<main id="main">
<h1>تواصل معنا</h1>
<form action="/contact" method="post">
<p>
<label for="name">الاسم (إلزامي)</label>
<input type="text" id="name" name="name" required autocomplete="name">
</p>
<p>
<label for="msg">رسالتك (إلزامي)</label>
<textarea id="msg" name="message" rows="4" required></textarea>
</p>
<button type="submit">إرسال الرسالة</button>
</form>
<p><a href="files/guide.pdf">حمّل دليل الطالب (PDF، 2 ميغابايت)</a></p>
<button type="button" aria-label="إغلاق التنبيه">✕</button>
</main>
</body>
</html>اختبر فهمك