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