Menu

Проверка контраста WCAG

Проверьте контраст WCAG и исправьте проблемные сочетания в один клик.

Последнее обновление

Пресеты
Передний план
Фон
Коэффициент контраста14.05:1
Обычный текст
AAAAA
Крупный текст
AAAAA
UI-компоненты
AA
Предпросмотр

Крупный заголовок — 24px bold

Текст. Быстрая бурая лиса прыгает через ленивого пса. Прочитайте абзац-другой и проверьте, остаётся ли контраст комфортным при долгом чтении.

Подпись — 12px regular. WCAG защищает только 14pt и выше в этом размере, так что мелкому тексту нужен самый строгий контраст.

Встроенная ссылка →

Что такое проверка контраста WCAG?

*Проверка контраста* — то, чем дизайнеры и разработчики пользуются перед публикацией экрана. Она считает **коэффициент контраста** между двумя цветами — текстом и фоном за ним — по формуле Web Content Accessibility Guidelines (WCAG). Чем больше число, тем легче читается текст.

WCAG задаёт три порога. **3:1** — минимум для крупных заголовков (24px+ regular или 18,66px+ bold) и для видимой границы интерактивных компонентов: кнопок, полей форм, иконок. **4,5:1** — минимум AA для основного текста, ориентир большинства команд. **7:1** — AAA, высшая оценка, серьёзно помогающая людям со сниженным зрением.

Контраст **не равен** «насколько яркие» цвета. Два сочных бренд-цвета могут оставаться нечитабельными, если их *светлота* близка. Инструмент применяет формулу WCAG по каждому каналу, показывает точный коэффициент и оценивает каждый контекст, чтобы вам не приходилось гадать.

Что вы поймёте, проверяя контраст

  • Коэффициенты контраста идут от 1:1 (одинаковые цвета) до 21:1 (чистый чёрный на чистом белом). Бренд-пары обычно лежат между 2:1 и 12:1.
  • WCAG использует *относительную светлоту*, а не воспринимаемую яркость — жёлтый на белом может выглядеть нормально и проваливаться на 1,3:1.
  • У крупного текста смягчённый порог (3:1 для AA), потому что большие глифы читаются при том же контрасте лучше.

Как проверить контраст по шагам

  1. Введите два цвета

    Введите или вставьте HEX или используйте пипетку. Передний план — это ваш текст или иконка; фон — то, что за ним.

  2. Прочитайте коэффициент

    Большое число слева — коэффициент WCAG. Ниже 3:1 — рисково для любой UI; ниже 4,5:1 — провал для основного текста.

  3. Посмотрите оценки AA/AAA

    Три строки показывают pass/fail для обычного текста (4,5/7), крупного текста (3/4,5) и компонентов UI (3:1). Стремитесь к зелёным галочкам в каждой строке, актуальной для вашего дизайна.

  4. Нажмите «Скорректировать передний план», если что-то провалилось

    Когда AA не проходит, инструмент сдвигает светлоту переднего плана — сохраняя оттенок — до прохождения. Ещё раз нажмёте — догоните AAA.

  5. Скопируйте итоговую пару

    Когда оба цвета проходят нужные контексты, скопируйте CSS-сниппет (color: + background:) и вставьте в стиль или в файл дизайн-токенов.

Цели WCAG одним взглядом

Сопоставьте, что вы стилизуете, с нужным уровнем. Источник: WCAG 2.2 Understanding 1.4.3 и 1.4.11.

ЦельAA minAAA minЗаметки
Основной текст (< 18pt regular)4.5 : 17 : 1Базовое правило для абзацев, лейблов, подписей
Крупный текст (≥ 18pt regular или ≥ 14pt bold)3 : 14.5 : 1Заголовки, hero-копия, крупные цитаты
UI-компоненты и графика3 : 1Рамки кнопок, поля форм, иконки, focus-обводки
Логотип или чистый декорИсключеноИсключеноЛоготипы и эпизодический текст не входят в требование — но удобство всё равно важно
Неактивное состояниеИсключеноИсключеноDisabled-контролы исключены, но это не повод выпускать слабые дефолты

Примеры контраста для пробы

Тёмное-на-светлом, всё проходит

Основной текст, комфортный AA + AAA
color: #1f2937;       /* slate-800 */background: #f9fafb;  /* slate-50  *//* Contrast ratio ≈ 14.6:1 */

Классический тёмный slate на почти-белом. Проходит AAA для основного текста (≥ 7:1) с запасом. Большинству продуктовых UI стоит метить именно сюда по умолчанию.

Бренд-синий, *еле-еле* не дотягивает до AA

Смотрится бодро, проигрывает по числам
color: #3b82f6;       /* blue-500 */background: #ffffff;/* Contrast ratio ≈ 4.0:1 */

Сочный синий на белом часто оказывается около 4:1 — читаем для крупных заголовков (проходит 3:1 AA Large), но не дотягивает до 4,5:1 для основного текста. Для кнопок и CTA от 18px подходит, для абзацев — нет.

Жёлтый, который выглядит ок и не ок

Глаз обманет — светлота нет
color: #facc15;       /* amber-400 */background: #ffffff;/* Contrast ratio ≈ 1.6:1 */

Яркий жёлтый на белом — известная ловушка: цвета громкие, но светлота слишком близка. Эту пару берите на тёмные фоны (#facc15 на #1f2937 ≈ 12:1).

Частые ошибки с контрастом

  • Доверять глазам, а не числу. Яркие насыщенные цвета могут казаться «бодрыми» и всё равно проваливать WCAG.
  • Забывать, что тонкие начертания фактически *снижают* контраст — меньше чернил на пиксель. Для hairline-начертаний поднимайте требуемый коэффициент.
  • Проверять только против чистого белого. Реальные фоны — off-white, градиенты, фото — пересчитывайте против настоящего фона под текстом.

FAQ — Контраст WCAG

Какой коэффициент контраста считается хорошим?
Минимум 4,5:1 для основного текста и 3:1 для крупных заголовков или интерактивной UI. 7:1 — цель AAA, строгая, но оправданная в критичных потоках чтения: документации, инструкциях, ошибках.
В чём разница между AA и AAA?
AA — юридическая база доступности, которой требуют большинство норм (WCAG 2.1/2.2 AA). AAA — более строгая цель для организаций, серьёзно поддерживающих людей со сниженным зрением. AAA не обязателен, но для основного текста — разумная планка.
Что в WCAG считается «крупным текстом»?
WCAG определяет крупный текст как 18pt и больше (≈ 24px) обычным начертанием или 14pt и больше (≈ 18,66px) жирным. Крупный текст для AA требует 3:1; более мелкий — 4,5:1.
Почему мой бренд-цвет проваливает контраст?
Яркие средне-светлые оттенки — особенно сине-жёлто-красные около 50% — нередко чуть ниже 4,5:1 на белом. Обычно нужно затемнить передний план (или использовать его как фон под белым текстом). Жмите «Скорректировать передний план», чтобы найти ближайший проходящий оттенок.
Должны ли disabled-контролы проходить WCAG?
Нет — disabled-контролы и чистый декор явно исключены. Но «исключено» не равно «удобно». Если пользователь не отличает disabled-кнопку от фона, он не знает, что она есть.

Узнать больше

Другие инструменты разработчика

Coddy programming languages illustration

Учитесь программировать с Coddy

НАЧАТЬ