Saltar al contenido
ssntl/ui

Color y contraste

Cada par de colores del tema, medido en claro y oscuro. El lint rompe el build si uno baja de WCAG AA, así esta tabla solo puede mostrar valores que pasan.

Reglas

  • El texto necesita 4.5:1 contra su superficie; el texto grande (24px o más, o 19px en negrita) necesita 3:1.
  • Los bordes de los inputs y el anillo de foco necesitan 3:1, para que un campo se vea antes de escribir en él.
  • La etiqueta de un botón se mide contra su propio relleno, no contra la página: primary, secondary y accent pasan sobre su color.
  • El texto sobre color usa un tinte de blanco (white/80), nunca un gris neutro: el gris sobre azul se ensucia y pierde contraste.
  • El color nunca lleva el significado solo: los enlaces van subrayados, las etiquetas llevan una palabra y los errores un mensaje.

Pares del tema

Calculado desde @ssntl/tokens al compilar. La muestra usa los colores reales; el número es la relación de contraste.

Contraste de los pares de tokens de ssntl/uiWCAG 2.2 · Fuente: @ssntl/tokens
UsoClaroOscuroMínimoResultado
Texto sobre la páginaforeground / background17.5717.574.5AAA
Texto sobre una tarjetaforeground / card19.6716.144.5AAA
Texto atenuado sobre la páginamuted-foreground / background5.9513.934.5AA
Texto atenuado sobre una tarjetamuted-foreground / card6.6612.804.5AA
Texto atenuado sobre tarjeta mutedmuted-foreground / muted5.9512.044.5AA
Etiqueta neutramuted-foreground / secondary5.4310.694.5AA
Botón primaryprimary-foreground / primary19.6717.574.5AAA
Botón secondarysecondary-foreground / secondary16.0513.474.5AAA
Botón accentwhite / blue-6008.598.594.5AAA
Texto secundario sobre marcawhite/80 / blue-6005.585.584.5AA
Texto destructivodestructive / card5.844.674.5AA
Enlaceblue-600 · blue-300 / card8.599.484.5AAA
Etiqueta en vivogreen-600 · green-400 / secondary4.598.644.5AA
Borde de inputinput / background3.085.693.0Pasa
Anillo de focoring / background7.677.213.0Pasa