Практичний приклад
Окремо перевірте основний текст, placeholder і hover-стан, адже вони часто мають різні кольори.
Великий заголовок (24px)
Звичайний текст 14-16px. Більшість текстів інтерфейсу, міток і абзаців належать до цієї категорії, тому вона має найсуворіші вимоги до контрасту.
Коефіцієнт контрасту вимірює, наскільки текст відрізняється від тла, за шкалою від 1:1 (однакові) до 21:1 (чорний на білому). WCAG вимагає щонайменше 4.5:1 для звичайного тексту та 3:1 для великого на рівні AA, і 7:1 / 4.5:1 на рівні AAA.
Ця перевірка обчислює коефіцієнт з відносної яскравості точно за визначенням WCAG 2.x, показує результати pass/fail для кожного рівня та демонструє ваші кольори на реальному тексті. Приймаються нотації HEX, RGB та HSL.
Прохідний коефіцієнт — це базовий рівень, а не фініш. Перевірте, як пара поводиться в реальних станах інтерфейсу.
Пара, що проходить на світлому тлі, може провалитися після інверсії в темній темі. Перевіряйте кожну тему, яку випускаєте.
Hover, focus, disabled та visited часто використовують світліші відтінки, які непомітно падають нижче 4.5:1.
Поєднуйте колір з іконками, підкресленнями чи текстовими мітками, щоб інформація переживала порушення колірного зору.
Полегшений поріг 3:1 діє лише від 24px або 18.66px жирним. Перевіряйте фактичний розмір, а не дизайн-токен.
Окремо перевірте основний текст, placeholder і hover-стан, адже вони часто мають різні кольори.
Напівпрозорий текст має різний фактичний контраст на кожному фоні, тому одного HEX-значення недостатньо.
Я використовую числове співвідношення як поріг, а потім перевіряю focus, disabled, dark mode і high contrast у справжньому компоненті.
Можливо, тобі також стануть у пригоді ці інструменти.