Le test de Turing public entièrement automatisé pour distinguer les ordinateurs des humains (CAPTCHA) est devenu ancré dans la navigation sur Internet depuis que les ordinateurs personnels ont pris de l'ampleur sur le marché de l'électronique grand public. Depuis que les gens se connectent à Internet, les développeurs Web cherchent des moyens de bloquer les robots spammeurs. Le service CAPTCHA fait la distinction entre l'activité humaine et celle des robots pour empêcher les robots d'entrer. Malheureusement, ses méthodes sont loin d’être précises. En essayant de protéger les humains, les développeurs ont rendu une grande partie du Web inaccessible aux personnes handicapées.
Les méthodes d'authentification, telles que CAPTCHA, utilisent généralement la classification d'images, des puzzles, des échantillons audio ou des tests par clic pour déterminer si l'utilisateur est humain. Même si les types de défis sont bien documentés, leur logique n’est pas connue du public. Les gens ne peuvent que deviner ce qu’il faut pour « prouver » qu’ils sont humains.
Qu’est-ce que le CAPTCHA ? Un CAPTCHA est un test de Turing inversé qui prend la forme d'un test défi-réponse. Par exemple, s'il demande aux utilisateurs de « sélectionner toutes les images avec des escaliers », ils doivent sélectionner les escaliers parmi les balustrades, les allées et les passages pour piétons. Alternativement, il peut leur être demandé de saisir le texte qu’ils voient, d’additionner la somme des faces des dés ou de compléter un puzzle coulissant. Les CAPTCHA basés sur des images sont responsables des expériences partagées les plus frustrantes des internautes : décider de sélectionner ou non un carré alors qu'il ne contient qu'un petit fragment de l'objet en question.
Quelle que soit la méthode utilisée, un ordinateur ou un algorithme détermine en fin de compte si le candidat est un humain ou une machine. Ce service d'authentification a donné naissance à de nombreuses ramifications, notamment reCAPTCHA et hCAPTCHA. Cela a même conduit à la création d’entreprises entières, comme GeeTest et Arkose Labs. Le système automatisé reCAPTCHA appartenant à Google oblige les utilisateurs à cocher une case intitulée « Je ne suis pas un robot » pour l'authentification. Il exécute une analyse adaptative en arrière-plan pour attribuer un score de risque. hCAPTCHA est une alternative basée sur la classification d'images. D'autres méthodes d'authentification incluent l'authentification multifacteur (MFA), les codes QR, les numéros d'identification personnels (PIN) temporaires et la biométrie. Ils ne suivent pas la formule défi-réponse, mais visent des objectifs fondamentalement similaires. Ces ramifications sont censées être meilleures que l’original, mais elles ne répondent souvent pas aux normes d’accessibilité modernes. Prenez hCaptcha, par exemple, qui utilise un cookie pour vous permettre de contourner complètement le test défi-réponse. C’est une excellente idée en théorie, mais cela ne fonctionne pas en pratique. Vous êtes censé recevoir un code à usage unique par e-mail que vous envoyez à un numéro spécifique par SMS. Les utilisateurs signalent recevoir des messages d'erreur sans fin, les obligeant à compléter le texte standard CAPTCHA. Ceci n'est disponible que si le site l'a explicitement activé lors de la configuration. S'il n'est pas configuré, vous devez relever un défi d'image qui ne reconnaît pas les lecteurs d'écran. Même lorsque le processus initial fonctionne, l'authentification ultérieure repose sur un cookie tiers intersites, que la plupart des navigateurs bloquent automatiquement. De plus, le code expire après une courte période, vous devez donc refaire tout le processus si cela vous prend trop de temps pour passer à l'étape suivante. Pourquoi les équipes utilisent-elles CAPTCHA et des méthodes d'authentification similaires ? CAPTCHA est courant car il est facile à configurer. Les développeurs peuvent le programmer pour qu'il apparaisse et il effectue le test automatiquement. De cette façon, ils peuvent se concentrer sur des questions plus importantes tout en évitant le spam, la fraude et les abus. Ces outils sont censés permettre aux humains d’utiliser Internet plus facilement et en toute sécurité, mais ils empêchent souvent de vraies personnes de se connecter. Ces tests se traduisent globalement par une mauvaise expérience utilisateur. Une étude a révélé que les utilisateurs ont perdu plus de 819 millions d’heures sur plus de 512 milliards de sessions reCAPTCHA v2 en 2023. Malgré tout, les robots prédominent. Les modèles d'apprentissage automatique peuvent résoudre des CAPTCHA textuels en quelques fractions de seconde avec une précision de plus de 97 %. Une étude de 2024 sur reCAPTCHA v2 de Google – qui est encore largement utilisé malgré le déploiement de reCAPTCHA v3 – a révélé que les robots peuvent résoudre le CAPTCHA de classification d’images avec une précision allant jusqu’à 100 %, en fonction de l’objet qu’ils sont chargés d’identifier. Les chercheurs ont utilisé un modèle gratuit et open source, ce qui signifie que les mauvais acteurs pourraient facilement reproduire leur travail. Pourquoi les développeurs Web devraient-ils arrêter d’utiliser CAPTCHA ? Les méthodes d'authentification comme CAPTCHA ont un problème d'accessibilité. Les progrès de l’apprentissage automatique ont contraint ces services à devenir de plus en plus complexes. Pour autant, ils ne sont pas infaillibles. Les robots obtiennentc'est vrai plus que les gens. La recherche montre qu'ils peuvent compléter reCAPTCHA en 17,5 secondes, atteignant une précision de 85 %. Les humains mettent plus de temps et sont moins précis. De nombreuses personnes échouent aux tests CAPTCHA et n’ont aucune idée de ce qu’elles ont fait de mal. Par exemple, une invite demandant aux utilisateurs de « sélectionner tous les carrés avec des feux de circulation » semble assez simple, mais cela devient compliqué si un morceau de poteau se trouve dans un autre carré. Devraient-ils cocher cette case, ou est-ce ce que ferait un algorithme ? Même si les capacités des robots se sont considérablement développées, les humains sont restés les mêmes. À mesure que les tests deviennent de plus en plus difficiles, ils se sentent moins enclins à les tenter. Une enquête montre que près de 59 % des personnes arrêteront d’utiliser un produit après plusieurs mauvaises expériences. Si l’authentification est trop lourde ou complexe, ils pourraient cesser complètement d’utiliser le site Web. Les gens peuvent échouer à ces tests pour diverses raisons, notamment techniques. S'ils bloquent les cookies tiers, exécutent un proxy local ou n'ont pas mis à jour leur navigateur depuis un certain temps, ils peuvent continuer à échouer, quel que soit le nombre de tentatives. Problèmes d'authentification avec CAPTCHA Pour les raisons mentionnées ci-dessus, la plupart des types de CAPTCHA sont intrinsèquement inaccessibles. Cela est particulièrement vrai pour les personnes handicapées, car ces tests défi-réponse n’ont pas été conçus en tenant compte de leurs besoins. Certains des problèmes courants sont les suivants : Problèmes liés à l'utilisation des visuels et des lecteurs d'écran Les lecteurs d'écran ne peuvent pas lire les CAPTCHA visuels standard, tels que le test de texte déformé, car les mots confus et déformés ne sont pas lisibles par une machine. Les méthodes de classification d’images et de puzzle coulissant sont également inaccessibles. Dans une enquête WebAIM menée de 2023 à 2024, les utilisateurs de lecteurs d'écran ont convenu que le CAPTCHA était l'élément le plus problématique, le classant au-dessus des liens ambigus, des changements d'écran inattendus, du texte alternatif manquant, de la recherche inaccessible et du manque d'accessibilité au clavier. Sa place au sommet est restée pratiquement inchangée depuis plus d’une décennie, illustrant son histoire d’inaccessibilité. Problèmes liés à l'audition et au traitement audio Les CAPTCHA audio sont relativement rares car les meilleures pratiques de développement Web déconseillent la lecture automatique de l'audio et soulignent l'importance des contrôles utilisateur. Cependant, les CAPTCHA audio existent toujours. Les personnes malentendantes ou sourdes peuvent rencontrer un obstacle lorsqu’elles tentent ces tests. Même avec une technologie d’assistance, la distorsion audio intentionnelle et le bruit de fond rendent ces échantillons difficiles à comprendre pour les personnes souffrant de troubles du traitement auditif. Problèmes liés à la motricité et à la dextérité Les tests nécessitant des compétences motrices et de dextérité peuvent être difficiles pour les personnes souffrant de déficiences motrices ou physiques. Par exemple, une personne souffrant de tremblements de la main peut trouver les puzzles coulissants difficiles. En outre, les tests de classification d'images qui chargent davantage d'images jusqu'à ce qu'il n'en reste plus aucune correspondant aux critères peuvent poser un défi. Problèmes liés à la cognition et au langage Alors que les CAPTCHA deviennent de plus en plus complexes, certains développeurs se tournent vers des tests qui nécessitent une combinaison de pensée créative et critique. Ceux qui obligent les utilisateurs à résoudre un problème mathématique ou à compléter un puzzle peuvent être difficiles pour les personnes souffrant de dyslexie, de dyscalculie, de troubles du traitement visuel ou de déficiences cognitives. Pourquoi la technologie d’assistance ne comblera pas le fossé Les CAPTCHA sont intentionnellement conçus pour que les humains puissent les interpréter et les résoudre, de sorte que les technologies d'assistance telles que les lecteurs d'écran et les commandes mains libres peuvent être d'une grande utilité. ReCAPTCHA pose particulièrement problème car il analyse l'activité en arrière-plan. S'il marque les appareils d'accessibilité comme des robots, il diffusera un CAPTCHA potentiellement inaccessible. Même si cette technologie pouvait combler le fossé, les développeurs Web ne devraient pas s’y attendre. Les normes de l’industrie leur imposent de suivre des principes de conception universelle pour rendre leurs sites Web aussi accessibles et fonctionnels que possible. Les problèmes d’accessibilité du CAPTCHA pourraient être pardonnés s’il s’agissait d’un outil de sécurité efficace, mais il est loin d’être infaillible puisque les robots réussissent mieux que les humains. Pourquoi continuer à utiliser une méthode inefficace et créant des barrières pour les personnes handicapées ? Il existe de meilleures alternatives. Principes pour une authentification accessible L’idée selon laquelle les humains devraient systématiquement surpasser les algorithmes est dépassée. De meilleures méthodes d'authentification existent, telles que l'authentification multifacteur (MFA). Le marché de l’authentification à deux facteurs représentera environ 26,7 milliards de dollars d’ici 2027, ce qui souligne sa popularité. Cet outilest plus efficace qu'un CAPTCHA car il empêche tout accès non autorisé, même avec des informations d'identification légitimes.
Assurez-vous que votre technique MFA est accessible. Au lieu de demander aux visiteurs du site Web de transcrire des codes complexes, vous devez envoyer des notifications push ou des messages SMS. Fiez-vous à la saisie automatique du code de vérification pour capturer et saisir automatiquement le code. Vous pouvez également introduire une fonctionnalité « Mémoriser cet appareil » pour ignorer l'authentification sur les appareils de confiance. L’approche d’authentification à deux facteurs d’Apple est conçue de cette façon. Un appareil de confiance affiche automatiquement un code de vérification à six chiffres, il n'a donc pas besoin de le rechercher. Lorsque vous y êtes invité, les utilisateurs d'iPhone peuvent appuyer sur la suggestion qui apparaît au-dessus de leur clavier mobile pour le remplissage automatique.
L’authentification unique est une autre option. Ce service d'authentification de session et d'utilisateur permet aux utilisateurs de se connecter à plusieurs sites Web ou applications avec un seul ensemble d'informations de connexion, minimisant ainsi le besoin de vérification d'identité répétée. Les « liens magiques » à usage unique sont une excellente alternative au reCAPTCHA et aux codes PIN temporaires. Plutôt que de mémoriser un code ou de résoudre une énigme, l’utilisateur clique sur un bouton. Évitez d'imposer des délais car, selon le critère de réussite 2.2.3 des WCAG, les utilisateurs ne devraient pas être confrontés à des limites de temps, car les personnes handicapées peuvent avoir besoin de plus de temps pour effectuer des actions spécifiques. Vous pouvez également utiliser Cloudflare Turnstile. Il s'authentifie sans afficher de CAPTCHA, et la plupart des gens n'ont même jamais besoin de cocher une case ou d'appuyer sur un bouton. Le logiciel fonctionne en lançant un petit défi JavaScript en coulisse pour différencier automatiquement les robots des humains. Cloudflare Turnstile peut être intégré à n'importe quel site Web, ce qui en fait une excellente alternative aux tâches de classification standard. Test et évaluation de conceptions d'authentification accessibles Tester et évaluer vos méthodes d’authentification alternatives accessibles est essentiel. De nombreux modèles semblent bons sur le papier mais ne fonctionnent pas dans la pratique. Si possible, recueillez les commentaires des utilisateurs réels. Une version bêta ouverte peut être un moyen efficace de maximiser la visibilité. N'oubliez pas que les considérations générales en matière d'accessibilité ne s'appliquent pas uniquement aux personnes handicapées. Ils incluent également ceux qui sont neurodivergents, n’ont pas accès à un appareil mobile ou utilisent une technologie d’assistance. Assurez-vous que vos conceptions alternatives prennent en compte ces personnes.
En réalité, vous ne pouvez pas créer un système parfait puisque chacun est unique. De nombreuses personnes ont du mal à suivre des processus en plusieurs étapes, à résoudre des équations, à traiter des instructions complexes ou à mémoriser des codes d'accès. Même si les principes universels de conception Web peuvent améliorer la flexibilité, aucune solution unique ne peut répondre aux besoins de chacun. Quelle que soit la technique d’authentification que vous utilisez, vous devez proposer dès le départ aux utilisateurs plusieurs options d’authentification. Ce sont eux qui connaissent le mieux leurs capacités, alors laissez-les décider quoi utiliser au lieu d'essayer de sur-concevoir une solution qui fonctionne pour chaque cas limite. Résoudre le problème d'accessibilité avec des modifications de conception Une personne souffrant de tremblements des mains peut être incapable de terminer un puzzle coulissant, tandis qu'une personne souffrant d'un trouble du traitement audio peut avoir des problèmes avec les échantillons audio déformés. Cependant, vous ne pouvez pas simplement remplacer les CAPTCHA par des alternatives car ils sont souvent tout aussi inaccessibles. Les codes QR, par exemple, peuvent être difficiles à scanner pour les personnes dont le contrôle moteur fin est réduit. Les personnes malvoyantes peuvent avoir du mal à le trouver sur l’écran. De même, la biométrie peut poser un problème pour les personnes présentant des déformations faciales ou une amplitude de mouvement limitée. Résoudre le problème de l’accessibilité nécessite une réflexion créative. Vous pouvez commencer par consulter les didacticiels d’accessibilité de la Web Accessibility Initiative destinés aux développeurs afin de mieux comprendre la conception universelle. Bien que ces didacticiels se concentrent davantage sur le contenu que sur l’authentification, vous pouvez toujours les utiliser à votre avantage. Le projet de note du groupe W3C sur l'inaccessibilité du CAPTCHA fournit des conseils plus pertinents. Commencer est aussi simple que rechercher les meilleures pratiques. Comprendre les bases est essentiel car il n’existe pas de solution universelle pour une conception Web accessible. Si vous souhaitez optimiser l'accessibilité, envisagez de solliciter les commentaires des personnes qui visitent réellement votre site Web. Lectures complémentaires
« Le CAPTCHA : perspectives et défis », Darko Brodić et Alessia Amelio « Concevoir du texte accessible sur des images : meilleures pratiques, techniques et ressources », Hannah Milan "À la recherche du meilleur CAPTCHA", David Bushell « Modèle de notation proposé par WCAG 3.0 : un changementen évaluation de l'accessibilité », Mikhaïl Prosmitskiy