Контраст текста по WCAG простыми словами

Бледный текст красиво смотрится в макете и плохо читается на телефоне под солнцем. Стандарт WCAG даёт простые числа, по которым можно проверить любую пару цветов.

Шкала контраста от 1:1 до 21:1 с порогами 3, 4,5 и 7
Шкала контраста от 1:1 до 21:1 с порогами 3, 4,5 и 7

Что такое коэффициент контраста

Контраст считается по относительной яркости двух цветов и записывается как отношение: от 1:1 (цвета одинаковые) до 21:1 (чёрный на белом). Чем больше первое число, тем легче читать.

Пороги WCAG

  • Уровень AA, который требуют чаще всего: обычный текст не меньше 4,5:1, крупный не меньше 3:1.
  • Уровень AAA, строже: обычный текст 7:1, крупный 4,5:1.
  • Крупным считается текст от 24 пикселей, или от 18,66 пикселя жирным (это 18 и 14 пунктов).
  • Значки, рамки полей ввода и другие элементы интерфейса: не меньше 3:1 с соседним цветом.
Какой контраст нужен обычному и крупному тексту для уровней AA и AAA
Какой контраст нужен обычному и крупному тексту для уровней AA и AAA

Где чаще всего ошибаются

  • Серый текст на белом: #999999 на белом даёт около 2,8:1 и не проходит даже для крупного текста. #767676 уже проходит AA.
  • Белый текст на жёлтой, оранжевой или светло-зелёной кнопке.
  • Подписи поверх фотографии без затемнения.
  • Плейсхолдеры в полях ввода: их тоже читают.

Как исправить пару, которая не проходит

Не меняйте оттенок, меняйте светлоту: сделайте текст темнее или фон светлее. Если бренд требует яркую кнопку, сделайте текст на ней тёмным вместо белого. Для текста на фото добавьте полупрозрачную тёмную подложку.

Проверить свои цвета

Введите два цвета в проверку контраста: она посчитает коэффициент и покажет, проходит ли пара AA и AAA для обычного и крупного текста. Готовые палитры в разделе «Палитры» показывают пары текста и фона, которые читаются.

Частые вопросы

Какой контраст нужен по WCAG?

Для уровня AA обычный текст не меньше 4,5:1, крупный не меньше 3:1. Для AAA 7:1 и 4,5:1.

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

Текст от 24 пикселей или жирный от 18,66 пикселя (18 и 14 пунктов).

Какой самый светлый серый текст можно ставить на белый фон?

Для обычного текста по уровню AA подходит #767676 и темнее: его контраст с белым 4,54:1.

Ещё статьи

Цветовой круг и сочетания цветов

Цветовой круг помогает подобрать цвета, которые смотрятся вместе, без долгих проб. Четыре схемы покрывают почти все задачи.

Цвета HEX, RGB и HSL: в чём разница

Один и тот же цвет можно записать тремя способами. Объясняем, что значат цифры, как переводить вручную и какой формат удобнее для какой задачи.

Психология цвета: какой цвет выбрать для бизнеса

Цвет первым сообщает посетителю, что за место перед ним: банк, пекарня или детский клуб. Но значения цветов не законы, а привычки, и ими можно пользоваться с умом.

Как сделать тёмную тему для сайта

Тёмную тему просят всё чаще: вечером она меньше слепит. Но если просто поменять белый на чёрный, получится резко и некрасиво. Вот как сделать аккуратно.

Как сделать логотип самому

Небольшому бизнесу не нужен сложный знак за большие деньги. Хороший логотип прост, читается в маленьком размере и работает в одном цвете. Это можно сделать самому.

Как сочетать шрифты: пары для заголовков и текста

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