حاسبة تباين APCA
تأخذ حاسبة تباين 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. النتائج حتمية بالكامل بلا استدعاءات شبكة أو عيّنات أو اختصارات تعتمد على التاريخ. استكشفوا الأزواج مجانًا في المتصفح، أو استدعوا واجهة API بسعر $0.002 لكل طلب ناجح عندما تحتاج أنظمة التصميم في CI أو خلفيات Figma أو مسارات الرموز إلى نفس مصفوفة Lc في كل مرة.
طريقة الاستخدام
أدخل القيم في النموذج أعلاه. تتحقق الأداة منها قبل الحساب ثم تعرض النتيجة في الصفحة نفسها.
راجع بياناتك
اتبع التسميات والوحدات الموضحة بجانب كل حقل. إذا كانت قيمة مفقودة أو خارج النطاق، توضح الصفحة الحقل الذي يحتاج إلى تصحيح.
أعد الحساب أو نفّذه آليًا
استخدم أداة الويب للفحوص الفردية، واستخدم الواجهة البرمجية عند دمج الإمكانية نفسها في سير عمل آلي.
حالات الاستخدام
احصل على النتيجة الآن
أدخل مجموعة من القيم وشاهد النتيجة من دون إعداد جدول بيانات أو برنامج نصي.
قارن السيناريوهات
غيّر قيمة واحدة في كل مرة وأعد الحساب لمعرفة ما الذي يؤثر في النتيجة.
أتمت العمل المتكرر
استخدم الواجهة البرمجية عندما تحتاج إلى تشغيل الحساب نفسه داخل منتجك أو سير عملك.
الأسئلة الشائعة
كم تكلفة حاسبة تباين APCA؟
هي مجانية في متصفحكم على هذه الصفحة. عبر API يكلف الطلب الناجح $0.002؛ والمدخلات غير الصالحة لا تُفوتر.
ما صيغ الألوان المقبولة؟
hex فقط: #RGB أو #RRGGBB، مع علامة المربع الأولى أو بدونها، دون تمييز لحالة الأحرف. تُرفض rgb() وhsl() والألوان المسماة وhex مع ألفا بـ invalid_input.
ما هو 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.
هل يفحص هذا الأداة موقعي بحثًا عن مشاكل التباين؟
لا. يقارن فقط لونَي hex تقدمونهما. لتدقيق الصفحات الحية استخدموا ماسح إمكانية وصول مخصص؛ تجيب هذه النقطة عن سؤال Lc لـ APCA بلونين بـ JSON مستقر.
للمطوّرين — الوصول عبر 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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |