Как сделать защищенные регистрации доступными
для незрячих и слабовидящих пользователей

Авторы: © Анатолий Камынин и Владимир Довыденков

, 2005.

Знакомство с проблемой

Понятием «защищенная регистрация» в данной статье названы средства ограничения доступа к сайтам и представленным на них сервисам, которые применяются с целью пресечь злоупотребления этими сервисами (например, с целью не допустить регистрации роботами или не допустить отправки sms сообщений специальными программами). Общий принцип построения таких защищенных регистраций - это графический вариант теста Тьюринга, то есть размещение на странице вместе с формой для регистрации еще и графического изображения, содержащего случайную последовательность символов. Эту последовательность необходимо ввести как регистрационный ключ (или код доступа к сервису).

Подобная защита серьезным образом ограничивает доступ не только роботам-регистраторам, но и пользователям с ослабленным или отсутствующим зрением.

Настоящая статья предлагает варианты решения проблемы доступа незрячих и слабовидящих к сервисам с защищенной регистрацией. Перечисленные ниже варианты не нарушают и не заменяют общепринятых методов защиты, а призваны дополнить их.

Варианты решения проблемы

Суть любого изложенного ниже технического решения сводится к различным вариантам альтернативного (без использования графики) представления регистрационного ключа.

Звуковое представление

Наиболее близким к графическому представлению в смысле мультимедийной природы является звуковое представление регистрационного ключа (в виде .wav или .mp3 файла). В этом случае сервер (вместе с графическим отображением ключа или на специальной странице) предлагает ссылку на звуковой файл, в котором этот ключ озвучен речью.

При создании звуковых представлений следует учитывать, что здесь не требуется высококачественного звучания, а нужна лишь достаточная разборчивость речи и возможность прослушать звуковое представление несколько раз. Исходя из собственного опыта разработки системы регистрации при помощи звуковых регистрационных ключей, можно сказать, что удовлетворительными являются такие параметры звука: частота дискретизации 11025 Гц, разрядность отсчета 8 бит, число каналов 1 (моно).

Возможны различные программные реализации этого способа, например:

  1. «Склеивать» звуковой файл из фрагментов, в которых записаны цифры. То есть, число формировать из записей отдельных цифр (пример реализации этого способа см. ниже).
  2. Хранить озвученные регистрационные ключи целиком (один ключ - один звуковой файл). Для этого надо создать базу файлов с такими звуковыми ключами, состоящую из нескольких тысяч файлов, из которой случайным образом выбирается очередной звуковой файл.
  3. Генерировать звуковой файл с помощью синтезатора речи. Благо технология синтезирования русской речи уже достаточно отработана и доступна под разными платформами.

Вполне возможно, что существуют и другие способы реализации звуковых ключей. В любом случае выбор конкретного решения остается за соответствующими техническими и административными службами сервисов.

Текстовое представление

Одним из самых простых вариантов решения проблемы регистрации может стать текстовое представление числа, но не в простом виде: «пять семь один ноль один», а с «помехами», в качестве которых могут выступать разнообразные орфографические ошибки в текстовых названиях цифр и случайным образом расставленые буквы, цифры, знаки препинания и служебные символы.
Например: «пят ссемь %один_нолЬ;;адин».

Приведенный пример не является совершенным, но демонстрирует принцип формирования текстового ключа с помехами. Подобное представление при наличии достаточного числа цифр и помех может быть трудным для компьютерного анализа (например, роботом-регистратором), но оставаться понятным для человека.

Текстовое представление регистрационного ключа может быть помещено в качестве подписи (атрибут alt тега IMG) к графическому изображению ключа., либо отдельной строкой рядом с картинкой.

Развитием идеи текстовых регистрационных ключей могут быть смысловые ключи, состоящие из условной пары «вопрос - ответ». В этом случае необходимо сформировать базу таких вопросов и ответов, из которой в случайном порядке выбирается необходимая пара.

В качестве вопросов могли бы выступать либо весьма простые для человека вопросы, либо начальные части общеизвестных фраз (пословиц, поговорок, крылатых выражений и т.п.), заключительная (восстанавливаемая) часть которых являлась бы регистрационным ключем.

Например: «Любишь кататься - люби и ...». Регистрационный ключ: «саночки возить».

Пример сайта со звуковой регистрацией

Сейчас уже существуют сайты, предлагающие альтернативную звуковую регистрацию для пользователей с нарушениями зрения. В качестве примера приводим описание процесса регистрации на сайте «Живой журнал».

Для регистрации следует зайти на страницу регистрации, на которой расположен текст следующего содержания:

«Нам нужно убедиться, что вы не робот. Пожалуйста, наберите буквы и цифры, которые вы видите на картинке. Если вы не можете прочитать текст, наберите слово «AUDIO» и пройдите звуковой тест...»

Следуя рекомендациям, набираем в поле ввода «букв и цифр» с картинки слово «AUDIO» и нажимаем «Создать журнал» (Enter). Появляется новая страница со всеми введёнными ранее данными (все галочки, пароли и т.д.).Эту страницу необходимо пролистать, чтобы опять добраться до того места, где располагается поле для ввода кода. В тексте пояснения к этому полю присутствует ссылка «Воспроизведение звука», нажав на которую пользователь получает возможность скачать на свой компьютер .WAV-файл. В файле голосом человека записаны 7 цифр.

Особенности записи таковы:

  1. Она недостаточно громкая;
  2. Цифры прочитываются с эффектом «Эхо».
Тем не менее, запись достаточно отчётливая, так что не приходится напрягаться, пытаясь различить, какая именно цифра имеется в виду.

Еще одним примером реализации звукового ключа может рассматриваться платежная система E-gold, на сайте которой под картинкой есть ссылка на звуковой файл. Здесь в звуковое сообщение добавлен шумовой сигнал, чтобы затруднить обработку с помощью систем распознавания речи.

Реализация звуковой регистрации средствами php

Один из способов звуковой регистрации в демонстрационном режиме реализован на нашем сайте. Любой желающий может попробовать пройти такую регистрацию, а также получить необходимые файлы для реализации звуковой регистрации на своем сайте.

В основе алгоритма создания звукового ключа лежит «склеивание» звуковых фрагментов, содержащих отдельные цифры (всего десять фрагментов) и формирование средствами php RIFF-заголовка, для того чтобы формат полученного файла соответствовал wav-файлам. Звуковые фрагменты представляют собой набор PCM-отсчетов (11025 Гц, 8 бит, моно), у которых убран RIFF-заголовок. Кроме звуковых фрагментов в архив добавлен php-скрипт, содержащий функцию, которая создает звуковой файл, соответствующий строке цифр, переданной в качестве параметра.

Разумеется, мы не настаиваем, чтобы web-программисты использовали исключительно предлагаемый код. Более того, мы надеемся, что благодаря высокому профессиональному уровню web-программистов, этот исходный код будет улучшен и избавлен от существующих недостатков.

Получить архив (звуковые фрагменты+скрипт, 16.3 Кб)
Пройти звуковую регистрацию или познакомиться с гостевой книгой, в которой используется звуковой вариант теста Тьюринга.

Некоторые рекомендации для web-дизайнеров

Возможно, для создателей сайтов будет интересно познакомиться с некоторыми принципами работы программ, читающих web-страницы. Основой для таких программ является Document Object Model, доступ к которой предоставляет браузер InternetExplorer. Программа чтения производит анализ структуры страницы и предоставляет для прочтения находящийся на странице текст. Кроме чтения текста, программа осуществляет навигацию по странице: переход от одной ссылки к другой, переход от одного элемента страницы к другому (таблицы, списки, заголовки,формы), ввод информации в форму. Графические изображения программа чтения не распознает и рассказать, что на них изображено она не может. Программа чтения лишь сообщает, что данный элемент является графическим. Однако программа чтения способна получить содержимое атрибутов alt и title, если они присутствуют у данного элемента, и озвучить его.

Если создатели интернет-ресурса по практическим или добродетельным соображениям заинтересованы в том, чтобы обеспечить доступ незрячих и слабовидящих пользователей к информации, представленной на сайте, то им рекомендуется придерживаться следующих правил:

  • Обязательно использовать атрибут alt тега IMG, особенно если графическое изображение одновременно является и ссылкой на другую страницу. При этом желательно в атрибуте alt помещать текст, информативный для посетителя.
  • В формах использовать элемент LABEL для однозначного сопоставления элемента управления и поясняющего текста.
  • В таблицах, формах, объектах и прочих элементах web-страниц не пренебрегать атрибутом title, который тоже может содержать полезную текстовую информацию для посетителя.
  • Использовать заголовки (теги H1...H6) для структурирования информации на web-странице. Поскольку каскадные таблицы стилей позволяют выполнить любое начертание текста в заголовках, то визуально web-дизайнер может придать им любой вид, но для программ, читающих web-страницу, важно само наличие тегов H1...H6.
  • Не перегружать страницу динамическими элементами: анимацией, видео, неожиданно всплывающими меню, появляющимися и исчезающими элементами дизайна.
  • В формах не рекомендуется использовать автоматическую отсылку данных по событию onChange в каком-либо из элементов формы.
  • Рекомендуется использовать атрибут accesskey для доступа к наиболее важным элементам web-страницы.

Заключение

Любой из упомянутых в статье вариантов решения проблемы графического регистрационного ключа обеспечил бы беспрепятственный доступ незрячих и слабовидящих пользователей к любым веб-сервисам интернет-службы. А наличие подобной альтернативной регистрации сведетельствовало бы о высоком уровне предоставляемых службой услуг всем категориям клиентов.

Мы, в свою очередь, готовы к предметному разговору с техническими работниками сервисов для детального обсуждения вариантов альтернативного доступа, их отладки и тестирования.

Ссылки по теме

  1. М. Шишминцев «Зачем незрячему SMS?»
  2. М. Шишминцев «Интернет нужен не только зрячим»


Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2017