هل يقرأ قارئ الشاشة موقعك بسهولة؟
أداة فحص الإتاحة تفتح صفحة داخل متصفح حقيقي وتقيّمها وفق معايير الإتاحة الدولية WCAG: نصوص بديلة للصور، تباين الألوان، وسهولة التنقل بلوحة المفاتيح وحدها. تناسب أي موقع يريد أن يصل محتواه لكل زائر بما فيهم من يستخدم قارئ شاشة، سواء التزامًا بمعايير رسمية أو حرصًا فعليًا على وصول المحتوى للجميع دون استثناء.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
ما تفحصه الأداة تحديدًا
يقيّم الفحص وجود نص بديل لكل صورة يفسر محتواها لمن لا يراها بعينه، ونسبة التباين بين لون النص وخلفيته للتأكد أنها كافية لضعاف البصر، وإمكانية التنقل بين عناصر الصفحة بلوحة المفاتيح وحدها دون فأرة على الإطلاق أو مساعدة خارجية إضافية من أي نوع. يظهر كل معيار في التقرير مع حالته: مطابق أو يحتاج تحسينًا، ومكانه بالضبط في كود الصفحة نفسها.
لماذا تهم هذه المعايير أكثر مما يظن كثيرون
قارئ الشاشة يعتمد كليًا على النص البديل ليصف صورة لمستخدم كفيف، فصورة بلا نص بديل تصبح فراغًا لا معنى له في تجربته الكاملة للصفحة وما تحمله من محتوى مهم. ضعاف البصر يعتمدون على تباين واضح ليقرؤوا النص أصلًا دون إجهاد، ومن لا يستطيع استخدام فأرة يعتمد كليًا على إمكانية التنقل بلوحة المفاتيح للوصول لأي زر أو رابط في الصفحة بسهولة ودون عوائق.
من يحتاج فحصًا دوريًا لموقعه
المواقع الحكومية ومواقع الخدمات العامة تخضع غالبًا لمعايير إتاحة إلزامية منصوص عليها رسميًا في أنظمتها الداخلية المعتمدة. بينما أي موقع تجاري يستفيد أيضًا من وصول محتواه لشريحة أوسع من الزوار لا يستبعد أحدًا بسبب إعاقة. مراجعة دورية بعد كل تحديث تصميم تمنع تراجع الإتاحة دون قصد، كإضافة صورة جديدة نُسي وضع نص بديل لها عند الرفع الأخير للموقع بالكامل مجددًا.
حالة الأداة اليوم وتكلفتها
الأداة اليوم في مرحلة تجريبية، وتُقارَن معاييرها باستمرار بمعايير WCAG الرسمية لضبط أي فارق طفيف قد يظهر بين الحين والآخر خلال هذه المرحلة التجريبية بالذات. سعر الفحص $0.040 للطلب الأول، إضافة $0.001 لكل رابط إضافي، ويعمل عبر الموقع مباشرة أو عبر API لمن يريد ربطه بفحص تلقائي بعد كل نشر جديد ينشره بنفسه أو فريقه التقني المختص بذلك تحديدًا لا سواه.
حالات الاستخدام
التزام مكتب خدمات بمعايير إتاحة رسمية
قبل تجديد ترخيص خدماته الرقمية، يفحص مكتب خدمات حكومي موقعه للتأكد أنه يطابق معايير الإتاحة المطلوبة، فيكتشف نقص نصوص بديلة لعدة صور في صفحة النماذج.
مراجعة تصميم جديد قبل الإطلاق
قبل إطلاق تصميم جديد لموقعها، تفحص شركة الخليج الرقمية إتاحة الصفحة الرئيسية، فتكتشف أن تباين لون الأزرار الجديدة منخفض جدًا لضعاف البصر.
التأكد من التنقل بلوحة المفاتيح فقط
يفحص خالد العتيبي إمكانية التنقل بلوحة المفاتيح وحدها عبر نموذج حجز موعد جديد، للتأكد أن كل حقل يمكن الوصول إليه دون استخدام الفأرة.
الأسئلة الشائعة
هل تلتزم النتيجة رسميًا بمعايير WCAG؟
تتّبع الأداة منهجية معايير WCAG نفسها وتُقارَن نتائجها باستمرار بها خلال المرحلة التجريبية، لكنها ليست شهادة اعتماد رسمية صادرة عن جهة معايير.
كم تكلفة فحص صفحة واحدة؟
$0.040 للطلب الأول، إضافة $0.001 لكل رابط إضافي ضمن الطلب نفسه.
هل يصلح الفحص المشكلة تلقائيًا؟
لا، يحدد التقرير كل مشكلة ومكانها بالضبط، لكن التعديل الفعلي على الكود يتم من طرفك.
هل يفحص الأداة قارئ شاشة حقيقيًا أم يحاكيه فقط؟
يقيّم عناصر الصفحة وفق معايير الإتاحة التقنية التي تعتمد عليها قارئات الشاشة الفعلية، لا محاكاة صوتية مباشرة.
هل يفيد الفحص موقعًا تجاريًا غير ملزم رسميًا بالإتاحة؟
نعم، أي موقع يستفيد من وصول محتواه لشريحة أوسع من الزوار دون استبعاد أحد بسبب إعاقة.
هل أحتاج حسابًا للاستخدام؟
لا حساب اليوم؛ تفحص مباشرة وتدفع عبر PayPal عن كل استخدام فعلي.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/web/accessibility \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/accessibility", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/accessibility",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/accessibility", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/accessibility", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"url": "https://ejemplo.com"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.accessibility",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
timeout_sec | 30 |
max_crawl_pages | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |