Contraste de color
Diferencia de luminosidad entre el color del texto y su fondo. WCAG 2.1 requiere ratios mínimos: 4.5:1 para texto normal (AA) y 3:1 para texto grande (AA), 7:1 para texto normal (AAA).
¿Qué es el contraste de color?
El contraste de color es la diferencia de luminosidad (luminancia) entre el color del texto (o elementos gráficos) y su color de fondo. Un contraste adecuado es esencial para que el contenido sea legible, especialmente para personas con baja visión, daltonismo o que usan pantallas en condiciones de luz brillante.
Relación con WCAG 2.1
El Criterio 1.4.3 (Contraste - Mínimo) de WCAG 2.1 Nivel AA requiere:
- Texto normal (menos de 18pt o 14pt en negrita): Ratio de contraste mínimo de 4.5:1
- Texto grande (18pt o más, o 14pt en negrita o más): Ratio de contraste mínimo de 3:1
El Criterio 1.4.6 (Contraste - Mejorado) de Nivel AAA requiere:
- Texto normal: Ratio de contraste mínimo de 7:1
- Texto grande: Ratio de contraste mínimo de 4.5:1
Cálculo del ratio de contraste
El ratio se calcula usando la fórmula:
(L1 + 0.05) / (L2 + 0.05)
Donde L1 es la luminancia relativa del color más claro y L2 del más oscuro.
Ejemplos prácticos
✅ Correcto: Contraste adecuado (AA)
/* Texto negro sobre fondo blanco: 21:1 */
.texto-oscuro {
color: #000000;
background-color: #ffffff;
}
/* Texto blanco sobre fondo azul oscuro: 8.6:1 */
.texto-claro {
color: #ffffff;
background-color: #1a237e;
}
✅ Correcto: Texto grande con menor contraste
/* Texto grande (18pt+) puede tener 3:1 */
.titulo-grande {
font-size: 24px;
color: #666666; /* Contraste 3.2:1 con fondo blanco */
background-color: #ffffff;
}
❌ Incorrecto: Contraste insuficiente
/* Texto gris claro sobre fondo blanco: 1.6:1 - NO CUMPLE */
.texto-bajo-contraste {
color: #cccccc;
background-color: #ffffff;
}
/* Texto amarillo sobre fondo blanco: 1.07:1 - NO CUMPLE */
.texto-amarillo {
color: #ffff00;
background-color: #ffffff;
}
Errores comunes
- Confiar solo en el color: No usar solo color para transmitir información
- Contraste insuficiente en estados hover/focus: Los estados interactivos también deben tener buen contraste
- Ignorar imágenes de fondo: El texto sobre imágenes debe tener contraste adecuado
- No considerar texto sobre gradientes: Verificar contraste en todas las áreas del gradiente
- Olvidar elementos gráficos: Iconos, botones y elementos UI también necesitan contraste
Buenas prácticas
- Verificar con herramientas: Usar herramientas como WebAIM Contrast Checker o axe DevTools
- Probar en diferentes condiciones: Verificar en luz brillante y con diferentes dispositivos
- Considerar estados: Hover, focus, active, disabled deben tener contraste adecuado
- Texto sobre imágenes: Asegurar fondo semitransparente o sombra si es necesario
- Elementos no textuales: Iconos, gráficos y UI también necesitan contraste 3:1 mínimo
Herramientas de verificación
- WebAIM Contrast Checker: https://webaim.org/resources/contrastchecker/
- Colour Contrast Analyser (CCA): Aplicación de escritorio
- axe DevTools: Extensión de navegador
- Lighthouse: Auditoría de accesibilidad
Términos relacionados
- [[Ratio de contraste]]
- [[Luminancia relativa]]
- [[WCAG 2.1]]
- [[Criterio 1.4.3]]
- [[Baja visión]]