К содержимому

Генератор палитры

Темы SUS — это CSS-класс: .theme-dark / .theme-light с подменой переменных --thm-* на шкалу палитры --base-*, и любой проект может добавить свой собственный блок .theme-<name>. Этот инструмент создаёт тему из нескольких входных параметров — названия темы, светлоты поверхности и цвета акцента — и заполняет все имена --thm-*, которые определены в runtime, чтобы результат был полной, готовой к применению темой, а не частичным переопределением.

Самая важная здесь проверка — это показатель контрастности: для основных пар текст/фон инструмент вычисляет фактический коэффициент WCAG и помечает все значения ниже порога AA для текста (4.5:1), вместо того чтобы полагаться на предположения после того, как цвета уже отправлены в production.

Готовый блок
.theme-midnight {
    --thm-bg-page: #1a1a1a;
    --thm-bg-surface: #242424;
    --thm-bg-surface-raised: #2e2e2e;
    --thm-bg-surface-overlay: #383838;
    --thm-bg-surface-variant: #3d3d3d;
    --thm-bg-disabled: #666666;
    --thm-text-primary: #f5f5f5;
    --thm-text-secondary: #dbdbdb;
    --thm-text-disabled: #a8a8a8;
    --thm-text-on-primary: #0a0a0a;
    --thm-border: #4d4d4d;
    --thm-border-hover: #757575;
    --thm-border-focus: #3d9cf0;
    --thm-primary: #3d9cf0;
    --thm-primary-hover: #9cccf7;
    --thm-primary-pressed: #0e69b9;
    --thm-secondary: #4d4d4d;
    --thm-secondary-hover: #5c5c5c;
    --thm-success: #22c55e;
    --thm-success-hover: #45df7e;
    --thm-warning: #f59e0b;
    --thm-warning-hover: #f7b546;
    --thm-error: #ef4444;
    --thm-error-hover: #f47c7c;
    --thm-info: #38bdf8;
    --thm-info-hover: #73d1fa;
    --thm-scrim: rgba(0, 0, 0, 0.3);
    --thm-hover-overlay: rgba(255, 255, 255, 0.05);
    --thm-selected-overlay: rgba(255, 255, 255, 0.1);
    --thm-disabled-overlay: rgba(255, 255, 255, 0.05);
    --thm-rare: #4dabf7;
    --thm-epic: #a78bfa;
    --thm-legendary: #fbbf24;
    --thm-heal: #34d399;
    --thm-shield: #22d3ee;
}

Контраст текст/фон

Отношение WCAG, порог AA для текста 4.5:1. Пары ниже порога помечены.

  • Aatext-primary / bg-page15.96:1
  • Aatext-secondary / bg-page12.57:1
  • Aatext-primary / bg-surface14.24:1
  • Aatext-on-primary / primary6.80:1

Предпросмотр

Заголовок карточки

Текст на этой поверхности использует text-secondary; эта строка — text-primary.

оверлей hover

Далее

Обновлено: