Aller au contenu

Couleur

On utilise la couleur par rôle, jamais par valeur. Un rôle est un token avec une valeur papier et une valeur nuit ; changer de mode change tous les rôles d’un coup. Utilisez la variable CSS (--okr-ui-bg-canvas) ou la classe Tailwind de @okrado/brand, et rien d’autre.

  • Le bouton principal est encre : nuit sur papier, crème sur nuit. Le remplissage ambre est réservé à l’unique action de validation d’une vue.
  • Un seul élément ambre par écran sur les surfaces de marketing : le carré du logo, plus au plus un marqueur d’enregistrement.
  • L’avertissement est orange-rouge, jamais ambre. Montrez-le avec un point et un mot. L’ambre veut dire « enregistrement », jamais « attention ».
  • Les liens utilisent le rôle link et sont soulignés. Jamais ambre.
  • Pas de dégradés, sauf un halo ambre radial à 10 % derrière un hero nuit. Jamais sur du texte ni sur le logo.
  • Un statut n’est jamais porté par la couleur seule : un mot ou une icône l’accompagne toujours.
TokenPapierNuit
ui.bg.canvas#faf8f3#0d1015
ui.bg.surface#fefdfa#161a22
ui.bg.raised#fefdfa#1e232b
ui.bg.hover#f3efe6#262b34
ui.bg.active#ebe7de#2e343d
TokenPapierNuit
ui.text.primary#161a22#f3efe6
ui.text.secondary#52575f#c1bdb4
ui.text.tertiary#63676e#97938c
ui.text.inverse#fefdfa#0d1015
TokenPapierNuit
ui.border.subtle#e2ded6#2e343d
ui.border.default#d8d4cc#383e47
ui.border.strong#b4b1a9#646973
ui.border.control#7c8088#86837b
TokenPapierNuit
ui.primary.solid#161a22#f3efe6
ui.primary.hover#52575f#c1bdb4
ui.primary.on#fefdfa#0d1015
TokenPapierNuit
ui.accent.solid#f6b048#f6b048
ui.accent.hover#e78d02#fcc05c
ui.accent.subtle#fdeedb#30200b
ui.accent.border#e8bb7f#6e4400
ui.accent.text#9c5906#fcd180
ui.accent.on#161a22#0d1015
TokenPapierNuit
ui.record.solid#c47500#f6b048
ui.record.logo#e48a00#f6b048
ui.record.text#9c5906#fcd180
ui.record.subtle#fdeedb#30200b
TokenPapierNuit
ui.success.solid#008451#2fcf8d
ui.success.hover#00784a#47dc9d
ui.success.subtle#e0f7e9#0f2a1c
ui.success.border#8fd7ad#085d3c
ui.success.text#14764a#5ee6a8
ui.success.on#fefdfa#0d1015
TokenPapierNuit
ui.warning.solid#bb5300#f77f20
ui.warning.hover#ae4800#ff9645
ui.warning.subtle#ffece2#361c0d
ui.warning.border#fdaf88#7a3a0b
ui.warning.text#a84811#fca864
ui.warning.on#fefdfa#0d1015
TokenPapierNuit
ui.danger.solid#d22632#f1424e
ui.danger.hover#c01c2b#ff4d5e
ui.danger.subtle#ffebe9#3a1717
ui.danger.border#ffaaa7#852b2e
ui.danger.text#be222d#ff898b
ui.danger.on#fefdfa#0d1015
TokenPapierNuit
ui.info.solid#3769e0#6294fa
ui.info.hover#2e5dd0#71a0ff
ui.info.subtle#e8f1ff#17233a
ui.info.border#a4c5ff#2d4c87
ui.info.text#2f5bc2#7aa7ff
ui.info.on#fefdfa#0d1015
TokenPapierNuit
ui.focus.ring#3769e0#7aa7ff

Chaque paire ci-dessous est vérifiée dans les deux modes par le build de la marque : texte à 4,5:1, grand texte et éléments non textuels à 3:1 (WCAG 2.2 AA). Un nouveau rôle qui porte du texte ou un état arrive avec ses paires dans le même changement. Ce tableau est généré depuis le même rapport que celui sur lequel les tests de la marque bloquent.

Premier plan / fondTypeSeuilPapierNuitRésultat
text.primary / bg.canvasTexte4.516.4216.61Réussi
text.secondary / bg.canvasTexte4.56.8510.17Réussi
text.primary / bg.surfaceTexte4.517.1315.19Réussi
text.secondary / bg.surfaceTexte4.57.159.30Réussi
text.primary / bg.raisedTexte4.517.1313.75Réussi
text.secondary / bg.raisedTexte4.57.158.42Réussi
text.primary / bg.hoverTexte4.515.1912.39Réussi
text.secondary / bg.hoverTexte4.56.347.58Réussi
text.primary / bg.activeTexte4.514.1210.93Réussi
text.secondary / bg.activeTexte4.55.896.69Réussi
text.tertiary / bg.canvasTexte4.55.356.23Réussi
text.tertiary / bg.surfaceTexte4.55.595.70Réussi
text.tertiary / bg.raisedTexte4.55.595.16Réussi
text.tertiary / bg.hoverTexte4.54.954.65Réussi
text.tertiary / bg.activeGrand texte34.604.10Réussi
text.inverse / text.primaryTexte4.517.1316.61Réussi
primary.on / primary.solidTexte4.517.1316.61Réussi
primary.on / primary.hoverTexte4.57.1510.17Réussi
text.primary / selectionTexte4.514.1410.98Réussi
accent.text / bg.canvasTexte4.55.1513.22Réussi
accent.text / bg.surfaceTexte4.55.3712.09Réussi
accent.text / accent.subtleTexte4.54.7910.90Réussi
link / bg.canvasTexte4.55.837.98Réussi
link / bg.surfaceTexte4.56.087.30Réussi
accent.on / accent.solidTexte4.59.3110.18Réussi
accent.on / accent.hoverTexte4.56.8111.65Réussi
record.solid / bg.canvasNon textuel33.3610.18Réussi
record.solid / bg.surfaceNon textuel33.509.31Réussi
record.solid / bg.hoverNon textuel33.117.60Réussi
record.text / bg.canvasTexte4.55.1513.22Réussi
record.text / bg.surfaceTexte4.55.3712.09Réussi
record.text / record.subtleTexte4.54.7910.90Réussi
chart.now / bg.surfaceNon textuel33.509.31Réussi
success.text / bg.canvasTexte4.55.3212.12Réussi
success.text / bg.surfaceTexte4.55.5511.09Réussi
success.text / success.subtleTexte4.55.019.76Réussi
success.on / success.solidTexte4.54.679.46Réussi
success.on / success.hoverTexte4.55.4510.88Réussi
success.solid / bg.canvasNon textuel34.489.46Réussi
warning.text / bg.canvasTexte4.55.509.91Réussi
warning.text / bg.surfaceTexte4.55.739.07Réussi
warning.text / warning.subtleTexte4.55.108.22Réussi
warning.on / warning.solidTexte4.54.757.27Réussi
warning.on / warning.hoverTexte4.55.548.80Réussi
warning.solid / bg.canvasNon textuel34.557.27Réussi
danger.text / bg.canvasTexte4.55.728.35Réussi
danger.text / bg.surfaceTexte4.55.977.64Réussi
danger.text / danger.subtleTexte4.55.307.00Réussi
danger.on / danger.solidTexte4.55.085.11Réussi
danger.on / danger.hoverTexte4.56.005.88Réussi
danger.solid / bg.canvasNon textuel34.875.11Réussi
info.text / bg.canvasTexte4.55.837.98Réussi
info.text / bg.surfaceTexte4.56.087.30Réussi
info.text / info.subtleTexte4.55.436.58Réussi
info.on / info.solidTexte4.54.856.47Réussi
info.on / info.hoverTexte4.55.757.42Réussi
info.solid / bg.canvasNon textuel34.656.47Réussi
border.control / bg.canvasNon textuel33.735.03Réussi
focus.ring / bg.canvasNon textuel34.657.98Réussi
border.control / bg.surfaceNon textuel33.904.60Réussi
focus.ring / bg.surfaceNon textuel34.857.30Réussi
border.control / bg.raisedNon textuel33.904.17Réussi
focus.ring / bg.raisedNon textuel34.856.61Réussi
chart.1 / bg.surfaceNon textuel317.1315.19Réussi
chart.2 / bg.surfaceNon textuel33.658.09Réussi
chart.3 / bg.surfaceNon textuel33.358.62Réussi
chart.4 / bg.surfaceNon textuel33.817.72Réussi
chart.5 / bg.surfaceNon textuel33.418.48Réussi
chart.6 / bg.surfaceNon textuel33.897.59Réussi
Responsable
Okrado founders
Mis à jour le
À revoir avant le