Реализация контрастности и размеров шрифтов по WCAG

Руководители приходят с жалобами: часть клиентов не читает интерфейс, растёт нагрузка на поддержку. Мы приводим контрастность и размеры шрифтов к нормам WCAG под ключ: от аудита до готовых правил и стилей, которые ваша команда применяет без нас. Итог — интерфейс читается на любом экране, а повторные обращения по нечитаемым подписям уходят.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Реализация контрастности и размеров шрифтов по WCAG
Простой
от 1 дня до 3 дней
Часто задаваемые вопросы

Контрастность WCAG: где интерфейс перестаёт читаться

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

Формально контрастность WCAG измеряется отношением яркости текста и фона: для обычного текста нужно 4,5:1, для крупного — 3:1, для границ полей и иконок в элементах управления — тоже 3:1. Сложность в том, что проверка контраста текста по статичному макету врёт: если под надписью лежит изображение, градиент или полупрозрачный слой, фон под конкретными символами оказывается светлее, чем в среднем по блоку.

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

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

Читаемость, масштабирование текста и охват аудитории

Контраст основного текста ниже порога 4.5:1 — это не вопрос вкуса. При таком соотношении подписи полей, подсказки и сообщения об ошибке сливаются с фоном для людей с ослабленным зрением и для тех, кто читает с телефона в ярком помещении. Приведение пар «текст — фон» к 4.5:1, а крупного текста и элементов управления к 3:1 убирает целый класс отказов, при котором человек физически не может завершить сценарий.

Масштабирование шрифта — вторая половина задачи. Макет на относительных единицах выдерживает системное увеличение до 200% без горизонтальной прокрутки, обрезанных подписей и наезжающих друг на друга блоков. Абсолютные значения в пикселях такую проверку не проходят, и пользователь, которому нужен крупный текст, уходит, хотя пришёл по делу.

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

Обращения в поддержку вида «не вижу кнопку», «текст сливается» уходят как класс — причина была не в логике, а в читаемости. Освободившееся время команда тратит на развитие сценариев, а не на подсказки, где находится кнопка оплаты.

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

Способы привести контрастность и типографику в норму

Аудит начинается с инвентаризации пар «текст — фон» и размеров шрифта по экранам. Порог для основного текста — 4.5:1, для крупного кегля и графических элементов — 3:1, плюс требование сохранять читаемость при масштабировании интерфейса до 200%. По WCAG нарушения почти всегда группируются в несколько шаблонов — от этого зависит, какой способ исправления сработает.

Подходы не заменяют друг друга: настройку стилей, переработку компонентов и ручную доводку применяют в разном порядке.

Подход Когда подходит Ограничения
Правка общих стилей: палитра в переменных, шкала размеров и межстрочных интервалов нарушения типовые — серый текст на светлых подложках, мелкий кегль в подписях не закрывает текст поверх изображений, градиентов и полупрозрачных слоёв
Переработка библиотеки компонентов: кнопки, поля, таблицы, уведомления один элемент повторяется на десятках экранов меняет вёрстку — нужна регрессия по всем местам использования компонента
Ручная доводка проблемных экранов уникальные блоки: баннеры, карточки с фонами, калькуляторы плохо масштабируется, проверку повторяют после каждой правки контента

На практике начинают с настройки стилей: палитра и шкала в переменных закрывают большинство типовых нарушений сразу на всех экранах. Затем перерабатывают компоненты, чтобы исправление не откатывалось при следующей сборке. Ручная доводка остаётся для уникальных блоков. Ограничение подхода: проверки ловят контраст, но не читаемость — длину строки, межбуквенные расстояния и переполнение при переводе на другой язык, поэтому типографику интерфейса всё равно проходит инженер. Пороги фиксируем в правилах проверки, чтобы регрессии не возвращались.

Как проходит внедрение: от аудита до передачи

Внедрение доступности — не разовая правка палитры, а последовательность шагов с проверяемым результатом на каждом. Цель — не только поднять контрастность WCAG до требуемого уровня, но и закрепить правила, чтобы новые экраны не повторяли те же нарушения.

  1. Инвентаризация интерфейса. Собираем перечень шаблонов, компонентов и их состояний — наведение, фокус, отключённый элемент, ошибка. Для каждого фиксируем текстовые стили и фоны: без этого списка замеры теряют полноту.
  2. Аудит и замер. Считаем фактический коэффициент контраста для всех пар «текст — фон» отдельно для мелкого и крупного текста, элементов управления и графики. Отмечаем всё ниже требуемых 4.5:1 и 3:1.
  3. Разбор спорных мест. Текст поверх изображений, градиенты, полупрозрачные слои и состояния фокуса автоматика считает некорректно — их проверяем вручную, на реальном контенте.
  4. План правок. По каждой группе решаем: менять оттенок в палитре, добавить подложку или обводку, ограничить фон под текстом. Правки вносим в токены дизайн-системы, а не в отдельные компоненты, — одно изменение расходится по всем экранам.
  5. Настройка и проверка. Правим палитру, типографику и токены, задаём минимальные размеры шрифтов и межстрочный интервал, убираем фиксированные высоты блоков. Затем повторяем замеры и прогоняем регрессию по всем шаблонам, тёмной теме и режиму высокой контрастности системы.
  6. Передача документации. Отдаём правила контраста и типографики, чек-лист для новых компонентов и описание проверок в автотестах, чтобы при следующем релизе доступность не откатилась.

Что заказчик получает на руки: правила, стили, регламент

Правка текущих экранов — только половина результата работ по доступности. Вторая половина — материалы, по которым команда заказчика сама проверяет новые страницы и не теряет контрастность через два релиза. Передаём их вместе с кодом, а не отдельным документом «для отчётности».

  • Переменные темы. Цвета и размеры шрифтов вынесены в набор переменных: фон, основной и второстепенный текст, границы, состояния наведения и фокуса. Смена брендового оттенка в одном месте больше не ломает соседние экраны.
  • Правила контраста. Таблица допустимых сочетаний с порогами для основного текста, крупных заголовков, элементов управления и пиктограмм. Отдельно помечено, где контраст можно понизить, а где нет.
  • Приведённые стили. Кнопки, поля ввода, ссылки, подсказки и сообщения об ошибках переведены на переменные темы и проверены во всех состояниях — включая фокус, наведение и неактивный вид.
  • Регламент проверки. Пошаговый порядок: какие экраны смотреть, чем измерять, что считать блокирующим нарушением, а что — допустимым исключением и как его оформить.
  • Инструкция для дизайнеров. Как выбирать пару «фон — текст» и размеры шрифтов ещё в макете, чтобы вёрстку не переделывать. С примерами допустимых и запрещённых сочетаний.
  • Памятка для редакторов. Ограничения по длине строки и размеру шрифта плюс запрет на цвет как единственный носитель смысла: ссылка внутри абзаца должна отличаться не только оттенком.
  • Масштабирование шрифтов. Поведение вёрстки при увеличении текста: что переносится, что обрезается, где нужна другая раскладка и как это проверить перед выпуском.

Разбор проекта: как убрали провалы по доступности

Клиент — сервис подачи заявок с личным кабинетом: около 240 экранов, часть на унаследованных шаблонах. Прогон на контрастность по Руководству по доступности веб-контента (WCAG) показал, что 68 экранов не проходят проверку, а 31 набран кеглем ниже базового. Сканер выдал 210 критичных замечаний — и это только по ключевым сценариям, которые попали в выборку.

Что изменили в реализации

Контраст вынесли в токены темы: вместо цветовых кодов внутри компонентов — пары «текст/фон», проверенные на отношение 4.5:1 для основного текста и 3:1 для крупного, с отдельными значениями для наведения и неактивного состояния. Шкалу типографики свели к шести размерам с шагом от базового и запретили локальные переопределения кегля в разметке — иначе следующий разработчик снова ломает то, что уже починили.

Что показали замеры

Доля экранов, проходящих автоматическую проверку, выросла с 72% до 100%: критичных замечаний ноль, остались единичные предупреждения на переводах. Доля завершённых форм поднялась с 61% до 84% — люди перестали бросать заполнение на шаге, где подписи полей были серыми на сером. Обращения в поддержку с формулировкой «не вижу текст» сократились втрое за тот же период.

Чем отличаются уровни AA и AAA в WCAG и какой выбирать?

Уровни WCAG — это не «качество подороже», а формальные пороги: A — базовый минимум, AA — отраслевой стандарт, на который ссылаются в требованиях и тендерах, AAA — расширенный. Разница между ними измерима и в первую очередь касается требований к контрастности текста и элементов интерфейса.

Уровень Требования к контрасту Кому нужен Объём правок
A крупный текст и элементы управления 3:1 минимальное соответствие обычно уже выполнен
AA обычный текст 4.5:1, крупный 3:1, контраст границ и состояний большинство сайтов и сервисов токены палитры и состояния компонентов
AAA обычный текст 7:1, крупный 4.5:1 госсервисы, банки, медицина, обучение переработка дизайн-системы

Уровень A закрывается почти автоматически. AA требует пересобрать состояния интерфейса: плейсхолдеры, отключённые кнопки, ссылки внутри текста, границы полей ввода — их чаще всего задают серыми «на глаз», и на проверке они порог не проходят.

AAA поднимает планку до 7:1: фирменный акцент почти никогда не проходит как цвет текста, его оставляют для фонов и крупных заголовков. На весь сайт такой уровень берут редко, потому что он сужает палитру до нескольких проверенных пар; выборочно — для длинных текстов, форм и разделов, где аудитория читает подолгу.

Какой уровень выбрать: базово — AA, он покрывает юридические требования и не ломает визуальный стиль. AAA включают точечно — там, где есть регулятор или аудитория с нарушениями зрения. Проверка контраста автоматизируется лучше остальных критериев, но состояния наведения и фокуса приходится сверять вручную — именно там остаются пропуски.

Технические сомнения по доступности и размерам шрифта

Вопросы по доступности почти всегда упираются в одно и то же: как выполнить требования контрастности WCAG, не расходясь с брендом, и не переписывать заново то, что уже работает. Ниже — ответы на то, что чаще всего всплывает на этапе проверки интерфейса.

Фирменные цвета не проходят по контрасту — менять палитру?

Заменять не нужно. Мы расширяем палитру производными тонами: для текста берём затемнённый вариант бренд-цвета, для подложек — осветлённый, а сам исходный цвет оставляем в логотипе, крупных заливках и декоре, где требования к контрасту мягче. Полученные оттенки фиксируем как именованные значения палитры, чтобы дизайнер не подбирал их заново в каждом макете.

У нас уже внедрён набор компонентов — всё переделывать?

Нет. Правки идут в базовые уровни: типографику, кнопки, поля ввода, ссылки, состояния наведения и фокуса. Остальные компоненты наследуют эти значения, поэтому изменение доходит до них без ручной правки. Фактически меняются несколько десятков строк в общих стилях, а не весь интерфейс.

Шрифт бренда тонкий и на мелких размерах «рассыпается». Что делать?

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

Как вы проверяете результат?

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

Обсудим задачу и вернёмся с оценкой и планом

Чтобы оценка работ была точной, а не приблизительной, на старте нужен минимальный набор исходных данных. Чем полнее состав, тем меньше допущений в плане внедрения и тем реже объём правок меняется в середине проекта.

  • Перечень страниц и разделов, где контраст текста и размеры шрифтов вызывают вопросы, — включая кнопки, поля ввода и сообщения об ошибках.
  • Действующие значения цветов и типографики: макет, тема оформления или таблица стилей с переменными.
  • Целевой уровень соответствия и требования вашей стороны или внешней проверки, если они уже сформулированы.
  • Отчёты и скриншоты прошлых замеров — по ним видно, какие замечания уже закрывались.
  • Доступ к репозиторию или тестовому стенду: проверяем контраст и масштабирование текста на живых страницах, а не на копии макета.
  • Список поддерживаемых браузеров и устройств, включая мобильные, и настройки масштабирования, которые нужно учесть.
  • Ограничения по дизайну: фирменные цвета и начертания, которые нельзя менять, — под них подбираем ближайшие допустимые оттенки.

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

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060