Калькулятор контрастности

Рассчитайте контраст WCAG между двумя цветами HEX или RGB и сразу проверьте пороги AA и AAA для текста.

Проверка доступности цветов
Введите светлый и тёмный цвета в формате HEX или RGB.

О калькуляторе контрастности

Цветовой контраст описывает разницу относительной яркости переднего плана и фона. Достаточный контраст помогает читать и использовать цифровые интерфейсы людям со слабым зрением, особенностями цветовосприятия, возрастными изменениями зрения, а также при бликах или низком качестве экрана. Калькулятор переводит два цвета HEX или RGB в значения относительной яркости, определённые Руководством по обеспечению доступности веб-контента, и показывает отношение от 1:1 при одинаковой яркости до 21:1 для чёрного на белом. Расчёт не сводится к сравнению исходных значений красного, зелёного и синего каналов. Каждый канал sRGB нормализуется и линеаризуется с учётом гаммы экрана. Линейные значения красного, зелёного и синего получают веса 0.2126, 0.7152 и 0.0722, поскольку человеческое зрение наиболее чувствительно к зелёному свету. Итоговый коэффициент равен яркости светлого цвета плюс 0.05, делённой на яркость тёмного цвета плюс 0.05. Стандартный метод даёт одинаковый результат независимо от порядка ввода. Критерий успешности 1.4.3 WCAG 2.x требует на уровне AA не менее 4.5:1 для обычного текста и 3:1 для крупного. На уровне AAA пороги повышаются до 7:1 и 4.5:1. Крупным обычно считается текст от 18 пунктов обычного начертания или 14 пунктов полужирного, что при типичных настройках браузера примерно равно 24 пикселям CSS и 18.66 пикселя CSS. Для компонентов интерфейса и значимых графических объектов действуют отдельные требования, обычно 3:1 относительно соседних цветов. Соответствие коэффициенту важно, но не гарантирует доступность дизайна. Тонкие и необычные шрифты, градиенты, изображения, состояния наведения, прозрачность, сглаживание и меняющийся фон могут влиять на фактическую читаемость. Текст-подсказку в полях и отключённые элементы тоже следует осознанно проверять, даже если конкретный критерий рассматривает их иначе. Не передавайте состояние только цветом: добавляйте подписи, значки, узоры и другие сигналы. Проверяйте индикаторы фокуса и все интерактивные состояния, а не только исходный снимок экрана. Введите шестизначный или трёхзначный HEX либо стандартную запись RGB с запятыми. Калькулятор проверяет каналы в диапазоне от нуля до 255 и оценивает точно введённые цвета. Если результат немного ниже порога, затемните передний план или осветлите фон и повторите расчёт. Автоматическую проверку следует дополнить тестами клавиатуры, масштабирования и перекомпоновки, проверкой со скринридером и отзывами людей с инвалидностью. Используйте инструмент при проектировании и разработке, чтобы рано выявить базовые ошибки цвета, затем проверяйте готовый интерфейс в реальных условиях.

Примеры цветового контраста

Эти распространённые пары показывают, как небольшие визуальные изменения влияют на достижение порога доступности.

Пара цветовКоэффициент контрастностиРезультат WCAG
#FFFFFF и #00000021.00:1Соответствует AA и AAA для обычного и крупного текста.
#FFFFFF и #7777774.48:1Соответствует AA для крупного текста, но немного не достигает AA для обычного.
#FFFFFF и #005FCC5.98:1Соответствует AA для обычного текста и AAA для крупного, но не AAA для обычного.

Как проверить контраст цветов

  1. Скопируйте из макета цвета переднего плана и фона в виде HEX или RGB.
  2. Введите светлый и тёмный цвета в два поля.
  3. Нажмите «Рассчитать контраст», чтобы получить отношение яркостей WCAG.
  4. Просмотрите все результаты AA и AAA для обычного и крупного текста.
  5. Исправьте неподходящие цвета и повторно проверьте все интерактивные состояния готового интерфейса.

Вопросы о контрастности

Какой контраст нужен обычному тексту?

WCAG 2.x требует для обычного текста не менее 4.5:1 на уровне AA и 7:1 на уровне AAA. Цель следует выбирать по требованиям проекта.

Какой текст считается крупным?

Обычно от 18 пунктов обычного начертания или 14 пунктов полужирного. В типичном CSS это примерно 24 пикселя и 18.66 пикселя соответственно.

Важен ли порядок ввода цветов?

Нет, формула всегда помещает светлую яркость в числитель, а тёмную в знаменатель. При перестановке переднего плана и фона числовой контраст не меняется.

Почему явно разные цвета не проходят проверку?

Разница оттенков не равна разнице яркостей. Два насыщенных цвета могут выглядеть различными, но иметь слишком близкую яркость для доступного текста.

Делает ли успешная проверка страницу доступной?

Нет, контраст — лишь одно требование. Также нужны проверки клавиатуры, семантики, фокуса, текстовых альтернатив, перекомпоновки, движения и работы вспомогательных технологий.