Web Design & UI/UX7 min read

Цвет сообщения об успехе: почему #00FF00 не работает и 8 зелёных, которые стоит взять вместо него

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

By Boone
XLinkedIn
Success Message Color: Why #00FF00 Fails and the 8 Greens to Use Instead

Правильный цвет успеха для текста: более тёмный зелёный, а не #00FF00. Чистый зелёный выглядит свежо, но на белом читается плохо, а на тёмном экране слепит. Вот четыре правки, восемь цветов успеха для светлой и тёмной темы и код, который можно отдать разработчику.

Почему чистый зелёный не работает

Никто не выбирает #00FF00 для текста успеха. Он просто появляется. Это зелёный из верхнего ряда любого пикера цвета, lime из старого CSS, первый зелёный в новом файле дизайна. И вот он оказывается на строке, которая сообщает человеку, что его платёж прошёл.

Чистый зелёный яркий и насыщенный, поэтому выглядит как «вперёд». Но яркость и есть проблема. Это один из самых светлых цветов, которые способен выдать экран, а светлому тексту на светлой странице не за что зацепиться. Белый текст на #00FF00 и текст #00FF00 на белом одинаково с большим запасом проваливают минимум WCAG для мелкого текста.

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

Зелёные ниже взяты из дизайн-системы IBM Carbon: она публикует полную шкалу зелёного и использует конкретные ступени для конкретных задач.

Правка 1: затемните зелёный для текста

Новый пароль

••••••••••••

✓ Пароль надёжный.

✕ #00FF00 на белом: плохо читается

Новый пароль

••••••••••••

✓ Пароль надёжный.

✓ #198038 на белом: легко читается

То же поле, то же сообщение, два зелёных. Правильный из них это green 60 из Carbon. Он всё ещё явно зелёный, и именно его читает глаз, хотя левый «зеленее».

Используйте тёмный зелёный для любого текста успеха: строка под полем, подпись, которая становится зелёной, встроенный тег «Подтверждено», сама иконка галочки. Совсем уберите #00FF00 из текста. Если фирменный зелёный близок к чистому, оставьте его для иллюстраций и крупных заголовков, где работу, которую в мелком тексте делает тёмный цвет, выполняет размер.

Правка 2: подкрасьте баннер и используйте тёмный текст

✓ Платёж получен. Мы отправили чек на mia@brainy.ink.

✕ Белый на #00FF00: кричит и всё равно плохо читается

✓ Платёж получен. Мы отправили чек на mia@brainy.ink.

✓ #044317 на #A7F0BA: легко читается

Сплошная неоновая полоса с белым текстом это самое громкое, что есть на странице, и при этом она плохо читается: у белого на #00FF00 тот же слабый контраст, что и у #00FF00 на белом. Цвета поменялись местами. Проблема осталась.

Мягкий зелёный контейнер с тёмно-зелёным текстом говорит «успех» своим цветом и позволяет прочитать слова. Успех это хорошая новость, ей не нужно орать. Система Polaris от Shopify приходит к тому же: её поверхность успеха #CDFED4 несёт тёмно-зелёный текст #014B40.

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

Правка 3: смягчите зелёный на тёмных экранах

Статус сайта

brainy-site работает

✓ Деплой готов.

✕ #00FF00 на тёмном: слепит

Статус сайта

brainy-site работает

✓ Деплой готов.

✓ #42BE65 на тёмном: спокойно и чётко

Тёмная тема переворачивает совет. Чистый зелёный на почти чёрном проходит минимум контраста с огромным запасом, поэтому проверка его не отметит. Но выбор всё равно неверный. Полностью насыщенный зелёный на тёмно-сером светится и утомляет глаз, а список из десяти таких на него просто больно смотреть.

Тёмная тема Carbon использует более мягкий и светлый зелёный, green 40, #42BE65. На #161616 он легко читается без слепящего эффекта. Это общее правило для тёмных тем: насыщенные цвета, которые работают на белом, на тёмном становятся светлее и мягче. Остальную палитру разбирает наша статья о цветовых системах тёмного режима, а парное правило для ошибок есть в материале цвет сообщения об ошибке.

Правка 4: никогда не полагайтесь только на цвет

Платёж 1

$24.00, Mia Chen

✕ Только точка: какой из них прошёл?

Платёж 1

$24.00, Mia Chen

✓ Выполнено

✓ Галочка и слово: всё очевидно

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

Возьмите зелёную точку для «Выполнено» и красную для «Ошибка». Переведите их в градации серого с обычными весами яркости (0,299 красного, 0,587 зелёного, 0,114 синего), и они получатся почти одинаковыми:

#FFFFFF

Зелёная точка #198038 в сером

#FFFFFF

Красная точка #DA1E28 в сером

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

  • Цвет: более тёмный зелёный на светлом, более мягкий на тёмном.
  • Форма: галочка перед сообщением, видимая без цвета.
  • Слова: что произошло. «Платёж получен» лучше зелёной точки.

Это WCAG 1.4.1, использование цвета: цвет может поддерживать сообщение, но не быть единственным способом его передать. Один раз переключите экран в градации серого, прежде чем выпускать список статусов (на Mac: Системные настройки, Универсальный доступ, Дисплей, Цветовые фильтры; такой же фильтр есть в настройках экрана универсального доступа на iOS и Android).

8 цветов успеха, светлых и тёмных

Нажмите на любую плашку, чтобы скопировать код.

Светлая тема. Нажмите на цвет, чтобы скопировать код.
Тёмная тема. Нажмите на цвет, чтобы скопировать код.
РольСветлаяТёмнаяДля чего
Успех#198038#42BE65Текст успеха, иконки галочек, рамки успеха
На успехе#FFFFFF#161616Текст на сплошной заливке успеха, например на кнопке «Подтвердить»
Контейнер успеха#A7F0BA#044317Баннеры, тосты и встроенные блоки уведомлений
На контейнере успеха#044317#A7F0BAТекст и иконки внутри этих контейнеров

Тёмная тема это не новая палитра. Это те же четыре ступени шкалы зелёного с поменявшимися ролями: цвет контейнера становится цветом текста и наоборот.

Отдайте это разработчику

Те же восемь цветов в виде CSS custom properties, где тёмные значения включаются по системной теме:

css
:root { --color-success: #198038; --color-on-success: #FFFFFF; --color-success-container: #A7F0BA; --color-on-success-container: #044317; } @media (prefers-color-scheme: dark) { :root { --color-success: #42BE65; --color-on-success: #161616; --color-success-container: #044317; --color-on-success-container: #A7F0BA; } } .field--valid { border-color: var(--color-success); } .field__hint--valid { color: var(--color-success); } .alert--success { background: var(--color-success-container); color: var(--color-on-success-container); } .alert--success::before { content: "✓ "; }

В Carbon на шкале зелёного это green 60, green 40, green 20 и green 80. Какую бы систему вы ни использовали, четыре названия ролей стоит украсть: они не дадут следующему человеку потянуться за #00FF00.

Одна родственная ловушка: iOS systemGreen, #34C759, слишком светлый для текста на белом. Apple использует его для переключателей и заливок, где смысл несёт форма. Не копируйте его в основной текст.

FAQ

Какого цвета должны быть сообщения об успехе?

Тёмно-зелёного, который легко читается в мелком размере, например #198038 на белом фоне. Добавьте галочку и слово, которое говорит, что произошло.

Подходит ли #00FF00 для текста успеха с точки зрения доступности?

Нет. Чистый зелёный на белом с большим запасом не проходит минимум контраста WCAG для основного текста. Используйте более тёмный зелёный, например #198038.

Какой зелёный хорош для баннера успеха?

Подкрасьте заливку бледно-зелёным вроде #A7F0BA и поставьте на неё тёмно-зелёный текст #044317. Эта пара легко читается и не кричит.

Каким должен быть цвет успеха в тёмном режиме?

Более мягким и светлым зелёным, например #42BE65 на #161616. Чистый зелёный проходит проверку контраста на тёмном фоне, но слепит и утомляет глаз.

Можно ли показывать успех только цветом?

Нет. Зелёная и красная точки в градациях серого выглядят одинаково, а WCAG 1.4.1 требует, чтобы цвет никогда не был единственным сигналом. Добавьте галочку и слово вроде «Выполнено» или «Ошибка».

Источники

  • Дизайн-система IBM Carbon, обзор цвета: green 60 #198038, green 40 #42BE65, green 20 #A7F0BA, green 80 #044317 и gray 100 #161616.
  • WCAG 2.2, 1.4.3 Contrast (Minimum) и 1.4.1 Use of Color.
  • Контраст проверен по формуле относительной яркости WCAG (белый на #00FF00 и #00FF00 на белом 1,37:1; #198038 на белом 5,02:1; #044317 на #A7F0BA 8,69:1; #42BE65 на #161616 7,57:1; #00FF00 на #161616 13,19:1). Значения серого используют веса яркости 0,299, 0,587, 0,114.
  • Поверхность успеха Shopify Polaris #CDFED4 с текстом #014B40, из @shopify/polaris-tokens 9.4.2.
  • iOS systemGreen #34C759 в сравнении с белым (2,22:1); см. Human Interface Guidelines по цвету от Apple.
  • Форма пароля, чек на mia@brainy.ink, деплой brainy-site и список платежей это вымышленные примеры, созданные для этой страницы.
  • Впервые опубликовано как карусель в UX Brainy.

Want success, error and every other state designed as one system? Our team designs and builds product UI that holds up in light and dark.

Get Started

More from Brainy Papers

Keep reading