سه عدد که نورسنج نیستند
شش رقم یک رنگ هگز، سه مقدار کدگذاریشدهٔ کانالهای sRGB هستند. #808080 یعنی هر سه کانال کدگذاریشده نزدیک نقطهٔ میانی خود قرار دارند. این به آن معنا نیست که نمایشگر نیمی از درخشندگی سفید را ساطع میکند، چون sRGB از منحنی انتقالی استفاده میکند که برای ذخیرهسازی و رفتار نمایشگر طراحی شده، نه برای حساب خطی.
این نخستین دلیل شکست میانگین RGB است. دومی وزندهی است: حساسیت بینایی انسان به قرمز، سبز و آبی برابر نیست. درخشندگی نسبی WCAG از ۰٫۲۱۲۶ برای قرمز خطی، ۰٫۷۱۵۲ برای سبز خطی و ۰٫۰۷۲۲ برای آبی خطی استفاده میکند. بنابراین یک رنگ آبیغالب و یک رنگ سبزغالب با میانگین کانال یکسان میتوانند به متن متفاوتی نیاز داشته باشند.
پیش از ادامهٔ مطلب
دو رنگ میانگین یکسانی از مقادیر کدگذاریشدهٔ قرمز، سبز و آبی خود دارند. آیا لزوماً درخشندگی نسبی WCAG یکسانی دارند؟
نه. هر کانال sRGB ابتدا خطی میشود، و مقادیر حاصل برای قرمز، سبز و آبی وزنهای متفاوتی میگیرند. میانگین هر دو واقعیت را دور میریزد، بنابراین نمیتواند جایگزین درخشندگی نسبی شود.
کنتراست به یک جفت تعلق دارد
وقتی درخشندگی نسبی یک رنگ، L، معلوم شد، نسبتهای آن در برابر دو سر طیف چنین است:
black contrast = (L + 0.05) / 0.05
white contrast = 1.05 / (L + 0.05)
یکی با L بالا میرود و دیگری پایین میآید. نقطهٔ تقاطع آنها جایی است که هر دو برابر جذر ۲۱ باشند، حدود ۴٫۵۸. این توضیح میدهد که چرا یک نمونهرنگ مات sRGB همیشه یک انتخاب سیاه یا سفید بالای ۴٫۵ دارد — اما توضیح نمیدهد که آیا یک روکش نیمهشفاف، حالت غیرفعال یا عکسی پشت متن آن جفت را حفظ میکند یا نه.
سازندهٔ فایل پالت رنگ این مقایسه را برای هر نمونهرنگ نامدار انجام میدهد و برنده را کنار توکن رنگ خروجی میدهد. هگزِ دارای کانال آلفا را نمیپذیرد، چون در آن صورت کنتراست به پسزمینهای بستگی پیدا میکرد که وارد نشده است.
پالت، ممیزی مؤلفه نیست
این نسبت شاهدی لازم است، نه یک رابط کامل. متن عادی و متن بزرگ آستانههای WCAG متفاوتی دارند. نشانگرهای فوکوس، آیکونها، حاشیهها و تغییر حالتها الزامات دیگری دارند. رندر فونت هم میتواند خواندن متن بسیار نازک را سختتر کند، حتی وقتی رنگها از نظر ریاضی از آستانه میگذرند.
از یک توکن اندازهگیریشده استفاده کنید تا از اشتباه رنگیِ قابل اجتناب پرهیز کنید، سپس مؤلفهٔ واقعی را در هر حالت آزمایش کنید. تبدیل PNG به JPEG یا WebP میتواند حجم ذخیرهسازی و گاهی مقادیر پیکسلها را تغییر دهد؛ رابطهٔ معناییِ پیشزمینه–پسزمینه نمیسازد و متنی را که درون تصویر جاسازی شده تأیید نمیکند.
پرسشهای رایج
آیا میانگین RGB بالاتر همیشه یعنی رنگ روشنتر؟
نه در سنجهای که برای کنتراست به کار میرود. کانالهای کدگذاریشده باید خطیسازی شوند و سبز وزن بسیار بیشتری از آبی دارد، بنابراین میانگینهای برابر میتوانند درخشندگی نسبی متفاوتی تولید کنند.
آیا یکی از سیاه یا سفید همیشه روی یک رنگ مات از ۴٫۵ به ۱ میگذرد؟
قویترِ آن دو کمینهای نظری برابر با جذر ۲۱ دارد، حدود ۴٫۵۸ به ۱. این آستانهٔ عددی متن عادی را پوشش میدهد، اما مؤلفهٔ واقعی همچنان میتواند به خاطر شفافیت، تصویر، حالتها، هموارسازی لبهها (anti-aliasing) یا استفاده از رنگی غیر از توکن اندازهگیریشده مردود شود.
آیا تبدیل یک تصویر میتواند کنتراست متن درون آن را بهتر کند؟
تبدیل قالب پیکسلها را از نو طراحی نمیکند. کدگذاری با اتلاف میتواند لبهها را نرم کند یا نمونهها را اندکی تغییر دهد، اما نمیتواند متنِ غیرقابل دسترسِ جاسازیشده را به جفت پیشزمینه–پسزمینهای که بهطور قابل اتکا دسترسپذیر باشد تبدیل کند.