ForHosting KIT · Imágenes

Calculadora de contraste APCA

Sepa qué tan legible es un color de texto sobre su fondo: el casi negro #111827 sobre blanco obtiene Lc 104.5, y al invertir los colores cambia el signo. Un único número con signo que sus revisiones de diseño pueden citar. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Texto
#111827
Fondo
#ffffff
Obtiene
Lc
104,5
Lc absoluto
104,5
Polaridad
BoW
Legibilidad
body_fluent

Esta calculadora de contraste APCA toma un color de texto y un color de fondo en códigos hex y devuelve el Lc con signo (contraste de luminosidad) que produce el Accessible Perceptual Contrast Algorithm, usado en el trabajo de legibilidad del borrador de WCAG 3. A diferencia del ratio de contraste WCAG 2.x más antiguo, APCA es sensible a la polaridad: texto oscuro sobre superficie clara da un Lc positivo, mientras que texto claro sobre superficie oscura da un Lc negativo de magnitud similar. Diseñadores, desarrolladores y especialistas en accesibilidad usan ese único número—junto con tablas de tamaño y peso de fuente—para decidir si el cuerpo tipográfico, las etiquetas de interfaz y los trazos no textuales siguen siendo legibles en pantallas autoiluminadas. El motor implementa las constantes públicas 0.0.98G-4g: linealización con potencia 2.4, coeficientes Y de sRGB, soft-clamp del negro y escalado SAPC BoW/WoB. Los resultados son totalmente deterministas, sin llamadas de red, muestreo ni atajos dependientes de la fecha.

Qué mide el Lc de APCA y en qué se diferencia del ratio WCAG 2

APCA predice el contraste perceptual del texto y del contenido no textual en pantallas autoiluminadas modelando la gamma del monitor, los negros suaves y la forma asimétrica en que la visión humana trata pares oscuro-sobre-claro frente a claro-sobre-oscuro. La salida es un Lc con signo que abarca aproximadamente más o menos ciento diez: por ejemplo, texto de cuerpo casi negro sobre blanco puro suele situarse cerca de Lc noventa o superior, mientras que los mismos colores invertidos producen un Lc negativo grande.

WCAG 2.x, en cambio, informa un único ratio de contraste positivo a partir de la luminancia relativa con umbrales fijos AA y AAA como 4.5 a 1 y 7 a 1; ese ratio ignora la polaridad y tiende a sobrevalorar o infravalorar ciertos pares de tonos medios que la gente realmente tiene dificultad para leer.

Esta calculadora siempre devuelve el Lc con signo, la magnitud absoluta, la etiqueta de polaridad BoW (black on white / texto oscuro sobre claro) o WoB (white on black / texto claro sobre oscuro), la Y linealizada de cada color y una banda gruesa de legibilidad derivada del Lc absoluto para un triaje rápido.

No hay rastreo de página, análisis CSS, mezcla de opacidad ni muestreo de degradados: usted aporta dos colores hex explícitos y recibe un objeto reproducible apto para puertas de tokens de diseño, tickets de accesibilidad y revisiones automatizadas de paleta que deben citar un Lc numérico en lugar de una opinión subjetiva sobre una captura de pantalla.

Cómo se leen las entradas hex y por qué la ruta 0.0.98G-4g es determinista

Ambos valores deben ser hex: almohadilla inicial opcional, tres dígitos que se expanden a seis o seis dígitos completos, sin distinguir mayúsculas. Sufijos alfa, funciones rgb(), funciones hsl(), colores CSS con nombre y enteros sueltos se rechazan con un mensaje que nombra el campo y muestra lo recibido, para que un token erróneo nunca se convierta en un fail-open silencioso. Cada color se limita a treinta y dos caracteres para mantener la validación barata y bloquear pegados accidentales.

Tras el análisis, cada canal se eleva a la potencia 2.4 tras dividir por doscientos cincuenta y cinco, y se combina con los coeficientes sRGB de APCA 0.2126729, 0.7151522 y 0.0721750 para formar Y. Los valores Y casi negros en o por debajo de 0.022 reciben el soft-clamp para no penalizar en exceso el negro puro.

Cuando la Y del fondo es mayor que la del texto, la rama BoW aplica exponentes 0.56 y 0.57 con escala 1.14 y desplazamiento 0.027; en caso contrario la rama WoB usa 0.65 y 0.62 y devuelve un Lc negativo. Deltas de luminancia extremadamente pequeñas se recortan a cero.

Dónde encajan las comprobaciones APCA en design systems, modo oscuro y WCAG 3

Los equipos de producto recurren a APCA cuando una paleta de marca que superó WCAG 2 AA sigue viéndose turbia en modo oscuro, cuando el texto gris medio sobre superficies suaves falla pruebas humanas de legibilidad, o cuando las partes interesadas piden números Lc alineados con las discusiones del borrador de WCAG 3 en lugar del ratio antiguo solo.

Los ingenieros conectan el mismo contrato a comprobaciones de pull request que bloquean un cambio de token si el Lc absoluto de los colores de cuerpo primario cae por debajo de un umbral del equipo como sesenta, o registran valores WoB para titulares hero del tema oscuro que se sitúan a propósito más cerca de la superficie. QA y especialistas en accesibilidad adjuntan Lc con signo y polaridad a los informes de error para que los desarrolladores corrijan el par exacto en lugar de adivinar desde una captura.

Los equipos de contenido y marketing verifican que los códigos hex de campaña siguen superando las bandas mínimas de cuerpo al colocarse sobre fondos claros u oscuros del sitio. Combínelo con el verificador de ratio WCAG 2 cuando aún necesite documentación AA/AAA, y con herramientas de conversión de color cuando necesite intermedios RGB o HSL antes de calcular el Lc.

Revisión de tokens de diseño y modo oscuro

Compruebe cada par texto/fondo en temas claros y oscuros para obtener Lc con signo y polaridad antes de fijar los tokens de marca.

Informes de accesibilidad con polaridad

Adjunte Lc con signo, polaridad BoW/WoB y la banda de legibilidad para que los ingenieros corrijan el par hex exacto, no una captura vaga.

¿Cuánto cuesta la calculadora de contraste APCA?

Es gratuita en su navegador en esta página.

¿Qué es Lc y por qué puede ser negativo?

Lc es el contraste de luminosidad APCA. Valores positivos significan texto oscuro sobre fondo claro (BoW); valores negativos, texto claro sobre fondo oscuro (WoB). Conserve el signo en informes sensibles a la polaridad; use el valor absoluto solo al comparar umbrales de magnitud.

¿En qué se diferencia del verificador de ratio de contraste WCAG?

WCAG 2.x devuelve un único ratio positivo y banderas AA/AAA. APCA devuelve un Lc con signo y polaridad, matemática distinta (Y con potencia 2.4, soft-clamp del negro, exponentes BoW/WoB) y se orienta al trabajo de legibilidad del borrador WCAG 3, no a las puertas 4.5:1 / 7:1.

¿Analiza esta herramienta mi sitio web en busca de problemas de contraste?

No. Solo compara dos colores hex que usted proporciona.

¿Qué formatos de color acepta la calculadora APCA?

Solo colores hexadecimales de tres o seis dígitos, con o sin almohadilla inicial y en mayúsculas o minúsculas. Los nombres de color, la notación RGB o HSL y la transparencia se rechazan, así un valor erróneo nunca pasa.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/color/apca-contrast

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/color/apca-contrast \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"#111827","background":"#ffffff"}'
{
  "text": "#111827",
  "background": "#ffffff"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.apca_contrast",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_color_chars32
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Explore pares gratis en el navegador, o llame a la API a $0.002 por solicitud exitosa cuando el CI del design system, backends de Figma o pipelines de tokens necesiten la misma matriz Lc cada vez.

Qué mide el Lc de APCA y en qué se diferencia del ratio WCAG 2

El campo method queda fijo en apca_0.0.98G-4g para que los registros de CI documenten exactamente qué juego de constantes produjo el número. Hex inválidos, campos ausentes, valores que no son cadenas y cadenas demasiado largas se rechazan con invalid_input y nunca se facturan.

Cómo se leen las entradas hex y por qué la ruta 0.0.98G-4g es determinista

Los campos preferidos son text para el color de tinta o icono en primer plano y background para la superficie detrás. Los alias foreground, fg, color1 y hex1 se asignan a text; bg, color2 y hex2 a background, de modo que hojas de cálculo, cadenas de consulta y formularios reutilicen el mismo contrato sin renombrar columnas.

Dónde encajan las comprobaciones APCA en design systems, modo oscuro y WCAG 3

Los diseñadores pegan pares hex desde Figma o un JSON de tokens y leen polaridad más una banda como body_preferred o large_text antes de fijar una escala. En esta página el trabajo se ejecuta por completo en su navegador; a través de la API cada consulta exitosa cuesta $0.002, la validación fallida no se cobra y no se almacena nada tras la respuesta. Esa división—exploración interactiva gratuita y una API de pago idéntica—coincide con el resto del catálogo KIT de nivel A y le permite pasar de un taller de paleta a un pipeline automatizado sin cambiar el resultado matemático.

Puertas de CI para preparación del borrador WCAG 3

Llame a la API desde pull requests para fallar builds cuando el Lc absoluto de colores de cuerpo quede por debajo del umbral de su equipo.

¿Qué formatos de color se aceptan?

Solo hex: #RGB o #RRGGBB, con o sin almohadilla inicial, sin distinguir mayúsculas. rgb(), hsl(), colores con nombre y hex con alfa se rechazan con invalid_input.

Ver la documentación completa del KIT →