foundation

Контраст цветов

Выбирайте цвета текста, иконок, состояний и focus с достаточным контрастом и без цвета как единственного сигнала.

Контраст цветов обеспечивает читаемость текста, иконок и focus indicator на фоне. WCAG 2.x обычно требует **4.5:1** для обычного текста и **3:1** для крупного текста и UI-компонентов. Не используйте цвет как единственный сигнал состояния — добавляйте текст, иконки или паттерны.

					:focus-visible {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}
.error { color: #b00020; border-left: 4px solid #b00020; }
				

| Проверка | Инструменты | |----------|-------------| | Текст на фоне | Contrast checker, плагины Figma | | Disabled vs active | Не только более светлый цвет — меняйте label | | Focus ring | 3:1 к соседним цветам | | Графики | Паттерны или подписи, не только цвет |

Dark mode и overlay меняют контраст — проверяйте обе темы и hover/focus.

На интервью: AA vs AAA; порог large text; контраст placeholder и disabled; дизайн для color-blind.

Типовые ошибки: серый placeholder вместо label; только красный/зелёный success/error; тонкий focus на шумном фоне; brand palette на mobile на солнце.

Компромисс — эстетика бренда против читаемости при слабом зрении и ярком свете.

Чеклист:

  • Измеряйте контраст на реальных фонах.
  • Не-color сигналы для ошибок и выбора.
  • `:focus-visible` отличим от hover.
  • Повторная проверка при смене light/dark.