Wellenbrecher

Pourquoi un captcha pose un problème d'accessibilité

Deux affirmations circulent : les WCAG interdiraient les captchas, et une vague de mises en demeure suivrait. Aucune ne tient. Un captcha à images reste malgré tout la réponse la plus faible au problème qu'il prétend résoudre.

Deux phrases reviennent dans presque tous les guides sur le sujet. La première : les WCAG interdisent les captchas. La seconde : une vague de mises en demeure en découle. La première tombe à la lecture du texte des critères, la seconde tombe dès qu'on cherche des cas documentés.

Le problème, c'est qu'un mauvais argument dessert une bonne cause. Un captcha à images devant un formulaire de contact est la réponse la plus faible qui existe au problème qu'il prétend résoudre. Pas besoin d'inventer une interdiction pour le voir.

Ce que les WCAG disent réellement des captchas

Les WCAG 2.2 sont la version en vigueur depuis le 12 décembre 2024 et ont le statut de W3C Recommendation. Les captchas y apparaissent à deux endroits, et ces deux endroits sont confondus en permanence.

1.1.1 demande une alternative, pas une interdiction

Le critère de succès 1.1.1 Non-text Content se situe au niveau A. Pour les captchas, il exige "text alternatives that identify and describe the purpose of the non-text content" et, avec cela, "alternative forms of CAPTCHA using output modes for different types of sensory perception". Autrement dit : une alternative textuelle qui dit à quoi sert l'élément, et au moins une autre forme de captcha passant par un canal sensoriel différent.

Un captcha uniquement visuel, sans alternative, viole 1.1.1. C'est le point applicable sur un formulaire de contact, et c'est le seul. Jusqu'où va l'exception, le W3C le précise lui-même : "WCAG still requires that alternative text identify the graphical object as a CAPTCHA."

3.3.8 vise la connexion, pas votre formulaire de contact

Le critère 3.3.8 Accessible Authentication (Minimum) est nouveau au niveau AA dans les WCAG 2.2. Sa phrase d'ouverture : "A cognitive function test (such as remembering a password or solving a puzzle) is not required for any step in an authentication process unless that step provides at least one of the following." Deux mots décident de la portée, à savoir "authentication process". Un captcha devant un formulaire de contact, de commentaire ou d'inscription à une lettre d'information, sans connexion, n'est pas visé. Là, seul 1.1.1 s'applique.

Et même à l'intérieur d'un parcours de connexion, le document Understanding du W3C sur 3.3.8 dit l'inverse de ce que beaucoup en tirent : "While recognizing objects, or a picture the user has previously provided, are cognitive function tests, these are excepted in this criterion at AA level." Un "sélectionnez toutes les images comportant un feu tricolore" n'échoue donc pas à 3.3.8 au niveau AA. Qui affirme le contraire n'a pas lu le critère.

L'exception n'est pas sans limite : les calculs en sortent dès que le test dépasse la reconnaissance. Et au niveau AAA le verdict s'inverse, car le critère 3.3.9 Accessible Authentication (Enhanced) ne conserve que les exceptions Alternative et Mechanism.

En bref : un captcha à images devant votre formulaire de contact a un problème avec 1.1.1, pas avec 3.3.8. Mélanger les deux critères est l'erreur la plus fréquente dans les articles sur le sujet.

Pourquoi l'alternative audio ne comble pas le trou

La réponse évidente à 1.1.1, c'est le bouton haut-parleur à côté de l'image. Pourquoi il ne suffit pas, le document du W3C "Inaccessibility of CAPTCHA" l'explique : depuis le 16 décembre 2021, c'est une Group Draft Note, donc un projet sans portée normative.

Le son n'a pas d'équivalent de l'image fixe : l'auditeur ne peut pas examiner l'épreuve tranquillement. L'étude citée dans le document a trouvé les captchas audio incompréhensibles pour les quatre personnes testées, toutes dotées d'une bonne audition. La distorsion censée arrêter les machines détruit l'intelligibilité. L'audio exclut en outre les personnes sourdes, et celles qui cumulent perte visuelle et auditive restent totalement à la porte.

S'y ajoute un point normatif : selon le document Understanding de 3.3.8, une alternative audio qui doit être transcrite ne remplit pas l'exception Alternative. Et le canal accessible est en même temps le canal le moins sûr : le document du W3C cite des travaux de l'université du Maryland qui ont résolu le reCAPTCHA audio de Google à environ 90 pour cent avec la reconnaissance vocale de Google elle-même. La WebAIM Screen Reader User Survey #10 (1 539 réponses, décembre 2023 et janvier 2024) place les captchas en tête des éléments les plus problématiques, sans changement depuis 14 ans.

Ce que la législation européenne sur l'accessibilité exige et qui elle vise

Ce qui suit est un éclairage sur l'état du droit au 21 août 2026 et non un conseil juridique. Qui a besoin de certitude pour son cas propre en parle à un avocat.

Le European Accessibility Act, la directive (UE) 2019/882, s'applique dans toute l'Union aux services fournis aux consommateurs à partir du 28 juin 2025. La transposition est nationale et diffère d'un État membre à l'autre : les seuils et les exceptions concrètes sont donc à vérifier dans le texte de votre propre pays. Sert ici d'exemple la loi allemande de transposition, le Barrierefreiheitsstärkungsgesetz (BFSG), parce que sa rédaction montre bien où se situe le point sensible : le § 2 nº 26 BFSG définit les services de commerce électronique comme des services numériques fournis à la demande individuelle d'un consommateur "en vue de la conclusion d'un contrat de consommation". C'est cette dernière partie qui porte le poids. Une boutique en ligne y répond, un site de simple présentation, sans conclusion de contrat, non. La FAQ sur le BFSG de l'agence fédérale allemande pour l'accessibilité l'explique de la même façon.

S'y ajoute le § 3, al. 3 BFSG, qui exempte les microentreprises fournissant des services. Est microentreprise, selon le § 2 nº 17 BFSG, celle qui emploie moins de dix personnes et qui, en plus, ne dépasse ni 2 millions d'euros de chiffre d'affaires annuel ni 2 millions d'euros de total de bilan annuel. L'exemption ne couvre que les services : le § 1, al. 2 BFSG énumère de façon limitative les produits visés, et ce sont des catégories de matériel, si bien qu'un plugin WordPress vendu en téléchargement n'est pas un produit au sens de cette loi. Ce que dit le texte de votre pays sur ce point est une autre question, et elle se règle là-bas.

L'accroche captcha se trouve dans le règlement d'application allemand. Le § 19 nº 2 BFSGV exige que, dans les services de commerce électronique, les fonctions d'identification, d'authentification, de sécurité et de paiement soient perceptibles, utilisables, compréhensibles et robustes. Un captcha est une fonction de sécurité en ce sens, et le § 12 nº 2 lettre g BFSGV ajoute une présentation alternative des contenus non textuels.

La norme que tout le monde cite n'est pas harmonisée au titre de l'EAA

Au 21 août 2026, aucune norme harmonisée pour le European Accessibility Act n'était publiée au Journal officiel de l'Union européenne. L'agence fédérale allemande pour l'accessibilité écrit expressément que les normes prévues par le mandat de normalisation M/587 ne sont pas encore publiées : à cette date, il n'y a donc pas de présomption de conformité, en Allemagne au sens du § 4 BFSG. L'harmonisation si souvent citée de la EN 301 549 V3.2.1 par la décision d'exécution (UE) 2021/1339 concerne la directive web (UE) 2016/2102 visant les organismes du secteur public. Beaucoup de guides confondent les deux, et la contradiction n'est pas levée.

Le BFSGV, de toute façon, ne nomme nulle part la EN 301 549 : son § 3, al. 1 exige l'état de la technique. En passant : la version publiée V3.2.1, de mars 2021, renvoie aux WCAG 2.1, si bien que le critère 3.3.8 n'est pas intégré par la norme.

Ce que les sanctions documentées montrent réellement

À la date de la recherche, le 21 août 2026, aucune amende ni mise en demeure confirmée par un tribunal portant spécifiquement sur un captcha non accessible n'a pu être trouvée en Allemagne. L'autorité compétente là-bas, l'office de surveillance du marché des Länder pour l'accessibilité (MLBF) à Magdebourg, est en service depuis le 26 septembre 2025 et ne publie aucun chiffre de dossiers. La fourchette du § 37, al. 2 BFSG va, pour les exploitants de sites, jusqu'à cent mille euros.

Ce qui est documenté, par des sources de cabinets, c'est que des mises en demeure (Abmahnungen) fondées sur le BFSG circulent depuis l'été 2025 ; est citée la CLAIM Rechtsanwalts GmbH de Düsseldorf, agissant au nom d'un particulier, avec des demandes autour de 595 euros. Rien de tout cela ne vise les captchas, et la question de savoir si les règles du BFSG sont seulement actionnables par cette voie, via le § 3a UWG, la loi allemande contre la concurrence déloyale, n'a pas été tranchée par un tribunal. Cela ne vaut pas blanc-seing : un formulaire par lequel une partie de vos prospects ne parvient pas à passer vous coûte des demandes, autorité ou pas.

Où vont les données quand le captcha vient du nuage

Google LLC et Cloudflare, Inc. sont établies aux États-Unis. La base juridique du transfert est la décision d'adéquation relative au EU-US Data Privacy Framework du 10 juillet 2023. Le Tribunal de l'Union européenne a rejeté le recours en annulation le 3 septembre 2025 (T-553/23, Latombe contre Commission), mais la décision n'est pas définitive : un pourvoi est pendant devant la Cour de justice depuis le 31 octobre 2025 (C-703/25 P). Les deux fournisseurs sont seulement autocertifiés.

Chez Google, quelque chose d'important a changé le 2 avril 2026 : reCAPTCHA fonctionne dans le monde entier en sous-traitance et, selon la documentation de Google, le client est depuis "the sole data controller of Customer Data". Savoir si l'obligation de recueillir le consentement disparaît pour autant reste ouvert, car l'accès à l'équipement terminal est réglé au niveau national et ne dépend pas du rôle occupé au sens du RGPD. En Allemagne, c'est le § 25 TDDDG qui s'en charge. Une seule décision sur reCAPTCHA est à ce jour clairement citable, et elle est autrichienne : le Tribunal administratif fédéral y a jugé le 13 septembre 2024 (W298 2274626-1/8E) que reCAPTCHA sans consentement préalable viole le RGPD.

Cloudflare Turnstile se passe en règle générale d'énigmes visuelles et sonores et se présente dans son propre blog du 29 septembre 2023 comme "WCAG 2.1 Level AA compliant" ; dans le billet sur la refonte du 27 février 2026 s'ajoute l'objectif WCAG 2.2 AAA. Ce sont des déclarations de fournisseur, et aucun rapport d'audit indépendant n'existe pour l'un ou l'autre. Le nœud pratique se situe de toute façon au niveau de la bannière de consentement : si le captcha exige un consentement, celui qui le refuse ne passe pas le formulaire.

Quatre procédés qui ne demandent rien à personne

La finalité d'un captcha est d'écarter les robots. Pour cela, il impose une tâche à chaque visiteur afin d'en trier une petite part. Il existe des procédés qui n'exigent rien de personne : le document du W3C cite les honeypots, les heuristiques et les filtres antispam.

Honeypot : un champ que seules les machines voient

Le formulaire reçoit un champ supplémentaire, invisible pour les humains. Un visiteur ne le remplit jamais, un robot qui remplit aveuglément chaque champ, si. S'il n'est pas vide à l'envoi, l'affaire est réglée. La mise en œuvre compte : un champ seulement déplacé visuellement mais laissé dans l'arbre d'accessibilité est annoncé par le lecteur d'écran, et attrape alors exactement les personnes qu'il ne doit pas attraper. Il doit être marqué avec aria-hidden et sorti de l'ordre de tabulation. La limite : qui vise précisément votre site laissera désormais ce champ vide. Contre les robots de masse habituels, le procédé est fiable.

Piège temporel : combien de temps le remplissage a duré

Le formulaire est servi avec un horodatage signé, et à l'envoi le serveur compare le temps écoulé. Qui remplit un formulaire en moins de deux secondes ne l'a pas lu. Le seuil doit rester bas, car certains visiteurs remplissent par saisie automatique en fractions de seconde. Un robot peut attendre, mais attendre réduit son débit : le procédé rend l'attaque plus chère, pas impossible.

Limitation de débit : combien arrive de la même source

Le serveur compte les envois provenant de la même source dans une fenêtre de temps et refuse au-delà d'un seuil. Cela freine la source unique qui bombarde un formulaire cent fois et ne sert à rien contre des attaques réparties sur de nombreuses adresses. Le seuil ne doit pas être trop serré, car dans les réseaux d'entreprise et sur les réseaux mobiles beaucoup de personnes partagent une même adresse.

Évaluation du contenu : ce que dit le message

La quatrième voie regarde le texte. Une classification bayésienne évalue le message à partir d'exemples préalablement marqués comme indésirables ou souhaités, et tourne entièrement sur votre propre serveur. Elle attrape aussi la publicité envoyée à la main par un humain, et elle a un taux d'erreur. Ce qui distingue une analyse locale d'un filtre dans le nuage est traité dans l'article sur l'alternative à Akismet.

ProcédéEffort pour l'utilisateurAccessibilitéOù vont les donnéesContre les robots de masseContre les attaques ciblées
Captcha à imagesRésoudre une tâche, 32 secondes en moyenne selon le document du W3CViole les WCAG 1.1.1 sans alternative pour un autre canal sensorielVers le fournisseur, en règle générale aux États-UnisFonctionne tant que la tâche n'est pas résoluble automatiquementCanal audio résolu à environ 90 pour cent dans l'étude citée
Captcha invisible venu du nuageEn général aucunDéclaration du fournisseur WCAG 2.1 AA, sans audit indépendantVers le fournisseur aux États-Unis, question du consentement ouverteFonctionneNon vérifiable, la détection n'est pas publiée
Honeypot plus piège temporelAucunSans effet visible si le champ est sorti de l'arbre d'accessibilitéNulle part, tout reste sur votre propre serveurFonctionne contre les robots qui remplissent aveuglément chaque formulaireContourné par un robot taillé pour votre site
Analyse locale du contenuAucunSans effet visible, le visiteur ne remarque rienNulle part, tout reste sur votre propre serveurFonctionne, y compris sur la publicité envoyée à la mainDépend du texte, pas de l'expéditeur
En bref : échanger un captcha à images contre un captcha invisible du nuage règle largement le problème d'accessibilité et vous rapporte en échange une question de consentement. Une analyse locale n'a ni l'un ni l'autre.

Ce qui se passe quand le filtre se trompe

Tout procédé qui trie automatiquement trie un jour de travers, dans le nuage comme en local. La question n'est donc pas de savoir si une vraie demande sera touchée, mais ce qu'il advient d'elle ensuite. Si elle est écartée en silence, personne ne s'en aperçoit : le prospect attend une réponse, l'exploitant voit une boîte tranquille. Une protection antispam sans dépôt consultable est une perte silencieuse de demandes.

Cela devient utilisable avec trois choses : les messages écartés figurent dans une liste consultable, chacun indique quel contrôle s'est déclenché, et un button les libère après coup en renvoyant ce résultat dans l'évaluation. Si vous refaites de toute façon votre formulaire, le volet des champs est traité dans l'article sur les alternatives à Contact Form 7.

Une protection antispam qui ne demande rien à personne

Wellenbrecher vérifie honeypot, piège temporel, limitation de débit et texte du message directement sur votre installation. Pas de service dans le nuage, pas de quota de vérifications, pas de captcha devant le formulaire.

Découvrir Wellenbrecher

Wellenbrecher figure dans le répertoire WordPress depuis le 21 août 2026 et son niveau Free s'utilise gratuitement, y compris en usage commercial. Pro coûte 19 euros par an pour un site et ajoute la preuve de travail, la protection du tunnel de commande WooCommerce, GeoIP et ASN, la comparaison avec AbuseIPDB ainsi qu'un second avis par IA avec votre propre clé. La licence flotte pour dix sites coûte 69 euros. Prix hors taxes, au 21 août 2026, vue d'ensemble sur la page des tarifs.

Questions fréquentes

Les WCAG interdisent-elles les captchas ?

Non. Le critère de succès 1.1.1 Non-text Content, au niveau A, exige pour un captcha une alternative textuelle décrivant la fonction de l'élément et, en plus, une autre forme de captcha passant par un canal sensoriel différent. Un captcha à images sans aucune alternative y contrevient. Un captcha à images doté d'une alternative utilisable n'y contrevient pas.

Le critère 3.3.8 s'applique-t-il aussi à un formulaire de contact sans connexion ?

Non. La phrase d'ouverture de 3.3.8 vise les étapes d'un processus d'authentification. Un captcha devant un formulaire de contact, de commentaire ou d'inscription à une lettre d'information, sans connexion, n'est pas visé, et seul 1.1.1 s'y applique. Dans un parcours de connexion, les captchas à images fondés sur la simple reconnaissance d'objets sont expressément exclus au niveau AA selon le document Understanding du W3C, alors qu'au niveau AAA, dans le critère 3.3.9, ils ne le sont pas.

Une alternative audio à côté du captcha à images suffit-elle ?

Le document du W3C sur l'inaccessibilité des captchas répond que non. Le son ne s'examine pas tranquillement comme une image fixe, la distorsion ajoutée pour arrêter les machines détruit l'intelligibilité, et les personnes sourdes et sourdaveugles restent totalement à la porte. Le document Understanding de 3.3.8 retient en outre qu'une alternative audio devant être transcrite ne remplit pas l'exception Alternative.

Existe-t-il des amendes ou des mises en demeure pour captchas inaccessibles ?

À la date de la recherche, le 21 août 2026, aucune amende ni mise en demeure confirmée par un tribunal portant spécifiquement sur un captcha non accessible n'a pu être trouvée en Allemagne. Ce qui est documenté, ce sont des mises en demeure générales fondées sur le BFSG depuis l'été 2025, avec des demandes autour de 595 euros et sans lien avec les captchas. La question de savoir si ces règles sont seulement actionnables par la voie du § 3a UWG n'a pas été tranchée par un tribunal. Cela ne vaut pas blanc-seing.

Qu'est-ce qui protège un formulaire quand aucun captcha ne le précède ?

Quatre procédés qui ne demandent rien au visiteur : un champ honeypot que seules les machines remplissent, un piège temporel qui repère les envois trop rapides, une limitation de débit contre les envois en série depuis la même source et une évaluation du contenu du texte. Contre les robots de masse habituels, cette combinaison fonctionne. Une attaque taillée pour votre site contourne le honeypot et le piège temporel.

Retour au blog Un article de hafenstudios