حاسبة تباين APCA
اعرف مدى وضوح لون النص فوق خلفيته: النص شبه الأسود #111827 على الأبيض يسجل Lc 104.5، وتبديل اللونين يقلب الإشارة. رقم واحد بإشارة يمكن الاستناد إليه في مراجعات التصميم. مجاناً في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- #111827
- الخلفية
- #ffffff
- Lc
- 104.5
- القيمة المطلقة لـ Lc
- 104.5
- القطبية
- BoW
- سهولة القراءة
- body_fluent
تأخذ حاسبة تباين APCA لون نص ولون خلفية برموز hex وتعيد قيمة Lc الموقّعة (تباين الإضاءة) التي ينتجها Accessible Perceptual Contrast Algorithm المستخدم في أعمال قابلية القراءة لمسودة WCAG 3. بخلاف نسبة تباين WCAG 2.x الأقدم، فإن APCA حسّاس للقطبية: النص الداكن على سطح فاتح يعطي Lc موجبًا، بينما النص الفاتح على سطح داكن يعطي Lc سالبًا بمقدار مشابه. يستخدم المصممون والمطوّرون ومتخصصو إمكانية الوصول ذلك الرقم الواحد—مع جداول حجم الخط ووزنه—ليقرروا ما إذا كان نص المتن وتسميات الواجهة والخطوط غير النصية تبقى مقروءة على الشاشات ذاتية الإضاءة. ينفّذ المحرك الثوابت العامة 0.0.98G-4g: خطّية بقوة 2.4، ومعاملات Y لـ sRGB، وsoft-clamp للأسود، وتحجيم SAPC لـ BoW/WoB. النتائج حتمية بالكامل بلا استدعاءات شبكة أو عيّنات أو اختصارات تعتمد على التاريخ.
ما الذي يقيسه Lc في APCA وكيف يختلف عن نسبة تباين WCAG 2
المخرجات هي Lc موقّع يمتد تقريبًا بين زائد وناقص مئة وعشرة: على سبيل المثال، نص متن شبه أسود على أبيض نقي غالبًا ما يقع قرب Lc تسعين أو أعلى، بينما الألوان نفسها معكوسة تنتج Lc سالبًا كبيرًا. أما WCAG 2.x فيبلغ عن نسبة تباين موجبة واحدة من الإضاءة النسبية بحدود AA وAAA ثابتة مثل 4.5 إلى 1 و7 إلى 1؛ وتتجاهل تلك النسبة القطبية وتميل إلى المبالغة أو التقليل في تقدير أزواج الدرجات الوسطى التي يصعب على الناس قراءتها فعلًا.
تعيد هذه الحاسبة دائمًا Lc الموقّع والمقدار المطلق ووسم القطبية BoW (black on white / نص داكن على فاتح) أو WoB (white on black / نص فاتح على داكن) وقيمة Y المخطّية لكل لون ونطاقًا خشنًا لقابلية القراءة مستمدًا من Lc المطلق للفرز السريع. لا يوجد زحف صفحات ولا تحليل CSS ولا مزج شفافية ولا عيّنة تدرّجات: تقدمون لونَي hex صريحين وتتلقون كائنًا قابلًا لإعادة الإنتاج يناسب بوابات رموز التصميم وتذاكر إمكانية الوصول ومراجعات اللوحات الآلية التي يجب أن تستشهد بـ Lc رقمي لا برأي ذاتي عن لقطة شاشة.
كيف تُقرأ مدخلات hex ولماذا يبقى مسار 0.0.98G-4g حتميًا
الحقول المفضلة هي text للون الحبر أو الأيقونة في المقدمة وbackground للسطح خلفه. يجب أن تكون القيمتان بصيغة hex: علامة المربع الأولى اختيارية، إما ثلاثة أرقام تتوسع إلى ستة أو ستة أرقام كاملة، دون تمييز لحالة الأحرف. تُرفض لاحقات ألفا ودوال rgb() ودوال hsl() وألوان CSS المسماة والأعداد الصحيحة العارية برسالة تسمّي الحقل وتظهر ما استُلم، حتى لا يصبح الرمز السيئ fail-open صامتًا.
يُحدّ كل لون باثنين وثلاثين حرفًا لإبقاء التحقق رخيصًا ومنع اللصق العرضي. بعد التحليل، يُرفع كل قناة إلى القوة 2.4 بعد القسمة على مئتين وخمسة وخمسين، ثم تُدمج مع معاملات sRGB لـ APCA 0.2126729 و0.7151522 و0.0721750 لتكوين Y. قيم Y شبه السوداء عند 0.022 أو دونه تتلقى soft-clamp حتى لا يُعاقب الأسود الصافي بإفراط.
عندما تكون Y الخلفية أعلى من Y النص يطبّق فرع BoW الأسّين 0.56 و0.57 مع مقياس 1.14 وإزاحة 0.027؛ وإلا يستخدم فرع WoB 0.65 و0.62 ويعيد Lc سالبًا. فروق الإضاءة الصغيرة جدًا تُقصّ إلى صفر.
أين تناسب فحوصات APCA أنظمة التصميم والوضع الداكن وWCAG 3
تلجأ فرق المنتج إلى APCA عندما تبدو لوحة علامة تجارية اجتازت WCAG 2 AA عكرة في الوضع الداكن، أو عندما يفشل نص رمادي متوسط على أسطح ناعمة في اختبارات القراءة البشرية، أو عندما يطلب أصحاب المصلحة أرقام Lc متوافقة مع مناقشات مسودة WCAG 3 بدل النسبة القديمة وحدها. يربط المهندسون العقد نفسه بفحوصات طلبات الدمج التي تمنع تغيير رمز إذا انخفض Lc المطلق لألوان المتن الأساسية دون عتبة الفريق مثل ستين، أو يسجّلون قيم WoB لعناوين البطل في السمة الداكنة التي تُوضع عمدًا أقرب إلى السطح.
يُرفق ضمان الجودة ومتخصصو إمكانية الوصول Lc الموقّع والقطبية بتقارير الأخطاء حتى يصلح المطوّرون الزوج الدقيق بدل التخمين من لقطة شاشة. تتحقق فرق المحتوى والتسويق من أن رموز hex للحملات ما زالت تجتاز نطاقات الحد الأدنى للمتن عند وضعها على خلفيات الموقع الفاتحة أو الداكنة. اقرنوها بفاحص نسبة WCAG 2 عند الحاجة إلى توثيق AA/AAA، وبأدوات تحويل الألوان عند الحاجة إلى وسائط RGB أو HSL قبل حساب Lc.
حالات الاستخدام
مراجعة رموز التصميم والوضع الداكن
افحصوا كل زوج نص/خلفية في السمات الفاتحة والداكنة للحصول على Lc موقّع والقطبية قبل تثبيت رموز العلامة التجارية.
تقارير أخطاء إمكانية الوصول مع القطبية
أرفقوا Lc الموقّع وقطبية BoW/WoB ونطاق قابلية القراءة حتى يصلح المهندسون زوج hex الدقيق لا لقطة شاشة غامضة.
الأسئلة الشائعة
ما صيغ الألوان المقبولة؟
hex فقط: #RGB أو #RRGGBB، مع علامة المربع الأولى أو بدونها، دون تمييز لحالة الأحرف.
ما هو Lc ولماذا قد يكون سالبًا؟
Lc هو تباين إضاءة APCA. القيم الموجبة تعني نصًا داكنًا على خلفية فاتحة (BoW)؛ والسالبة نصًا فاتحًا على خلفية داكنة (WoB). احتفظوا بالإشارة في التقارير الحساسة للقطبية؛ واستخدموا القيمة المطلقة فقط عند مقارنة عتبات المقدار.
بم تختلف عن فاحص نسبة تباين WCAG؟
يعيد WCAG 2.x نسبة موجبة واحدة وأعلام AA/AAA. يعيد APCA Lc موقّعًا مع القطبية ورياضيات مختلفة (Y بقوة 2.4 وsoft-clamp للأسود وأسس BoW/WoB) ويستهدف أعمال قابلية القراءة في مسودة WCAG 3 لا بوابات 4.5:1 / 7:1.
هل تفحص هذه الأداة موقعي كله بحثاً عن مشكلات التباين؟
لا. لا تزور الأداة صفحاتك ولا تقرأ أنماطها؛ أنت تحدد لون النص ولون الخلفية صراحةً، فتعيد قيمة Lc لهذا الزوج فقط بنتيجة قابلة للتكرار.
ما قيمة Lc لنص شبه أسود على خلفية بيضاء؟
النص #111827 على الخلفية #ffffff يعطي Lc 104.5، بقطبية نص داكن على خلفية فاتحة وضمن الفئة المناسبة للنص المتصل. وعند تبديل اللونين تصبح القيمة سالبة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/color/apca-contrast \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"#111827","background":"#ffffff"}'const res = await fetch("https://api.kit.forhosting.com/color/apca-contrast", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "#111827",
"background": "#ffffff"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/apca-contrast",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "#111827",
"background": "#ffffff"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/apca-contrast", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"#111827","background":"#ffffff"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"#111827","background":"#ffffff"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/apca-contrast", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "#111827",
"background": "#ffffff"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.apca_contrast",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_color_chars | 32 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
استكشفوا الأزواج مجانًا في المتصفح، أو استدعوا واجهة API بسعر $0.002 لكل طلب ناجح عندما تحتاج أنظمة التصميم في CI أو خلفيات Figma أو مسارات الرموز إلى نفس مصفوفة Lc في كل مرة.
ما الذي يقيسه Lc في APCA وكيف يختلف عن نسبة تباين WCAG 2
حقل method ثابت على apca_0.0.98G-4g حتى توثّق سجلات CI بالضبط أي مجموعة ثوابت أنتجت الرقم. تُرفض رموز hex غير الصالحة والحقول الناقصة والقيم غير النصية والسلاسل الطويلة جدًا بـ invalid_input ولا تُفوتر أبدًا.
كيف تُقرأ مدخلات hex ولماذا يبقى مسار 0.0.98G-4g حتميًا
تُربط الأسماء البديلة foreground وfg وcolor1 وhex1 بـ text؛ وbg وcolor2 وhex2 بـ background، حتى تعيد جداول البيانات وسلاسل الاستعلام والنماذج استخدام العقد نفسه دون إعادة تسمية الأعمدة.
أين تناسب فحوصات APCA أنظمة التصميم والوضع الداكن وWCAG 3
يلصق المصممون أزواج hex من Figma أو JSON للرموز ويقرأون القطبية مع نطاق مثل body_preferred أو large_text قبل تثبيت مقياس. في هذه الصفحة يعمل كل شيء داخل متصفحكم؛ وعبر API تكلف كل استعلام ناجح $0.002، ولا تُحسب التحقق الفاشل، ولا يُخزَّن شيء بعد الاستجابة. هذا التقسيم—استكشاف تفاعلي مجاني وواجهة API مدفوعة مطابقة—يتوافق مع بقية كتالوج KIT من المستوى A ويتيح الانتقال من ورشة لوحة إلى مسار آلي دون تغيير النتيجة الرياضية.
حالات التكامل
بوابات CI لاستعداد مسودة WCAG 3
استدعوا API من طلبات الدمج لإفشال البناء عندما ينخفض Lc المطلق لألوان المتن دون عتبة فريقكم.
أسئلة تقنية
كم تكلفة حاسبة تباين APCA؟
هي مجانية في متصفحكم على هذه الصفحة. عبر API يكلف الطلب الناجح $0.002؛ والمدخلات غير الصالحة لا تُفوتر.
هل يفحص هذا الأداة موقعي بحثًا عن مشاكل التباين؟
لا. يقارن فقط لونَي hex تقدمونهما. لتدقيق الصفحات الحية استخدموا ماسح إمكانية وصول مخصص؛ تجيب هذه النقطة عن سؤال Lc لـ APCA بلونين بـ JSON مستقر.