Vérificateur WCAG de l’espacement du texte
Ce vérificateur d’espacement du texte WCAG compare les mesures d’une feuille de style aux trois valeurs relatives à la taille de police couramment contrôlées pour l’ajustement de l’espacement : une hauteur de ligne d’au moins 1.5 fois la taille de police, un espacement des lettres d’au moins 0.12 fois cette taille et un espacement des mots d’au moins 0.16 fois cette taille. Saisissez toutes les mesures dans une unité cohérente, comme les pixels ou les points. Le résultat indique chaque rapport observé, son minimum requis, la valeur minimale correspondante et une réussite globale. Ce contrôle numérique ciblé ne remplace pas un essai vérifiant que le contenu reste utilisable lorsque les lecteurs modifient l’espacement.
Lancer gratuitement
Mesurez les quatre valeurs dans une unité cohérente
Commencez par la taille de police calculée et les valeurs de hauteur de ligne, d’espacement des lettres et d’espacement des mots que vous souhaitez évaluer. Les quatre nombres doivent employer la même unité, car le vérificateur divise chaque mesure d’espacement par la taille de police. Les pixels sont pratiques lorsque vous copiez les styles calculés depuis les outils de développement du navigateur, mais des points, des rems convertis en nombres ou toute autre unité de longueur cohérente produisent les mêmes rapports. Par exemple, une police de 16 pixels associée à une hauteur de ligne de 24 pixels produit un rapport de 1.5. Un espacement des lettres de 1.92 pixel donne 0.12 et un espacement des mots de 2.56 pixels donne 0.16. Les libellés d’unité ne sont volontairement pas acceptés : envoyez des nombres après avoir résolu les mots-clés CSS, pourcentages, hauteurs de ligne sans unité, valeurs héritées et unités relatives en mesures comparables. La taille de police doit être supérieure à zéro ; les tailles nulles ou négatives sont rejetées. Les autres valeurs finies sont évaluées telles quelles, donc un espacement négatif échoue sans correction silencieuse.
Lisez chaque contrôle avant le résultat global
La réponse contient un contrôle pour la hauteur de ligne, un pour l’espacement des lettres et un pour celui des mots. Chaque contrôle répète la valeur fournie, calcule son rapport à la taille de police, indique le rapport minimal fondé sur WCAG, calcule la valeur absolue minimale pour la police fournie et renvoie un résultat booléen. Le champ global passes n’est vrai que si les trois comparaisons réussissent. Les valeurs exactement sur une limite réussissent : un rapport de hauteur de ligne de 1.5, d’espacement des lettres de 0.12 ou des mots de 0.16 satisfait son seuil. L’algorithme utilise directement les nombres et n’arrondit pas avant la comparaison, afin qu’un simple affichage ne modifie pas un résultat proche de la limite. La sortie permet d’agir sur les échecs : une personne chargée du développement peut repérer la propriété insuffisante et comparer sa valeur à minimum_value. Le calcul étant déterministe et indépendant du réseau, une entrée JSON identique produit toujours la même sortie dans le navigateur, une chaîne de build ou une intégration API.
Employez le résultat comme contrôle ciblé de l’ajustement
WCAG 1.4.12 vise à préserver le contenu et les fonctionnalités lorsque les utilisateurs appliquent certains réglages d’espacement du texte. Cette calculatrice vérifie si les trois mesures atteignent les rapports associés à la hauteur de ligne et aux espacements des lettres et des mots ; elle n’inspecte aucune page, ne réécrit pas le CSS et ne prouve pas qu’une mise en page supporte les réglages de l’utilisateur. Un audit complet d’accessibilité doit encore appliquer les changements dans un vrai navigateur et rechercher le texte rogné, les commandes masquées, les chevauchements, les libellés tronqués, les dialogues cassés et le contenu perdu. L’espacement des paragraphes fait aussi partie du critère, mais sort de cette capacité car l’entrée déclarée ne couvre que les trois mesures relatives à la taille de police. Utilisez le résultat numérique pour détecter tôt les incohérences des jetons ou feuilles de style, puis testez le rendu réel. La version navigateur aide pendant une revue manuelle ; l’API coûte $0.002 par requête réussie et convient aux tests de régression de composants, thèmes, modèles ou documents générés. Toute entrée invalide est rejetée, jamais convertie ou devinée.
Cas d’usage
Auditer les jetons de conception
Comparez les jetons typographiques aux rapports cibles avant de publier une bibliothèque de composants partagée.
Ajouter une assertion de non-régression
Envoyez les mesures de style résolues par les tests automatisés et bloquez le build si un rapport est insuffisant.
Examiner une surcharge CSS
Contrôlez numériquement les valeurs proposées de hauteur de ligne et d’espacement avant de tester la mise en page dans un navigateur.
Questions fréquentes
Quels rapports le vérificateur utilise-t-il ?
Il contrôle une hauteur de ligne égale à 1.5 fois la taille de police, un espacement des lettres de 0.12 fois et celui des mots de 0.16 fois.
Les entrées doivent-elles être en pixels ?
Non. Toute unité de longueur convient si la taille de police et les trois espacements emploient la même unité.
Un résultat exactement égal au seuil réussit-il ?
Oui. Chaque comparaison est inclusive ; une valeur égale à son rapport minimal réussit donc.
Cela prouve-t-il qu’une page respecte WCAG 1.4.12 ?
Non. Seuls trois rapports numériques sont contrôlés. Vous devez aussi appliquer les réglages à la page rendue et confirmer qu’aucun contenu ni aucune fonction ne disparaît.
Quel est le coût d’une requête API ?
Une requête API réussie coûte $0.002. Le même calcul déterministe est disponible dans le navigateur.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"font_size": 16,
"line_height": 24,
"letter_spacing": 1.92,
"word_spacing": 2.56
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.wcag_text_spacing_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |