WCAG A Prestataire Complexe

Quand un test « je ne suis pas un robot » en image est présent, existe-t-il un autre moyen d'accéder au même service sans avoir à voir l'image ?

Critère officiel 1.5 — Pour chaque image utilisée comme CAPTCHA, une solution d’accès alternatif au contenu ou à la fonction du CAPTCHA est-elle présente ?

Pourquoi c'est important

Sans solution alternative, une personne aveugle est définitivement bloquée face à un test visuel. Elle ne peut pas accéder au service, même si elle est habituée à utiliser le web avec son logiciel de lecture.

Exemples concrets

Ce qui est conforme

Le formulaire de réservation de salle affiche un test visuel ET un bouton « Écouter le test audio » pour les personnes qui ne peuvent pas voir les images. Les deux mènent au même résultat.

Ce qui pose problème

Le formulaire de demande d'acte d'état civil n'utilise qu'un test visuel sans aucune alternative. Les personnes aveugles ou malvoyantes ne peuvent pas effectuer leur démarche en ligne.

Comment agir

La voie la plus directe est de supprimer le CAPTCHA visuel — pas de le corriger. Demandez à votre prestataire de le remplacer par un piège invisible pour les robots (honeypot) ou une question textuelle simple. Ces solutions protègent aussi bien contre le spam, sans bloquer aucun utilisateur.

Règles clés

  • Proposer au minimum deux formes de CAPTCHA (visuel + audio).
  • L'alternative doit être accessible au clavier et aux AT.
  • Recommandation forte : éliminer les CAPTCHA au profit de honeypot ou reCAPTCHA v3 invisible.

Erreurs fréquentes

  • CAPTCHA uniquement visuel, sans alternative audio ni autre option
  • Alternative audio présente mais non accessible au clavier
  • reCAPTCHA v2 sans alternative pour les utilisateurs qui échouent la vérification visuelle

Exemples de code

CAPTCHA sans alternative

✗ Non conforme
<img src="captcha.png" alt="Code de sécurité">
<input type="text" name="captcha"
  aria-label="Recopiez le code">

Aucune alternative pour les utilisateurs qui ne peuvent pas lire l'image. Accès bloqué.

Honeypot — solution sans CAPTCHA recommandée

✓ Conforme
<!-- Champ honeypot masqué : rempli par les bots,
     ignoré par les humains -->
<input type="text" name="website"
  tabindex="-1"
  aria-hidden="true"
  autocomplete="off"
  style="display:none">

Le honeypot est invisible pour les humains (display:none + tabindex=-1) mais visible pour les bots. Aucune friction pour l'utilisateur — accessible par définition.

Référence WCAG : 1.1.1

La lettre de l'Atelier A11Y

Ressources pédagogiques, critères RGAA commentés et retours de terrain : une lettre mensuelle pour progresser sur l'accessibilité numérique, sans jargon.

  • Nouveaux articles et ressources pédagogiques
  • Critères RGAA décortiqués avec des exemples concrets
  • Bonnes pratiques et retours d'expérience terrain
S'abonner à la newsletter (s'ouvre dans un nouvel onglet)

Gratuit. Désabonnement possible à tout moment.