Comprobador WCAG de espaciado de texto
Este comprobador de espaciado de texto WCAG compara las medidas de una hoja de estilos con tres valores relativos al tamaño de fuente usados habitualmente para evaluar la adaptabilidad del espaciado: una altura de línea de al menos 1.5 veces el tamaño de fuente, un espaciado entre letras de al menos 0.12 veces y un espaciado entre palabras de al menos 0.16 veces. Introduzca todas las medidas en una misma unidad, como píxeles o puntos. El resultado muestra cada proporción observada, el mínimo requerido, el valor mínimo correspondiente y un resultado global. Es una comprobación numérica específica, no sustituye la prueba de que el contenido siga siendo utilizable cuando el lector modifique el espaciado.
Ejecutar — gratis
Mida los cuatro valores en una unidad coherente
Comience con el tamaño de fuente calculado y los valores de altura de línea, espaciado entre letras y espaciado entre palabras que desea evaluar. Los cuatro números deben emplear la misma unidad porque el comprobador divide cada medida de espaciado entre el tamaño de fuente. Los píxeles resultan prácticos al copiar estilos calculados desde las herramientas de desarrollo del navegador, pero los puntos, los rem convertidos a números o cualquier otra unidad de longitud coherente producen las mismas proporciones. Por ejemplo, una fuente de 16 píxeles con una altura de línea de 24 píxeles produce una proporción de 1.5. Un espaciado de letras de 1.92 píxeles produce 0.12 y uno de palabras de 2.56 píxeles produce 0.16. Las etiquetas de unidad no se aceptan deliberadamente: envíe números después de resolver palabras clave CSS, porcentajes, alturas de línea sin unidad, valores heredados y unidades relativas en medidas comparables. El tamaño de fuente debe ser mayor que cero; los valores cero o negativos se rechazan. Los demás valores finitos se evalúan tal como se suministran, por lo que un espaciado negativo falla sin corregirse silenciosamente.
Lea cada comprobación antes del resultado global
La respuesta contiene una comprobación para la altura de línea, otra para el espaciado entre letras y otra para el espaciado entre palabras. Cada una repite el valor suministrado, calcula su proporción respecto al tamaño de fuente, indica la proporción mínima orientada a WCAG, calcula el valor absoluto mínimo para el tamaño de fuente indicado y devuelve un resultado booleano. El campo global passes solo es verdadero cuando pasan las tres comparaciones. Los valores exactamente en el límite pasan: una proporción de altura de línea de 1.5, de espaciado de letras de 0.12 o de palabras de 0.16 satisface su umbral. El algoritmo utiliza los números directamente y no redondea antes de comparar, evitando que una presentación altere un resultado cercano al límite. La salida permite actuar sobre los fallos: quien desarrolla puede identificar la propiedad insuficiente y comparar su valor con minimum_value. Como el cálculo es determinista y no depende de la red, una entrada JSON idéntica siempre produce la misma salida en el navegador, una canalización de compilación o la integración con la API.
Use el resultado como comprobación específica de adaptabilidad
WCAG 1.4.12 busca conservar el contenido y la funcionalidad cuando las personas usuarias aplican determinados ajustes de espaciado de texto. Esta calculadora comprueba si las tres medidas alcanzan las proporciones asociadas con la altura de línea y los espacios entre letras y palabras; no inspecciona una página, no reescribe CSS ni demuestra que un diseño tolere sustituciones del usuario. Una revisión completa de accesibilidad todavía debe aplicar los cambios pertinentes en un navegador real y buscar texto recortado, controles ocultos, superposiciones, etiquetas truncadas, diálogos rotos y contenido perdido. El espaciado entre párrafos también forma parte del criterio, pero queda fuera de esta capacidad porque la entrada declarada solo cubre los tres valores relativos al tamaño de fuente. Use el resultado numérico para detectar pronto discordancias en tokens u hojas de estilo y después pruebe el renderizado real. La versión del navegador ayuda en revisiones manuales; la API cuesta $0.002 por solicitud correcta y sirve para regresiones sobre componentes, temas, plantillas o documentos generados. Las entradas no válidas se rechazan, sin convertirlas ni adivinarlas.
Qué puede hacer con ella
Auditar tokens de diseño
Compare los tokens tipográficos con las proporciones objetivo antes de publicar una biblioteca compartida de componentes.
Añadir una aserción de regresión
Envíe medidas de estilo resueltas desde pruebas automáticas y detenga la compilación si alguna proporción resulta insuficiente.
Revisar una sustitución CSS
Compruebe numéricamente los valores propuestos de altura de línea y espaciado antes de probar el diseño en un navegador.
Preguntas frecuentes
¿Qué proporciones utiliza el comprobador?
Comprueba una altura de línea de 1.5 veces el tamaño de fuente, un espaciado de letras de 0.12 veces y uno de palabras de 0.16 veces.
¿Las entradas deben estar en píxeles?
No. Cualquier unidad de longitud sirve si el tamaño de fuente y los tres valores de espaciado usan la misma unidad.
¿Pasa un resultado exactamente igual al umbral?
Sí. Todas las comparaciones son inclusivas, por lo que un valor igual a su proporción mínima pasa.
¿Esto demuestra que una página cumple WCAG 1.4.12?
No. Solo comprueba tres proporciones numéricas. También debe aplicar los ajustes en la página renderizada y confirmar que no se pierdan contenido ni funcionalidad.
¿Cuánto cuesta una solicitud de la API?
Una solicitud correcta de la API cuesta $0.002. El mismo cálculo determinista está disponible en el navegador.
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/verify/wcag-text-spacing-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"font_size":16,"line_height":24,"letter_spacing":1.92,"word_spacing":2.56}'const res = await fetch("https://api.kit.forhosting.com/verify/wcag-text-spacing-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"font_size": 16,
"line_height": 24,
"letter_spacing": 1.92,
"word_spacing": 2.56
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/wcag-text-spacing-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"font_size": 16,
"line_height": 24,
"letter_spacing": 1.92,
"word_spacing": 2.56
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/wcag-text-spacing-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"font_size":16,"line_height":24,"letter_spacing":1.92,"word_spacing":2.56}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"font_size":16,"line_height":24,"letter_spacing":1.92,"word_spacing":2.56}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/wcag-text-spacing-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"font_size": 16,
"line_height": 24,
"letter_spacing": 1.92,
"word_spacing": 2.56
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.wcag_text_spacing_check",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |