Atlasingeniería

Diseño de producto y UX/UIFundamentos — JuniorTema 10Junior

Color y contraste: lo que se puede medir y lo que se discute

El color es la decisión de diseño que más opiniones junta y la que tiene la regla más objetiva. Contraste, significado y qué pasa cuando el color es la única señal: tres cosas que se pueden verificar antes de discutir gustos.

Para este tema conviene tener claro:Jerarquía visual: qué mira el ojo primero

De todas las decisiones de una interfaz, el color es la que más gente opina y la que menos se verifica. “Ese gris se ve bien” es una frase que depende de la pantalla, de la luz de la oficina y de la edad de quien mira.

La buena noticia es que una parte importante del color no es cuestión de gusto: el contraste entre el texto y su fondo es un número, y ese número decide si alguien puede leer tu pantalla o no.

El contraste es un número

El contraste se define como una relación entre la luminancia del texto y la del fondo. Va de 1 a 1 —el mismo color sobre sí mismo, invisible— hasta 21 a 1, que es negro puro sobre blanco puro.

No es el brillo que cada canal declara: el ojo responde mucho más al verde que al azul, así que la fórmula pesa los canales distinto y después los lineariza. Eso explica algo que sorprende siempre: un amarillo que en la pantalla “grita” tiene contraste pésimo contra el blanco, y un azul que se ve tranquilo puede cumplir de sobra.

Antes de seguir, predecí

Texto gris #777 sobre fondo blanco. ¿Cumple el mínimo de accesibilidad para texto normal?

Los umbrales de WCAG, que son los que toma casi toda la normativa de accesibilidad:

NivelTexto normalTexto grandeCuándo se exige
AA4,5 a 13 a 1Es el nivel que piden las leyes de accesibilidad en la mayoría de los países
AAA7 a 14,5 a 1Objetivo para texto largo y para productos con público mayor
Texto grande es 24px, o 19px si está en negrita. Abajo de eso, valen los umbrales de texto normal.

Probalo con los colores que estés usando:

Este párrafo es el que alguien va a leer a las nueve de la noche, cansado, en un celular con brillo al mínimo.

Este párrafo es el que alguien va a leer a las nueve de la noche, cansado, en un celular con brillo al mínimo.

Contraste: 4.48 a 1

TamañoAAAAA
Texto normalNo cumpleNo cumple
Texto grande (24px o 19px en negrita)CumpleNo cumple
Movés los dos colores y mirás el número. Si no llega a AA, la decisión no es 'me gusta igual': es cambiar el color o agrandar el texto.

Cuando el color es la única señal

La segunda regla es menos conocida y rompe más pantallas: el color no puede ser lo único que comunique algo. Si el estado “error” se distingue del estado “ok” sólo porque uno es rojo y el otro verde, hay gente que ve exactamente la misma pantalla en los dos casos.

No es un caso raro: alrededor del 8 % de los varones tiene alguna deficiencia en la percepción del rojo y el verde. Sumá a eso el modo de alto contraste del sistema operativo, una captura en blanco y negro, una pantalla al sol o un proyector malo.

Elegí antes de leer

Un formulario marca los campos con problema. ¿Cuál de las dos versiones funciona mejor?

Sólo color

Correo electrónico

matias@Revisá los campos marcados.

Color, ícono y texto

Correo electrónico

matias@⚠ Falta lo que va después de la arroba

El color también significa

Además de contrastar, el color carga significado, y ahí sí hay convención más que verdad. En la mayoría de los productos occidentales el rojo es error o destrucción, el verde es éxito, el amarillo es advertencia y el azul es acción o información. Romper eso sin motivo cuesta caro: el botón rojo de “guardar” hace dudar a cualquiera.

Un detalle que aparece siempre en productos que manejan plata: el rojo y el verde de “subió/bajó” son convención de mercado y no se pueden abandonar, pero sí se les puede sumar el signo y la flecha. En una cartera de inversiones, el número −2,4 % con flecha hacia abajo se entiende sin ver un solo color.

De un color a una escala

En una interfaz real no se eligen colores: se elige una escala por color, y después se usan por rol. Lo mínimo que hace falta:

Los roles que hay que cubrir

  1. Fondo y superficies. El fondo de la página y una o dos superficies por encima, para tarjetas y paneles. La diferencia entre ellas tiene que verse sin llegar a parecer un borde.
  2. Texto y texto secundario. El principal cumple AA sobrado; el secundario también tiene que cumplir, aunque se vea “apagado”. Un gris que no cumple no es secundario: es ilegible.
  3. Bordes y separadores. Acá el umbral es otro: 3 a 1 contra lo que tienen al lado, y sólo si ese borde comunica algo, como el límite de un campo de formulario.
  4. Acento. Uno, con su versión para estados y su color de texto encima —lo que se escribe sobre el acento también tiene que cumplir contraste, y es lo que más se olvida.
  5. Estados semánticos. Error, advertencia, éxito e información, cada uno con su versión para texto y para fondo, que nunca son la misma.

Esos roles se declaran una vez como variables, y el resto del producto los usa por nombre. Cuando llega el tema oscuro, se redefinen los mismos nombres con otros valores y no se toca ni un componente:

:root {
  --bg: #f2efe6;
  --surface: #fbf9f4;
  --fg: #1f1d19;
  --muted: #6b6558;
  --accent: #a8492a;
  --on-accent: #fbf9f4;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --bg: #14130f;
    --surface: #1c1a16;
    --fg: #ece7dc;
    --muted: #a39c8c;
    /* El acento de claro no sirve en oscuro: mismo color, distinta luminancia relativa. */
    --accent: #e0714a;
    --on-accent: #14130f;
  }
}

Cómo se verifica sin ser diseñador

Tres verificaciones que cualquiera puede hacer sobre su propia pantalla, en este orden:

La revisión de tres minutos

  1. Medí los pares de color que se repiten. Texto sobre fondo, texto secundario sobre fondo, texto sobre acento, texto sobre superficie. Son cuatro números; si los cuatro cumplen AA, el 90 % del problema está resuelto.
  2. Sacá el color. Un filtro de escala de grises en las herramientas del navegador, o una captura pasada a blanco y negro. Si algo deja de entenderse, ahí falta una señal.
  3. Miralo en el otro tema. El tema oscuro suele romper el acento y el texto sobre acento. Es el lugar donde se esconden la mitad de los problemas de contraste.

Las herramientas automáticas —el panel de accesibilidad del navegador, axe, Lighthouse— encuentran el contraste insuficiente sin que uno mida a mano, y conviene tenerlas en el pipeline. Lo que no encuentran es la regla del color como única señal: eso necesita a alguien mirando, porque requiere entender qué está comunicando la pantalla.

Más a fondo · nivel seniorPor qué el contraste no alcanza como métrica

La fórmula de WCAG 2 tiene limitaciones conocidas: trata mal los colores oscuros sobre fondos oscuros y no considera el tamaño real ni el grosor del tipo de letra. Por eso existe APCA, el algoritmo propuesto para WCAG 3, que modela mejor la percepción y da un resultado que depende del peso de la tipografía.

Hoy la normativa vigente sigue siendo WCAG 2, así que es contra ese número que se audita. Pero si un par de colores pasa 4,5 justo y aun así se lee mal —clásico con texto fino sobre fondo oscuro—, no estás loco: la fórmula vieja no captura eso, y conviene subir el peso de la tipografía o el contraste igual.

Lo que preguntan sobre esto

Cierre

El color tiene una parte objetiva y una parte convencional, y conviene no mezclarlas. La objetiva se mide y no se discute: si el contraste no llega, el color cambia. La convencional —qué significa cada color, cuántos acentos, qué tan saturado— se decide una vez, se declara como escala y se respeta.

Cuando alguien dice “ese gris no se ve”, casi siempre tiene razón y casi nunca tiene el número. Tener el número convierte una discusión de gustos en una decisión de dos minutos.

Autoevaluación

¿Lo entendiste?

Un botón usa texto blanco sobre el acento de la marca. ¿Qué par hay que medir?
El texto secundario de una pantalla da 3,8 a 1 contra el fondo. Es texto de 14px. ¿Qué corresponde?
¿Cuál de estas señales alcanza por sí sola para comunicar que un campo tiene error?
Al pasar el producto a tema oscuro, ¿qué es lo que más se rompe?
Una herramienta automática de accesibilidad no encontró ningún problema de color. ¿Qué queda por revisar a mano?