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í
Los umbrales de WCAG, que son los que toma casi toda la normativa de accesibilidad:
| Nivel | Texto normal | Texto grande | Cuándo se exige |
|---|---|---|---|
| AA | 4,5 a 1 | 3 a 1 | Es el nivel que piden las leyes de accesibilidad en la mayoría de los países |
| AAA | 7 a 1 | 4,5 a 1 | Objetivo para texto largo y para productos con público mayor |
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ño | AA | AAA |
|---|---|---|
| Texto normal | No cumple | No cumple |
| Texto grande (24px o 19px en negrita) | Cumple | No cumple |
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?
Heurística: visibilidad del estado · WCAG 1.4.1, el uso del color
La primera versión depende enteramente de que se vea el rojo del borde, y encima manda al lector a buscar cuál es el campo marcado. La segunda funciona igual en escala de grises: el ícono y el texto dicen qué pasó y qué hacer, pegados al campo que lo causó.
La regla práctica: si tapás el color con la mano y la pantalla deja de comunicar, falta una señal. Ícono, texto, subrayado, posición, negrita: cualquiera sirve, pero tiene que haber algo más.
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
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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?
Práctica