Saltar al contenido
norito
Imágenes
Comprimir imagenReduce a un tamaño de archivo objetivo
Generador de marcadoresImágenes de relleno a medida
Quitar fondoRecorta a una persona de una foto
Redimensionar ImagenCambia ancho y alto, exacto o por porcentaje
Conversor de ImágenesConvierte entre JPG, PNG y WebP
Recortar ImagenArrastra un recuadro para recortar, libre o con proporción fija
Eliminar MetadatosElimina EXIF, GPS y datos de la cámara
Marca de Agua en ImagenAñade una marca de agua de texto con vista previa en vivo
Desarrollo
Generador de archivos de pruebaArchivos de relleno del tamaño exacto
Formateador JSONFormatea, valida y minifica
Editor MarkdownVista previa en vivo, exporta a .md/.html
Generador de UUIDUUID v4 aleatorios en lote
Codificar / Decodificar Base64Texto a y desde Base64, seguro para UTF-8
Generador de hashesMD5, SHA-1, SHA-256, SHA-512
Conversor de TimestampDe timestamp Unix a fecha, en ambos sentidos
JSON DiffCompara dos documentos JSON
Decodificador de JWTDecodifica el header y el payload de un JWT
Probador de RegexPrueba una regex con resaltado de coincidencias en vivo
CSV a JSONConvierte un archivo CSV a JSON
Visor de CSVVisualiza y edita un CSV como tabla
Codificador / Decodificador de URLCodifica o decodifica una URL con porcentaje
Codificador / Decodificador de Entidades HTMLEscapa o desescapa entidades HTML
Conversor YAML a JSONConvierte entre YAML y JSON, en ambos sentidos
Analizador de Expresiones CronExplica un cron, previsualiza las próximas ejecuciones
Conversor de Base NuméricaBinario, octal, decimal, hexadecimal y más
Comparador de TextoCompara dos textos línea por línea
Texto
Generador de slugs SEOURLs limpias a partir de títulos
Generador de texto limitadoTexto de relleno con longitud exacta
Contador de palabrasPalabras, frases y párrafos en vivo
Contador de caracteresConteo de caracteres, con límites de plataformas
Eliminar líneas duplicadasElimina líneas duplicadas de una lista
Ordenar líneasOrdena alfabética, numéricamente o al azar
Conversor de Mayúsculas/MinúsculasMAYÚSCULAS, camelCase, snake_case y más
Generador de Lorem IpsumTexto de relleno por palabra, frase o párrafo
Buscar y ReemplazarBusca y reemplaza texto, con soporte de regex
Utilidades
Generador de contraseñasContraseñas y frases aleatorias
Generador de códigos QRColores personalizados, corrección de errores
PDF
Unir PDFCombina varios PDF en uno
Dividir PDFExtrae páginas o divide en archivos
Rotar PDFCorrige páginas giradas o al revés
PDF a JPG/PNGConvierte páginas en imágenes
JPG/PNG a PDFCombina imágenes en un solo PDF
Eliminar y reordenarElimina o reordena páginas
Números de páginaNumera cada página
Marca de aguaEstampa texto en cada página
Extraer textoExtrae el texto de un PDF
Comprimir PDFReduce el tamaño de un PDF
Firmar PDFDibuja o escribe una firma
SEO
Generador de meta tagsTítulo, descripción, etiquetas OG y Twitter
Generador de UTMCrea URLs con seguimiento de campaña
Generador de robots.txtReglas allow/disallow, referencia al sitemap
Generador de sitemapURLs dentro, sitemap.xml fuera
Design
Degradado CSSLineal o radial, copia el CSS
Sombra CSSSombras simples o superpuestas
Border-radiusRadio por esquina, copia el CSS
Generador de faviconTodos los tamaños que necesitas
Extractor de paletaExtrae los colores dominantes de una imagen
Verificador de contrasteContraste WCAG, cumplimiento AA/AAA
Conversor de colorHEX, RGB, HSL, CMYK, en vivo
Blog

norito / Blog / Verificación de Contraste WCAG: Una Guía Práctica

Verificación de Contraste WCAG: Una Guía Práctica

Por Shubham Singh · 15 de julio de 2026

Publicado el 2026-07-15

La relación de contraste no es solo una casilla de cumplimiento, es la diferencia entre un texto que la gente puede leer y uno que no. Aquí está cómo se calcula y qué significan realmente los umbrales.

Por qué importa el contraste

Un texto que no contrasta lo suficiente con su fondo es difícil de leer para todos, y puede ser completamente ilegible para personas con baja visión o daltonismo. Las Pautas de Accesibilidad al Contenido Web (WCAG) establecen relaciones de contraste mínimas específicamente para que el texto siga siendo legible para el rango más amplio posible de capacidades visuales, y cumplirlas es a la vez una mejora genuina de usabilidad y, en muchas jurisdicciones, un requisito legal para los sitios web de cara al público.

Cómo se calcula realmente la relación de contraste

La relación de contraste es una comparación entre la luminancia relativa (brillo percibido) del color del texto y el color de fondo, expresada como una relación desde 1:1 (idéntico, sin contraste alguno) hasta 21:1 (negro puro sobre blanco puro, el máximo contraste posible). No es una simple comparación de brillo, la luminancia se calcula usando una fórmula que pondera el rojo, verde y azul de manera diferente, ya que el ojo humano percibe el verde como más brillante que el rojo o el azul a la misma intensidad, y aplica una corrección gamma para tener en cuenta cómo los monitores realmente muestran el color. No necesitas calcular esto a mano, pero saber que se trata de brillo percibido (no solo valores RGB en bruto) ayuda a explicar algunos resultados genuinamente contraintuitivos, como por qué ciertos colores de tono medio que se ven razonablemente distintos pueden aun así fallar.

Los umbrales reales

WCAG 2.1 define dos niveles de conformidad. AA, el estándar al que apunta la mayoría de las organizaciones, requiere una relación de contraste de al menos 4.5:1 para texto normal y 3:1 para texto grande (definido como 18pt regular o 14pt negrita y mayor). AAA, un nivel más estricto, requiere 7:1 para texto normal y 4.5:1 para texto grande. La mayoría de los requisitos legales de accesibilidad (como la ADA en EE.UU., interpretada a través de WCAG, o el estándar EN 301 549 en la UE) hacen referencia a AA como línea base, AAA generalmente se trata como una meta aspiracional más que un requisito estricto.

Errores comunes de contraste

El texto gris claro sobre un fondo blanco es el fallo más común con diferencia, a menudo se ve “limpio” y “moderno” en una maqueta de diseño pero falla AA gravemente y es genuinamente difícil de leer para muchos usuarios. El texto de marcador de posición dentro de campos de formulario suele tener demasiado poco contraste, y como desaparece en cuanto empiezas a escribir, los diseñadores a menudo no notan que es un problema. El texto superpuesto sobre fotos o degradados es arriesgado porque la relación de contraste puede aprobar en una zona de la imagen y fallar en otra, añadir una superposición de color sólido o una sombra de texto detrás del texto es una solución común. Los colores de marca, especialmente las paletas de marca en pastel o de saturación media, frecuentemente fallan los requisitos de contraste cuando se usan como color de texto y necesitan una variante más oscura o más clara reservada específicamente para el texto.

Cómo verificar tus propios colores

Elige tu color de primer plano (texto) y tu color de fondo, luego verifica la relación resultante contra los umbrales AA y AAA para el tamaño de texto que estás usando. Si una combinación falla, la solución más fiable suele ser oscurecer el color del texto (para fondos claros) o aclararlo (para fondos oscuros) hasta que supere el umbral, en lugar de cambiar el fondo, ya que el color de fondo suele estar más ligado a la identidad de marca que el color del texto.

Pruébalo tú mismo: Verificador de Contraste, para verificar cualquier par de colores contra los umbrales AA y AAA de WCAG al instante.
norito

Herramientas pequeñas que resuelven un problema molesto cada una. Todo funciona en tu navegador, no se sube nada.

Producto

Todas las herramientas Changelog Cómo funciona Blog Compare Acerca de Contacto Política de privacidad Términos de servicio

PDF

Unir PDF Dividir PDF Rotar PDF PDF a JPG/PNG JPG/PNG a PDF Eliminar y reordenar Números de página Marca de agua Extraer texto Comprimir PDF Firmar PDF Comparar PDF

Imágenes

Comprimir imagen Redimensionar Imagen Conversor de Imágenes Recortar Imagen Eliminar Metadatos Marca de Agua en Imagen Generador de marcadores Quitar fondo Conversor de AVIF Conversor de HEIC Dimensiones de imagen Anotador de capturas Recorte para redes sociales

Desarrollo

Generador de archivos de prueba Formateador JSON Editor Markdown Generador de UUID Base64 Generador de hashes Timestamp JSON Diff Decodificador de JWT Probador de Regex CSV a JSON Visor de CSV URL Encoder HTML Entities YAML to JSON Cron Parser Base Converter Comparador de Texto Calculadora de especificidad CSS Extractor de variables CSS Generador de .gitignore Generador de JSON Schema Optimizador de SVG Generador de sprites SVG SVG a componente React Analizador de URL Analizador de User-Agent

Texto

Generador de slugs SEO Generador de texto limitado Contador de palabras Contador de caracteres Dedupe Lines Ordenar líneas Conversor de Mayúsculas/Minúsculas Lorem Ipsum Find & Replace Caracteres invisibles Formateador de tablas MD Generador de tablas MD

Utilidades

Generador de contraseñas Generador de códigos QR

SEO

Generador de meta tags Generador de UTM Generador de robots.txt Generador de sitemap Etiqueta Canonical Etiquetas hreflang

Design

Degradado CSS Sombra CSS Border-radius Generador de favicon Extractor de paleta Verificador de contraste Conversor de color Generador de Blobs CSS Clamp() Curvas de aceleración CSS Filtros CSS Textura de ruido Patrones CSS Sombras Tailwind
© 2026 norito. Todas las herramientas funcionan localmente en tu navegador. Changelog Blog Compare Cómo funciona Política de privacidad Términos de servicio Invítame un café
Esc