Vos images ont-elles un texte alternatif ?
Le texte alternatif décrit une image pour les personnes au lecteur d’écran et pour Google, qui ne « voit » pas les visuels. Cet outil parcourt les images d’une page, repère celles dont l’attribut alt manque ou n’aide en rien, et propose une description pour chacune.
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.
À quoi sert le texte alternatif
L’attribut alt d’une image remplit deux rôles : il est lu à voix haute aux personnes qui utilisent un lecteur d’écran, et il indique à Google le contenu du visuel, condition pour apparaître dans la recherche d’images. Une image sans alt est un trou à la fois pour l’accessibilité et pour le référencement. En France, l’accessibilité numérique est aussi une attente réglementaire croissante pour de nombreux sites.
Ce que l’audit détecte
L’outil ouvre la page, relève chaque image et classe les cas : alt absent, alt vide, ou alt inutile — un nom de fichier comme « IMG_2043.jpg », une répétition mécanique du mot-clé, ou un texte hors sujet. Les images purement décoratives, qui doivent au contraire porter un alt vide, sont distinguées de celles qui portent du sens. Vous obtenez la liste des images à corriger, avec la nature exacte du problème.
Une suggestion par image
Au-delà du constat, l’outil observe chaque visuel et propose une description en français, courte et fidèle, prête à reprendre ou à ajuster. Une suggestion reste une suggestion : vous connaissez le contexte mieux qu’une analyse automatique, et le mot juste vous revient. L’objectif est de vous épargner la page blanche sur des dizaines d’images, pas de décider à votre place du texte final.
En bêta, et à quel prix
Cette capacité est en bêta : elle fonctionne et s’exécute dès maintenant, mais nous la peaufinons encore et les suggestions peuvent demander une relecture attentive. Le service se paie à l’usage, en dollars US : $0.066 par requête plus $0.0585 par URL analysée, l’analyse visuelle de chaque image ayant un coût réel. Aucun abonnement, aucun compte, et une facture reste disponible pour votre comptabilité.
Cas d’usage
Boutique riche en photos
Atelier Garnier SARL présente ses meubles en photos, mais la plupart n’ont aucun texte alternatif. L’audit les liste et propose pour chacune une description — « table basse en chêne, plateau brut » — que l’artisan valide.
Mise en accessibilité
Une association revoit son site pour le rendre accessible. L’outil distingue les images décoratives, à laisser en alt vide, des visuels porteurs de sens à décrire, ce qui cadre le travail de correction.
Noms de fichiers en guise d’alt
Studio Lumen SAS reprend un site où les alt reprennent le nom du fichier, « photo-1.jpg ». L’audit signale ces textes inutiles et fournit des descriptions à la place, réellement lisibles.
Questions fréquentes
Qu’est-ce qu’un bon texte alternatif ?
Une description brève et fidèle de ce que montre l’image, en contexte. Ni un nom de fichier, ni une liste de mots-clés : une phrase qu’une personne ne voyant pas l’image comprendrait. Les visuels purement décoratifs, eux, prennent un alt vide.
Les suggestions sont-elles à reprendre telles quelles ?
Pas forcément. L’outil est en bêta et propose un point de départ pertinent, mais vous connaissez le contexte : relisez et ajustez chaque description avant publication plutôt que de la coller sans regarder.
Combien coûte l’audit d’une page ?
$0.066 par requête plus $0.0585 par URL, en dollars US. Ce tarif reflète l’analyse visuelle de chaque image, plus coûteuse qu’une simple lecture du code. Tout est facturé à l’usage, sans abonnement.
Faut-il un texte alternatif sur toutes les images ?
Sur toutes celles qui portent un sens, oui. Les images purement décoratives doivent au contraire recevoir un alt vide, pour que le lecteur d’écran les ignore. L’outil fait la distinction dans son rapport.
La page et ses images sont-elles conservées ?
Non. L’outil charge la page et ses visuels le temps de l’analyse, par une connexion chiffrée, puis n’en garde rien. L’analyse des images suppose un traitement côté serveur, que nous assumons clairement.
Faut-il s’inscrire, même pour une capacité en bêta ?
Il n'y a pas d'offre gratuite — les paliers gratuits sont détournés et ralentissent tout le monde. L'accès fonctionne avec un solde prépayé ForHosting KIT : rechargez à partir de $10.00 (il n'expire jamais) et chaque requête est facturée à son prix publié, donc un appel sans solde renvoie HTTP 402. Pas d'abonnement, pas de jetons, pas de crédits inventés, et une tâche en échec n'est jamais facturée.
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/seo/alt-text-audit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/seo/alt-text-audit", {
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/seo/alt-text-audit",
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/seo/alt-text-audit", 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/seo/alt-text-audit", 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": "seo.alt_text_audit",
"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. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |