Test d’accessibilité d’un site
Le test d’accessibilité charge une page et repère les obstacles qui gênent les personnes handicapées : contrastes insuffisants, images sans alternative textuelle, structure de titres bancale, champs de formulaire sans libellé. Il confronte la page aux critères du RGAA et des WCAG et vous rend la liste des écarts détectés, prêts à être corrigés.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Un site utilisable par tous
Un site accessible peut être consulté par une personne aveugle avec un lecteur d’écran, par quelqu’un qui ne distingue pas bien les couleurs, par une personne qui navigue au clavier faute de pouvoir utiliser une souris. Beaucoup d’obstacles sont invisibles à qui n’est pas concerné : une image sans description, un texte gris pâle sur fond blanc, un bouton que rien ne nomme. Le test parcourt la page et signale ces points de friction, en s’appuyant sur les critères de référence. Corriger l’accessibilité, c’est élargir son audience tout en respectant un principe simple d’égalité d’accès.
RGAA et obligation légale en France
En France, l’accessibilité numérique n’est pas seulement une bonne pratique : c’est une obligation légale pour les services publics et pour les grandes entreprises, adossée au RGAA, la déclinaison française des standards internationaux WCAG. Les organismes concernés doivent publier une déclaration de conformité et s’exposent à des sanctions en cas de manquement. Même hors obligation, se rapprocher du RGAA améliore l’expérience de tous et le référencement. Le test vous situe par rapport à ces critères et pointe les écarts les plus courants, pour engager la mise en conformité sur des bases claires.
Version bêta, portée et tarif
Cet outil est en version bêta : il fonctionne et détecte déjà de nombreux écarts, mais nous l’affinons encore. Il faut aussi être honnête sur sa portée : un test automatique repère les problèmes vérifiables par la machine — contrastes, alternatives manquantes, structure —, pas tous les critères du RGAA, dont certains exigent un jugement humain. L’analyse charge la page dans un navigateur : $0.040 par requête, plus $0.001 par URL analysée, en dollars US, sans abonnement. Le résultat s’obtient sur cette page ou via l’API.
Cas d’usage
Situer un site avant une mise en conformité
Studio Lumen SAS teste le site d’un organisme soumis au RGAA pour dresser la liste des écarts les plus visibles avant d’engager les corrections.
Corriger les obstacles les plus courants
Atelier Garnier SARL découvre que plusieurs images de sa boutique n’ont pas d’alternative textuelle et que certains contrastes sont trop faibles pour être lus confortablement.
Contrôler après une refonte
Après avoir revu son site, Thomas Rousseau vérifie que la nouvelle version n’a pas réintroduit d’obstacles d’accessibilité corrigés auparavant.
Questions fréquentes
Qui est concerné par l’obligation d’accessibilité ?
En France, les services publics et les grandes entreprises sont tenus de rendre leurs sites accessibles selon le RGAA, avec une déclaration de conformité et un risque de sanction en cas de manquement. Au-delà de ces obligés, tout site gagne à s’en rapprocher, pour son audience comme pour son référencement.
Quelle différence entre RGAA et WCAG ?
Les WCAG sont les recommandations internationales d’accessibilité web. Le RGAA en est la déclinaison française officielle, qui organise ces exigences en critères vérifiables et sert de référence légale en France. Le test s’appuie sur ces critères pour situer votre page.
Un test automatique suffit-il à être conforme ?
Non, et c’est important à comprendre. Un test automatique détecte les écarts vérifiables par la machine, mais une partie des critères RGAA demande une évaluation humaine — pertinence d’une alternative, cohérence d’un parcours. Le test défriche le terrain et signale l’essentiel ; il ne remplace pas un audit complet.
L’outil est-il stable ?
Il est en version bêta. Il fonctionne et remonte déjà de nombreux écarts utiles, mais nous continuons de l’améliorer. Considérez son résultat comme un point de départ fiable pour prioriser vos corrections, plutôt que comme un verdict de conformité définitif.
Combien coûte un test ?
$0.040 par requête, plus $0.001 par URL analysée, en dollars US, sans abonnement. Le tarif reflète le chargement réel de la page dans un navigateur. L’achat est direct, par PayPal ou par message, et une facture peut vous être remise.
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/web/accessibility \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/accessibility", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/accessibility",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/accessibility", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/accessibility", 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
{
"url": "https://ejemplo.com"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.accessibility",
"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.
Limites
timeout_sec | 30 |
max_crawl_pages | 25 |
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. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |