تضاد رنگ چه اثری در سئو دارد؟ آشنایی با استاندارد AA/AAA و APCA

وقتی در مورد دسترسی پذیری (accessibility) صحبت می کنیم، تضاد رنگ (contrast ratio) یکی از مهم ترین مواردی است که به ذهن می رسد و لازم است که در همه سایت ها به آن اهمیت داده شود. طبق گزارش سایت WebAIM، میزان 83.6 درصد هوم پیج سایت ها در سال 2023 دارای ایراد کانترست ریشیو بودند. این بررسی بر اساس استانداردهای Web Content Accessibility Guidelines (WCAG) انجام شده است.

دسترسی پذیری یکی از ارکان مهم در on-page SEO است که توجهی کمتری نسبت به مواردی مانند پرفورمنس به آن شده است. دسترسی پذیری شامل مواردی مانند سایز فونت، لیبل ها، دکمه ها، فاصله ها و موارد متعدد دیگر است. در این مقاله در خصوص مطالب زیر توضیح داده شده است:

تاریخچه تضاد رنگ

جالب است بدانید برای اولین بار، آقای اسحاق نیوتن در سال 1704 تضاد بین 7 رنگ را محاسبه کرد و برای آن یک color circle طراحی کرد. دایره رنگ نیوتن به این صورت بود که رنگ هایی که دقیقا روبروی هم قرار داشتند، بیشترین تضاد رنگ را نسبت به یکدیگر داشتند.

بعدها در سال 1708 نیز آقای یوهان گوته (نویسنده نامی آلمانی) نیز دایره رنگ را عرضه کرد که 6 رنگ را تحت پوشش قرار می داد ولی مانند دایره نیوتن، از ریاضی و محاسبات در آن استفاده نکرده بود.

دایره رنگ نیوتن که شامل 7 رنگ بود
دایره رنگ نیوتن
دایره رنگ گوته
دایره رنگ گوته

 چرا تضاد رنگ مهم است؟

حدود 320 میلیون نفر در سراسر جهان، شامل 1 نفر از هر 20 مرد و 1 نفر از هر 200 زن که در مجموع برابر با 5% درصد از جمعیت جهان را شامل می شود، دارای مشکل دیدن رنگ و کوررنگی هستند. به همین دلیل لازم است که در صفحات سایت و حتی در چاپ نیز به contrast ratio رنگ متن و رنگ پس زمینه دقت کرد که همه کاربران بتوانند به راحتی متن ها را مطالعه کنند. در همین راستا، گوگل نیز توصیه می کند که به استاندارد WCAG در مورد دسترسی پذیری که شامل راهنمای تضاد رنگ نیز هست،‌ توجه شود تا تجربه کاربری خوبی برای همه کاربران سایت فراهم شود.

تضاد رنگ چگونه محاسبه می شود؟

همان طور که گفته شد، یکی از معتبر ترین استاندارد های تضاد رنگ، توسط World Wide Web Consortium (W3C) تحت راهنماهای WCAG عرضه شده است. محاسبه تضاد رنگ بر اساس نسبت میزان درخشندگی رنگ های پس زمینه و پیش زمینه انجام می شود. به عنوان نمونه، رنگ سفید دارای میزان درخشندگی 100% و رنگ مشکی دارای میزان درخشندگی 0% است.

contrast ratio = (L1 + 0.05) / (L2 + 0.05)
# L1 = Luminance 1 = میزان درخشندگی نسبی رنگ روشن
# L2 = Luminance 2 = میزان درخشندگی نسبی رنگ تیره

میزان contrast ratio می تواند عددی بین 1 و 21 باشد که به عنوان 1:1 و 1:21 (یا 21:1 با توجه به تیره و روشن بودن پس زمینه و پیش زمینه) نیز نمایش داده می شوند.

تضاد رنگ با استاندارد AA/AAA

طبق استاندارد WCAG، کانترست ریشیو دست کم باید عدد 4.5 باشد که به AA شناخته می شود و اگر بتواند به عدد 7 برسد، ایده آل خواهد بود و با AAA شناخته می شود. البته در صورتی که اندازه فونت به میزان 120% تا 150% درصد بزرگتر از اندازه فونت پیش فرض متن باشد، میزان تضاد رنگ AA به 3 و میزان تضاد رنگ AAA به 4.5 کاهش پیدا می کند.

مقایسه contrast ratio رنگ های مختلف
مقایسه contrast ratio رنگ های مختلف

میزان تضاد رنگ 4.5:1 برای افراد دارای محدودیت در تشخیص رنگ و همچنین افراد 80 ساله مناسب است. در صورتی که یک فرد دچار کوررنگی باشد، تضاد رنگ دست کم 7:1 توصیه می شود.

نوع متنAAAAA
متن صفحه (< 24px)4.57
متن بزرگ (> 24px)34.5
UI (icons, graphs, etc.)3تعریف نشده

بررسی تضاد رنگ با استاندارد AA/AAA توسط گوگل کروم

در DevTools مرورگر گوگل کروم، امکان بررسی تضاد رنگ و مشخص کردن متن هایی که دارای مشکل تضاد رنگ هستند وجود دارد. در تب Elements در DevTools، در بخش Styles روی یک رنگ کلیک کرده تا color picker باز شود.

در صورتی که مرورگر توانسته باشد با توجه به CSS موجود در صفحه، رنگ پس زمینه متن مورد نظرتان را متوجه شده باشد، میزان کانترست ریشیو را به شما نمایش می دهد و هر کدام از کانترست ریشیو های AA یا AAA که پاس شده بود را با تیک سبز و کانترست ریشیو هایی که پاس نشده اند را با علامت ممنوع قرمز مشخص می کند. با توجه به تضاد رنگ المنت در حال بررسی، ممکن است یک یا دو نمودار روی color picker ظاهر شود و شما می توانید با تغییر طیف رنگ و انتخاب رنگ مناسب، استاندارد AA یا AAA را پاس کنید.

بررسی تضاد رنگ AA/AAA در color picker گوگل کروم
بررسی تضاد رنگ AA/AAA در color picker گوگل کروم

ابزار بررسی تضاد رنگ در صفحه طبق استاندارد AA/AAA

ابزارهای آنلاین و آفلاین متعددی برای بررسی contrast ratio وجود دارد. ابزار زیر توسط آقای Alvaro Montoro تهیه شده و با کمی ویرایش در اختیار شما قرار گرفته است. با تغییر رنگ پس زمینه و رنگ پیش زمینه می توانید از پاس شدن یا مردود شدن تست تضاد رنگ برای فونت های با اندازه 24 پیکسل یا معادل آن به بالا و فونت های کوچک تر از 24 پیکسل مطلع شوید. در صورت پاس شدن تست، خانمی که در بالای ابزار وجود دارد، لبخند می زند و در غیر اینصورت، کم کم لبخند آن محو خواهد شد 🙂

Teacher Cartoon of a Caucasian woman smiling, and wearing black glasses and a purple shirt with white collar.
فونت بزرگ > 24px WCAG AA
فونت نرمال < 24px WCAG AA
فونت بزرگ > 24px WCAG AAA
فونت نرمال < 24px WCAG AAA
برای تغییر متن کلیک کنید
رنگ متن (foreground)
رنگ پس زمینه (background)

تضاد رنگ با استاندارد APCA

به غیر از استاندارد AA/AAA، استاندارد دیگری به نام APCA که مخفف Accessible Perceptual Contrast Algorithm است نیز وجود دارد. استاندارد APCA از AA/AAA دقیق تر است و علاوه بر font-size و font-weight، کاربرد متن در صفحه را نیز مد نظر قرار می دهد.

Font weight100200300400500600700800900
Font Size
10px©§™©§™©§™©§™
11px©§™©§™©§™©§™
12px©§™©§™x100x90x80
14px©§™100908060x60
16px10090806055x50x50
18px9080605550x40x40
24px100806055504038x35
30px9070555040383530
36px8060504038353025
48px10070554038353025>20
60px90605038353025>20>20
72px805540353025>20>20>20
96px7050353025>20>20>20>20
120px60403025>20>20>20>20>20
جدول استاندارد تضاد رنگ APCA

به معنای این است که نباید متنی با این مشخصات در صفحه باشد مگر اینکه متن decorative باشد.

©§™ به معنی این است که متن با ابعاد/وزن مذکور نباید در محتوا استفاده شود ولی می تواند در موارد غیر محتوایی مانند کپی رایت استفاده شود.

x مواردی که با x شروع می شوند نباید در محتوای صفحه استفاده شوند.

>20 بهتر است متن با ابعاد/وزن مذکور در محتوا استفاده نشود

بررسی تضاد رنگ با استاندارد APCA توسط گوگل کروم

استاندارد APCA به صورت experimental در DevTools گوگل کروم وجود دارد. برای تغییر استاندارد تضاد رنگ AA/AAA به APCA در DevTools به روش زیر عمل کنید:

  1. با فشار دادن دکمه های Control+Shift+C یا دکمه F12 در ویندوز، لینوکس​ و کروم OS، یا با فشار دادن دکمه های Command+Option+C در سیستم عامل مک، DevTools گوگل کروم را باز کنید.
  2. روی آیکن چرخ دنده در سمت راست DevTools کلیک کرده و وارد تنظیمات DevTools شوید
  3. در سایدبار سمت چپ، روی Experimnets کلیک کنید.
  4. گزینه APCA که در تصویر زیر نمایش داده شده را فعال کنید.
فعال کردن تضاد رنگ APCA در تنظیمات DevTools مرورگر گوگل کروم
فعال کردن تضاد رنگ APCA در تنظیمات DevTools مرورگر گوگل کروم

پس از اینکه تنظیم بالا را انجام دادید، لازم است که DevTools یا مرورگر خود را ریلود کنید تا تغییری که انجام دادید،‌ اعمال شود.

حال می توانید در تب Elements در DevTools گوگل کروم، در بخش Styles روی یک رنگ کلیک کرده تا color picker باز شود.

در صورتی که مرورگر توانسته باشد با توجه به CSS موجود در صفحه، رنگ پس زمینه متن مورد نظرتان را متوجه شده باشد، میزان کانترست ریشیو را بر اساس استاندارد APCA به شما نمایش می دهد و با استفاده از منحنی که روی color picker وجود دارد می توانید نسبت به انتخاب رنگ مناسب اقدام کنید.

بررسی تضاد رنگ APCA در color picker گوگل کروم
بررسی تضاد رنگ APCA در color picker گوگل کروم

شناسایی متن های با تضاد رنگ کم

همان طور که در بالا گفته شد، جهت شناسایی متن های با تضاد رنگ کمتر از AA و AAA یا متن هایی که استاندارد APCA را پاس نکرده باشند، می توان از ابزارهای گوناگون مانند گوگل کروم و ابزار لایت هاوس گوگل استفاده کرد.

برای بررسی کل محتوای صفحه از نظر تضاد رنگ توسط مرورگر گوگل کروم و لایت هاوس به روش زیر عمل کنید.

بررسی تضاد رنگ با CSS Overview گوگل کروم

DevTools گوگل کروم یک امکان به نام CSS Overview دارد که اگر در مرورگر شما فعال نیست، می توانید به صورت زیر آن را فعال نمایید:

  1. با فشار دادن دکمه های Control+Shift+C یا دکمه F12 در ویندوز، لینوکس​ و کروم OS، یا با فشار دادن دکمه های Command+Option+C در سیستم عامل مک، DevTools گوگل کروم را باز کنید.
  2. با فشردن Control+Shift+P در سیستم عامل ویندوز و اوبنتو و Command+Shift+P در سیستم عامل مک، Command Pallete را باز کنید.
  3. کلمه CSS را تایپ کرده و روی گزینه Show CSS Overview کلیک کنید.
  4. روی تب CSS Overview به DevTools اضافه شده کلیک کنید.
  5. روی دکمه Capture overview کلیک کنید. با توجه به نوع استاندارد AA/AAA یا APCA که در تنظیمات DevTools انتخاب کرده اید، نتیجه بررسی به صورت زیر خواهد بود.
Command Pallete در DevTools مرورگر گوگل کروم
DevTools Command Pallete
نمایش Contrast issue های موجود در گزارش CSS Overview در DevTools مرورگر گوگل کروم با استاندارد AA/AAA
نمایش Contrast issue های موجود در گزارش CSS Overview طبق استاندارد AA/AAA
نمایش Contrast issue های موجود در گزارش CSS Overview در DevTools مرورگر گوگل کروم با استاندارد APCA
نمایش Contrast issue های موجود در گزارش CSS Overview طبق استاندارد APCA

گزارش automatic contrast issue در DevTools گوگل کروم

DevTools گوگل کروم این امکان را دارد که علاوه بر گزارش CSS Overview که در قسمت قبل در مورد آن توضیح داده شد، به صورت خودکار، گزارش مشکلات تضاد رنگ را در کنسول DevTools نمایش دهد. برای فعال کردن این امکان، ابتدا وارد تنظیمات DevTools شوید و با توجه به تصویر زیر، پس از کلیک بر روی Experiments در ساید بار، گزینه Enable automatic contrast ratio reporting via the Issues panel را فعال کنید.

فعال کردن تضاد رنگ automatic contrast issue reporting در تنظیمات DevTools گوگل کروم
فعال کردن تضاد رنگ automatic contrast issue reporting در تنظیمات DevTools گوگل کروم

سپس DevTools را ریلود کنید. در صورتی که صفحه ای که در آن هستید دارای مشکل تضاد رنگ باشد، تعداد مشکلات در لبه بالا در سمت راست DevTools نمایش داده خواهد شد و با کلیک بر روی هر مشکل می توانید با توجه به تصویر زیر، مشکل تضاد رنگ آن را در پنل Issues مشاهده کرده و با کلیک بر روی هر المنت، جزئیات را در تب Elements رویت کنید.

گزارش اتوماتیک کانترست ریشیو در DevTools گوگل کروم
گزارش اتوماتیک تضاد رنگ در DevTools گوگل کروم

بررسی تضاد رنگ با ابزار لایت هاوس

گوگل ابزار لایت هاوس را به صورت متن باز جهت بررسی صفحات از دیدگاه های پرفورمنس، دسترسی پذیری، best practices (بهترین روش)، سئو و PWA ارائه کرده است. مشکلات contrast ratio احتمالی، در گزارش دسترسی پذیری یا همان Accessibility لایت هاوس، نمایش داده می شوند. با توجه به تصویر زیر، نام المنت هایی که دارای مشکل تضاد رنگ هستند،‌ در قسمت Failing Elements نمایش داده می شوند.

نمایش ارور Contrast ratio در گزارش Accessibility لایت هاوس گوگل
نمایش ارور Contrast ratio در گزارش Accessibility لایت هاوس

مقاله آموزش نحوه نصب و استفاده از Lighthouse CLI می تواند برای شما مفید باشد.

شبیه سازی کور رنگی در DevTools گوگل کروم

همان طور که در مقدمه نوشته شد، حدود 5 درصد از مردم دارای مشکلات کور رنگی هستند. برخی از افراد به طور کامل هیچ رنگی را نمی توانند ببینند و برخی دیگر نیز ممکن است فقط یک طیف رنگ مانند آبی، قرمز یا سبز را نتوانند ببینند. خوشبختانه مرورگر گوگل کروم، امکان شبیه سازی انواع کور رنگی را در DevTools خود قرار داده است. برای شبیه سازی کور رنگی، به روش زیر عمل کنید.

  1. با فشار دادن دکمه های Control+Shift+C یا دکمه F12 در ویندوز، لینوکس​ و کروم OS، یا با فشار دادن دکمه های Command+Option+C در سیستم عامل مک، DevTools گوگل کروم را باز کنید.
  2. با فشردن Control+Shift+P در سیستم عامل ویندوز و اوبنتو و Command+Shift+P در سیستم عامل مک، Command Pallete را باز کنید.
  3. کلمه render را تایپ کرده و روی گزینه Show Rendering کلیک کنید.
  4. روی تب Rendering کلیک کنید.
  5. در قسمت Emulate vision deficiencies گزینه مورد نظرتان را انتخاب کنید.
شبیه سازی کور رنگی در گوگل کروم
شبیه سازی کور رنگی در DevTools گوگل کروم

جمع بندی

انتخاب رنگ برای المان های مختلف در صفحات سایت، یکی از نکات مهمی است که در متخصصان UI/UX باید به آن توجه داشته باشد. برای انتخاب رنگ های مناسب در صفحات، علاوه بر دانستن روانشانسی رنگ ها، لازم است که استانداردهایی مانند موضوع تضاد رنگ که برای بهبود تجربه کاربری در نظر گرفته شده اند نیز رعایت شوند.

خواندن راهنمای Material 3 color roles و Material 2 Color system گوگل می تواند برای شما مفید باشد.

پرسش های متداول در مورد contrast ratio

چه تضاد رنگی مناسب است؟

طبق استاندارد WCAG، تضاد رنگ 1:4.5 برای فونت های با سایز تا 24 پیکسل و تضاد رنگ 1:3 برای فونت های با سایز بزرگ تر از 24 پیکسل مناسب است.

آیا contrast ratio پایین تر از حد استاندارد باعث جریمه گوگل خواهد شد؟

خیر. پایین بودن تضاد رنگ منجر به جریمه گوگل نخواهد شد. کانترست ریشیو تاثیر مستقیم در تجربه کاربری دارد و تجربه کاربری بر روی رنکینگ صفحات و سایت تاثیرگذار است.

آیا الزامی در پاس کردن استاندارد AAA است یا اگر AA را پاس کنیم کفایت می کند؟

الزامی در رسیدن به استاندارد AAA نیست، ولی اگر بتوانید انتخاب رنگ پس زمینه و پیش زمینه را به نحوی انتخاب کنید که همیشه استاندارد AAA را پاس کنید، تاثیر مثبتی در تجربه کاربری خواهد داشت.

رنگ سازمانی سایت قدیمی ما به نحوی است که در بسیاری از جاها نمی توانم استاندارد های contrast ratio را پاس کنم. چه کار کنم؟

بهتر است با مشورت گرفتن از یک متخصص UI/UX، نسبت به بازنگری در رنگ سازمانی اقدام کنید.

من از فیگما برای طراحی کاربری استفاده می کنم. چطور می توانم استاندارد تضاد رنگ را در طراحی رعایت کنم؟

می توانید از ابزارهای گوناگون آنلاین و آفلاین برای بررسی contrast ratio استفاده کنید. پلاگین های متعددی نیز مانند این پلاگین برای بررسی contrast ratio وجود دارد که می توانید از آن در طراحی design system استفاده کنید.

سایت رقیب من به استانداردهای contrast ratio اهمیت نداده است. چرا رنک خوبی دارد؟

هزاران سیگنال مختلف برای محاسبه رنک وجود دارد. این طور نیست که اگر کسی استاندارد تضاد رنگ را پاس کرد، نتواند رنک خوبی داشته باشد. به هر حال، توصیه می شود برای بهبود تجربه کاربری، استانداردهای تضاد رنگ را در نظر داشته باشید.


🔗 منبع: web.dev

6 دیدگاه

  1. بسیار مطلب جالبی بود استاد جعفری.
    در عجبم که نیوتن سیصد سال پیش به تضاد رنگ فکر کرده و آن را محاسبه هم کرده! بعد از خواندن این مقاله، سایتم را یکبار از نظر کانترست ریشیو بررسی کردم و تلاش کردم تا حد امکان استاندارد APCA را پیاده کنم.
    باز هم ممنون استاد از این مقاله کاربردی و جامع. افتخار می کنم که در محضر شما سئو را یاد گرفتم.

    • درود آقای ریاحی.
      خواهش می کنم. سلامت باشید.
      بله، نیوتن کلا خیلی کارش درست بوده است و دانشمند بزرگی بوده و کارهای بزرگی انجام داده است.
      خواهش می کنم. سایت شما را دیدم. به جز یک مورد در فوتر، کانترست ریشیو همه المنت ها استاندارد APCA را پاس می کنند. شما زحمت زیادی برای سایتتان کشیدید و به همین دلیل است که با شیب مناسبی همیشه در حال پیشرفت هستید. من هم از پیشرفت شما لذت می برم.
      موفق باشید

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *