Полностью автоматизированный общедоступный тест Тьюринга для различения компьютеров и людей (CAPTCHA) прочно укоренился в Интернете с тех пор, как персональные компьютеры получили распространение на рынке бытовой электроники. Почти с тех пор, как люди выходят в Интернет, веб-разработчики искали способы блокировать спам-ботов. Служба CAPTCHA различает действия человека и ботов, чтобы не допустить ботов. К сожалению, его методы менее точны. Пытаясь защитить людей, разработчики сделали большую часть Интернета недоступной для людей с ограниченными возможностями.
Методы аутентификации, такие как CAPTCHA, обычно используют классификацию изображений, головоломки, образцы аудио или тесты на основе кликов, чтобы определить, является ли пользователь человеком. Хотя типы проблем хорошо документированы, их логика не является общеизвестной. Люди могут только догадываться, что нужно, чтобы «доказать», что они люди.
Что такое КАПЧА? CAPTCHA — это обратный тест Тьюринга, который имеет форму теста «запрос-ответ». Например, если пользователю предлагается «выбрать все изображения с лестницей», им придется выбрать лестницу из перил, подъездных дорожек и пешеходных переходов. Альтернативно, их могут попросить ввести текст, который они видят, сложить сумму граней игральных костей или решить раздвижную головоломку. CAPTCHA на основе изображений ответственны за самые неприятные впечатления пользователей Интернета — решение, выбирать ли квадрат, когда в нем находится лишь небольшая часть рассматриваемого объекта.
Независимо от метода, компьютер или алгоритм в конечном итоге определяет, является ли тестируемый человеком или машиной. Эта служба аутентификации породила множество ответвлений, включая reCAPTCHA и hCAPTCHA. Это даже привело к созданию целых компаний, таких как GeeTest и Arkose Labs. Автоматизированная система reCAPTCHA, принадлежащая Google, требует от пользователей установить флажок «Я не робот» для аутентификации. Он запускает адаптивный анализ в фоновом режиме для присвоения оценки риска. hCAPTCHA — это альтернатива, основанная на классификации изображений. Другие методы аутентификации включают многофакторную аутентификацию (MFA), QR-коды, временные персональные идентификационные номера (ПИН-коды) и биометрию. Они не следуют формуле «вызов-ответ», но служат принципиально схожим целям. Эти ответвления должны быть лучше оригинала, но они часто не соответствуют современным стандартам доступности. Возьмем, к примеру, hCaptcha, который использует файлы cookie, позволяющие полностью обойти тест «запрос-ответ». Это отличная идея в теории, но она не работает на практике. Вы должны получить одноразовый код по электронной почте, который вы отправите на определенный номер по SMS. Пользователи сообщают о получении бесконечных сообщений об ошибках, вынуждающих их проходить стандартную текстовую CAPTCHA. Это доступно только в том случае, если сайт явно включил это во время настройки. Если он не настроен, вам необходимо выполнить задание по изображению, которое не распознает программы чтения с экрана. Даже если первоначальный процесс работает, последующая аутентификация опирается на сторонние межсайтовые файлы cookie, которые большинство браузеров автоматически блокируют. Кроме того, срок действия кода истекает через короткий период времени, поэтому вам придется повторить весь процесс, если переход к следующему шагу займет у вас слишком много времени. Почему команды используют CAPTCHA и подобные методы аутентификации? CAPTCHA распространена, потому что ее легко настроить. Разработчики могут запрограммировать его появление, и он проведет проверку автоматически. Таким образом, они смогут сосредоточиться на более важных вопросах, одновременно предотвращая спам, мошенничество и злоупотребления. Предполагается, что эти инструменты облегчат людям безопасное использование Интернета, но они часто не позволяют реальным людям войти в систему. Эти тесты в целом приводят к ухудшению пользовательского опыта. Одно исследование показало, что по состоянию на 2023 год пользователи потратили более 819 миллионов часов на более чем 512 миллиардов сеансов reCAPTCHA v2. Несмотря на все это, боты преобладают. Модели машинного обучения могут решать текстовую капчу за доли секунды с точностью более 97%. Исследование Google reCAPTCHA v2, проведенное в 2024 году, которое до сих пор широко используется, несмотря на внедрение reCAPTCHA v3, показало, что боты могут решать CAPTCHA для классификации изображений с точностью до 100%, в зависимости от объекта, который им предстоит идентифицировать. Исследователи использовали бесплатную модель с открытым исходным кодом, а это означает, что злоумышленники могут легко повторить их работу. Почему веб-разработчикам следует прекратить использовать CAPTCHA? Методы аутентификации, такие как CAPTCHA, имеют проблемы с доступностью. Развитие машинного обучения привело к усложнению этих услуг. Тем не менее, они не являются надежными. Боты получаютэто правильно больше, чем люди. Исследования показывают, что они могут выполнить reCAPTCHA за 17,5 секунд, достигнув точности 85%. Людям требуется больше времени и они менее точны. Многие люди не проходят проверку CAPTCHA и понятия не имеют, что они сделали не так. Например, запрос, предлагающий пользователям «выбрать все квадраты со светофорами», кажется достаточно простым, но он усложняется, если кусочек столба находится на другом квадрате. Должны ли они выбрать это поле, или это то, что сделает алгоритм? Хотя возможности ботов значительно выросли, люди остались прежними. Поскольку тесты становятся все более трудными, они чувствуют себя менее склонными к их выполнению. Одно исследование показывает, что почти 59% людей перестанут использовать продукт после нескольких неудачных опытов. Если аутентификация слишком громоздкая или сложная, они могут полностью прекратить использование веб-сайта. Люди могут не пройти эти тесты по разным причинам, в том числе техническим. Если они блокируют сторонние файлы cookie, используют локальный прокси-сервер или давно не обновляли свой браузер, они могут продолжать терпеть неудачу, независимо от того, сколько раз они пытаются. Проблемы аутентификации с помощью CAPTCHA По причинам, указанным выше, большинство типов CAPTCHA по своей сути недоступны. Это особенно актуально для людей с ограниченными возможностями, поскольку эти тесты «запрос-ответ» не были разработаны с учетом их потребностей. Некоторые из распространенных проблем включают следующее: Проблемы, связанные с визуальными эффектами и использованием программы чтения с экрана Программы чтения с экрана не могут читать стандартные визуальные CAPTCHA, такие как тест на искаженный текст, поскольку беспорядочные, искаженные слова не читаются машиной. Методы классификации изображений и скользящей головоломки также недоступны. В одном опросе WebAIM, проведенном с 2023 по 2024 год, пользователи программ чтения с экрана согласились, что CAPTCHA является наиболее проблематичным элементом, поставив его выше двусмысленных ссылок, неожиданных изменений экрана, отсутствия замещающего текста, недоступного поиска и отсутствия доступности клавиатуры. Его место на вершине оставалось практически неизменным на протяжении более десяти лет, что иллюстрирует историю его недоступности. Проблемы, связанные со слухом и обработкой звука Аудио CAPTCHA встречается относительно редко, поскольку лучшие практики веб-разработки не рекомендуют автозапуск аудио и подчеркивают важность пользовательского контроля. Однако аудиокапчи все еще существуют. Слабослышащие или глухие люди могут столкнуться с препятствиями при прохождении этих тестов. Даже при использовании вспомогательных технологий преднамеренное искажение звука и фоновый шум затрудняют понимание этих образцов для людей с нарушениями слуховой обработки. Проблемы, связанные с моторикой и ловкостью Тесты, требующие двигательных навыков и ловкости, могут оказаться сложными для людей с двигательными нарушениями или физическими недостатками. Например, человеку, у которого тремор рук, раздвижные головоломки могут показаться трудными. Кроме того, тесты классификации изображений, которые загружают больше изображений до тех пор, пока не останется ни одного, соответствующего критериям, могут представлять собой проблему. Проблемы, связанные с познанием и языком Поскольку CAPTCHA становится все более сложной, некоторые разработчики обращаются к тестам, требующим сочетания творческого и критического мышления. Те, которые требуют от пользователей решения математической задачи или решения головоломки, могут быть сложными для людей с дислексией, дискалькулией, нарушениями обработки зрительной информации или когнитивными нарушениями. Почему вспомогательные технологии не устранят этот разрыв CAPTCHA специально созданы для того, чтобы люди могли их интерпретировать и решать, поэтому вспомогательные технологии, такие как программы чтения с экрана и средства управления без помощи рук, могут оказаться малоэффективными. ReCAPTCHA, в частности, представляет собой проблему, поскольку анализирует фоновую активность. Если он пометит устройства доступности как ботов, он будет использовать потенциально недоступную CAPTCHA. Даже если эта технология сможет преодолеть этот разрыв, веб-разработчикам не следует этого ожидать. Отраслевые стандарты требуют, чтобы они следовали универсальным принципам дизайна, чтобы сделать свои веб-сайты максимально доступными и функциональными. Проблемы доступности CAPTCHA можно было бы простить, если бы это был эффективный инструмент безопасности, но он далеко не надежен, поскольку боты понимают его лучше, чем люди. Зачем продолжать использовать метод, который неэффективен и создает барьеры для людей с ограниченными возможностями? Есть лучшие альтернативы. Принципы доступной аутентификации Идея о том, что люди должны постоянно превосходить алгоритмы, устарела. Существуют более эффективные методы аутентификации, такие как многофакторная аутентификация (MFA). К 2027 году рынок двухфакторной аутентификации будет стоить примерно 26,7 миллиарда долларов, что подчеркивает его популярность. Этот инструментболее эффективен, чем CAPTCHA, поскольку предотвращает несанкционированный доступ даже с использованием законных учетных данных.
Убедитесь, что ваша техника MFA доступна. Вместо того, чтобы заставлять посетителей сайта расшифровывать сложные коды, вам следует отправлять push-уведомления или SMS-сообщения. Положитесь на автозаполнение кода подтверждения, чтобы автоматически зафиксировать и ввести код. Альтернативно вы можете добавить функцию «запомнить это устройство», чтобы пропустить аутентификацию на доверенных устройствах. Подход двухфакторной аутентификации Apple устроен таким образом. Доверенное устройство автоматически отображает шестизначный код подтверждения, поэтому ему не придется его искать. При появлении запроса пользователи iPhone могут нажать на предложение, которое появляется над их мобильной клавиатурой, для автозаполнения.
Еще один вариант — единый вход. Эта служба аутентификации сеансов и пользователей позволяет людям входить на несколько веб-сайтов или в приложения с одним набором учетных данных, сводя к минимуму необходимость повторной проверки личности. Одноразовые «волшебные ссылки» — отличная альтернатива reCAPTCHA и временным PIN-кодам. Вместо того, чтобы запоминать код или решать головоломку, пользователь нажимает на кнопку. Избегайте установления сроков, поскольку согласно критерию успеха WCAG 2.2.3 пользователи не должны сталкиваться с ограничениями по времени, поскольку людям с ограниченными возможностями может потребоваться больше времени для выполнения определенных действий. Альтернативно вы можете использовать турникет Cloudflare. Он аутентифицируется без отображения CAPTCHA, и большинству людей даже не нужно ставить галочку или нажимать кнопку. Программное обеспечение работает, за кулисами выполняя небольшую задачу JavaScript, чтобы автоматически различать ботов и людей. Cloudflare Turnstile можно встроить в любой веб-сайт, что делает его отличной альтернативой стандартным задачам классификации. Тестирование и оценка доступных схем аутентификации Очень важно протестировать и оценить доступные альтернативные методы аутентификации. Многие проекты хорошо выглядят на бумаге, но не работают на практике. Если возможно, соберите отзывы реальных пользователей. Открытая бета-версия может быть эффективным способом максимизировать видимость. Помните, что общие соображения доступности применимы не только к людям с ограниченными возможностями. В их число также входят те, кто нейроотличен, не имеет доступа к мобильному устройству или пользуется вспомогательными технологиями. Убедитесь, что ваши альтернативные проекты учитывают этих людей.
На самом деле невозможно создать идеальную систему, поскольку каждый человек уникален. Многим людям сложно следовать многоэтапным процессам, решать уравнения, обрабатывать сложные инструкции или запоминать пароли. Хотя универсальные принципы веб-дизайна могут повысить гибкость, ни одно решение не может удовлетворить потребности каждого. Независимо от используемого вами метода аутентификации, вам следует заранее предоставить пользователям несколько вариантов аутентификации. Они лучше всех знают свои возможности, поэтому позвольте им самим решать, что использовать, вместо того, чтобы пытаться придумать решение, подходящее для каждого крайнего случая. Решите проблему доступности с помощью изменений дизайна Человек с тремором рук может быть не в состоянии решить скользящую головоломку, а у человека с нарушением обработки звука могут возникнуть проблемы с искажением аудиосэмплов. Однако вы не можете просто заменить CAPTCHA альтернативами, поскольку они часто одинаково недоступны. Например, QR-коды могут быть трудными для сканирования людям с ограниченной мелкой моторикой. Людям с нарушениями зрения может быть сложно найти его на экране. Точно так же биометрия может представлять проблему для людей с деформациями лица или ограниченным диапазоном движений. Решение проблемы доступности требует творческого мышления. Вы можете начать с посещения учебных пособий по специальным возможностям Web Accessibility Initiative, которые помогут разработчикам лучше понять универсальный дизайн. Хотя эти руководства больше ориентированы на контент, чем на аутентификацию, вы все равно можете использовать их в своих интересах. Проект заметки группы W3C о недоступности CAPTCHA содержит более актуальные рекомендации. Начать работу так же просто, как изучить лучшие практики. Понимание основ имеет важное значение, поскольку не существует универсального решения для доступного веб-дизайна. Если вы хотите оптимизировать доступность, рассмотрите возможность получения отзывов от людей, которые действительно посещают ваш сайт. Дальнейшее чтение
«CAPTCHA: перспективы и проблемы», Дарко Бродич и Алессия Амелио «Проектирование доступного текста поверх изображений: лучшие практики, методы и ресурсы», Ханна Милан «В поисках лучшей CAPTCHA», Дэвид Бушелл «Предлагаемая скоринговая модель WCAG 3.0: сдвигпо оценке доступности», Михаил Промицкий