Цвет

Цвет в интерфейсе — это инструмент управления вниманием. Цвет помогает фокусировать пользователя на важном и передавать смысл, заложенный в элементы интерфейса.

В основном сервисы Контура состоят из элементов в оттенках серого. Они формируют структуру интерфейса и задают иерархию.

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

А статусные цвета: красный, зелёный и жёлтый — дают понимание состояния сущностей в интерфейсе.

Продуктовые цвета

Контур — экосистема для бизнеса, в которой много продуктов. Продукты разделены по бизнес-задачам на сегменты, и каждый из них имеет свой цвет.

Цвета продукта помогают пользователю узнавать сервис и отличать его от других в рамках экосистемы.

Красный

Общая инфраструктура бизнеса и онлайн-образование

Оранжевый

Отчётность и бухгалтерия

Зелёный

Бизнес-безопасность, проверка контрагентов и работа с рисками

Мятный

Электронный документооборот

Голубой

Торговля, ритейл и коммуникации

Синий

Банковские услуги, торги и закупки

Фиолетовый

Информационная безопасность

Пурпурный

Сделки с недвижимостью

Построение интерфейса и поверхности

Поверхности — это крупные интерфейсные области, на которых располагается контент. Они неинтерактивны и являются фонами.

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

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

На базовом уровне располагается основной контент. Его цвет подобран таким образом, чтобы текст на ней был наиболее комфортным для чтения.

Объёмная схема двух уровней поверхностей: нижний — серый фон приложения с меню, над ним базовый — белые карточки с основным контентом

Приподнятые поверхности: раскрывающиеся списки, тултипы, модальные окна и сайдпейджи — располагаются выше основного контента.

Они должны быть различимы на любом фоне. В светлой теме это достигается с помощью тени, а в тёмной ещё и более светлого цвета.

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

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

Тёмная тема

Тёмная тема — это цветовая схема, в которой фоны в сервисе становятся тёмными, а тексты и другие элементы интерфейса светлыми. Она имеет свои особенности устройства и построения интерфейса.

Подробнее — в гайде «Тёмная тема».

Функция цвета

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

Семантика цвета — это смысл и роль цвета в интерфейсе, без привязки к его конкретному значению.

Нейтральные элементы

Элементы в оттенках серого — нейтральные. В них не заложен дополнительный смысл. Они используются для выстраивания иерархии элементов.

Нейтральные элементы в оттенках серого: поле «ИНН» с подсказкой «Введите 10 или 12 символов», плашка «Формируем отчёт» со спиннером и 84%, пустое состояние «Документов пока нет»

Предупреждения

Жёлтые элементы предупреждают о возможной ошибке или о предстоящей оплате.

Предупреждения: поле «312 494,94 ₽» в жёлтой рамке с оранжевым текстом «Возможно, сумма содержит ошибки», жёлтая плашка «Черновик сохранён с ошибками», жёлтая кнопка «Купить тариф Премиум» в подсказке

Ошибки и негативные элементы

Красные элементы сообщают об ошибках, негативном, деструктивном или опасном характере действия.

Ошибки: поле в красной рамке с красным текстом «Укажите название», розовая плашка с красным крестиком «Не удалось отправить документ. Попробуйте снова», крупный красный крестик над заголовком «Не удалось загрузить»

Успешные элементы

Зелёные элементы сообщают об успешных и позитивных состояниях.

Успешные элементы: поле пароля с зелёной полосой и текстом «Надёжный пароль», зелёная плашка с галочкой «12 документов отправлено», большая зелёная галочка над заголовком «Все требования выполнены»

Акцентные элементы

Элементы, которые выделяются относительно других. Они выполняют роль интерфейсного акцента. Например, основные контролы на странице. Может быть одним из двух вариантов: в цвет продукта или в оттенках серого.

В цвет продукта

Акцент в голубом цвете продукта: счётчик и подчёркивание вкладки «Настройки», рамка поля, выбранный токен, тогл, кнопка «Отправить», чекбокс и светло-голубая плашка «Акцентный» среди серой, розовой и зелёной

В оттенках серого

Те же элементы с акцентом в оттенках серого: чёрные подчёркивание вкладки, рамка поля, токен, тогл, кнопка «Отправить» и чекбокс, плашка «Акцентный» чуть темнее нейтральной, а счётчик у вкладки красный

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

Те же элементы с акцентом в красном цвете продукта: красные счётчик, подчёркивание вкладки, рамка поля, токен, тогл, кнопка «Отправить» и чекбокс, плашка «Акцентный» такая же розовая, как «Негативный»

Неправильно

Фирменные элементы

Элементы, которые формируют стиль, всегда покрашены в цвета продукта вне зависимости от «опасности» цвета. Например: логотип, продуктовые баннеры, иконки, иллюстрации или бейджики.

Фирменные элементы мятного, оранжевого и фиолетового продуктов: логотип «Контур Продукт», счётчик «62» у пункта «Уведомления», баннер с иллюстрацией и иконками в цветах продукта

Категоризирующие цвета

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

В этом случае цвет помогает отличать однородные элементы между собой.

Категоризирующие цвета: столбчатая диаграмма, иконки типов файлов, образцы цвета с одним отмеченным, аватарки с инициалами и теги «Банкет», «Бар», «Веранда», «Караоке», «Дорогие гости» — все разных цветов

Визуальная масса

Вниманием пользователя можно управлять с помощью визуальной массы элементов. Часто она определяется площадью элемента, но также может определяться и контрастностью его цвета относительно цветов окружающих элементов.

Более массивные элементы привлекают больше внимания, а более лёгкие становятся второстепенными.

Схема страницы: вверху широкий мятный баннер с белой кнопкой, у одного пункта меню мятная точка, остальное в оттенках серого

Баннер на странице и счётчик уведомлений в меню имеют бóльшую визуальную массу относительно элементов вокруг.

Выстраивайте иерархию элементов на странице с помощью визуальной массы разумно. Элементы не должны спорить друг с другом.

Неправильно: на схеме страницы много массивных цветных элементов — два тёмно-синих блока, голубая колонка справа и две синие кнопки в шапке

Связь фона и объекта

На контрастность объектов влияет то, на каком фоне они находятся. Элементы должны быть заметны и различимы, но критически важно следить за уровнем контрастности для текстов и иконок, которые должны оставаться читаемыми.

Стандарт APCA выдаёт более правильные значения по сравнению с общепринятым WCAG 2, так как вычисляет контрастность на основе восприятия человеком, а не только простой математикой.

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

Сравнение APCA и WCAG 2 в WebKit

Контрастность объекта к фону мы определяем по алгоритму APCA.

Типичный фон

Большая часть интерфейса — это элементы на фоне, свойственном выбранной теме.

Контрастный фон

Элементы на мощном контрастном фоне инвертируются, чтобы оставаться читаемыми.

Стабильный фон

Некоторые элементы при изменении темы не меняют свой цвет, поэтому и контент на них не должен меняться.

Например, текст на дополнительном продуктовом фоне.

Или элементы интерфейса поверх статичной фотографии, одинаковой в обеих темах. На ней тоже элементы не меняют свой цвет при переключении темы.

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

Акцентный фон

Контент на продуктовом фоне должен быть достаточно контрастным и читаемым. Чтобы добиться этого, нужно посмотреть на уровень контрастности текста к фону по стандарту APCA и выбрать более контрастный: белый или чёрный.

Lc (Lightness contrast) — это единица измерения контрастности в APCA между фоном и объектом относительно светлоты значения цвета.

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

Кнопки «Сохранить» с оценкой контрастности текста. Правильно: белый текст на фиолетовом, Lc 75. Неправильно: чёрный на фиолетовом, Lc 30. Неправильно: белый на жёлтом, Lc 34. Правильно: чёрный на жёлтом, Lc 71.

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

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

Кнопки «Сохранить» с оценкой контрастности текста. Правильно: белый текст на оранжевом, Lc 54. Неправильно: чёрный на оранжевом, Lc 51. Правильно: белый на мятном, Lc 48. Неправильно: чёрный на мятном, Lc 57.

Интерактивность

Интерфейсы интерактивны. Элемент реагирует на действие пользователя, если с ним возможно взаимодействие.

Часто интерактивность показывают через изменение цвета элемента.

Основные состояния интерактивности — это покой, наведение, нажатие и фокус.

В светлой и тёмной теме изменение цвета при интерактивности устроено по-разному. По наведению в светлой теме элемент становится темнее, а в тёмной теме — светлее. Это нужно, чтобы элемент становился более заметным.

Нажатие в обеих темах приглушает элемент, «вдавливая» его в поверхность.

Заблокированные элементы

Элемент может быть заблокирован, то есть его интерактивность отключена.

Заблокированный элемент должен быть более бледный, чтобы была заметна невозможность взаимодействия с ним и без наведения.

Заголовок «Отчёты», справа обычная кнопка «Фильтры» и бледная заблокированная кнопка «Создать отчёт» с замком, курсор над ней — стрелка

Негативные элементы

В состоянии покоя негативные действия — нейтральные, а по наведению выделяются, как негативные.

Кнопка «Удалить» с корзиной: в покое чёрный текст без фона, при наведении курсора красная заливка и белый текст

Как исключение, в раскрывающихся списках негативное действие можно выделять и в состоянии покоя.

Выпадающее меню: пункт «Удалить» красный уже в покое, пока курсор на «Напечатать», а при наведении на него — белый текст на красной заливке

Тексты

Для текстов используются цвета с полупрозрачностью, так как она сохраняет контрастность и читаемость на разных фонах.

На цветном фоне из-за полупрозрачности текст немного тонируется в цвет фона, что сохраняет читаемость и чистоту цвета.

На голубом фоне строки с иконкой лапы: «Основной текст» чёрный, «Второстепенный текст» и «Заблокированный текст» непрозрачного серого цвета

Неправильно

Сплошные выглядят грязно и нечитаемо

Те же строки на голубом фоне: второстепенный и заблокированный текст с иконками полупрозрачные и отливают синим

Правильно

Читаемость сохраняется, а цвета чистые

Иконки

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

Например, крестик в модальном окне — это читаемый символ. У него важно сохранять уровень контрастности, как у текста.

Фрагмент модального окна «Не удалось загрузить файл, попробуйте снова» с поясняющим текстом и светло-серым крестиком закрытия справа вверху

В контролах иконки и текст покрашены одинаково, чтобы сохранять визуальную консистентность.

Поле даты «12.01.2026» с иконкой календаря, чёрная кнопка «Скачать» с плюсом и кнопка «Подробнее» со знаком вопроса — иконки того же цвета, что и текст

Иконки в статусах должны быть заметным пятном. Делайте их более яркими, а текст не красьте.

Статусы «Ошибок нет», «2 ошибки», «1 предупреждение», «Новое сообщение»: текст и контурные иконки покрашены в зелёный, красный, оранжевый и синий

Неправильно

Те же статусы: текст чёрный, а иконки яркие и залитые — зелёная галочка, красный крестик, жёлтый треугольник, синяя «i»

Правильно

Иконка в мини-модалке выполняет роль цветового маркера, поэтому должна быть яркой, заметной и передавать семантику действия.

Мини-модалка с крупной красной иконкой корзины над заголовком «Удалить доверенность?»

Библиотека Kontur Colors

Библиотека цветов для покраски интерфейсов состоит из двух частей: первичных палитр и семантических токенов. Первичные палитры цветов генерируются алгоритмом автоматически с помощью цветового пространства OKLCH.

OKLCH — это цветовое пространство, разработанное с точки зрения восприятия цвета человеческим глазом, что делает работу с ним удобной.

Злые Марсиане разработали красивый пикер пространства OKLCH: oklch.com

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

Документация для разработчиков

Библиотека для дизайнеров