Как сделать защищенные регистрации доступными
для незрячих и слабовидящих пользователей
Авторы: ©
Анатолий Камынин и Владимир Довыденков
, 2005.
Знакомство с проблемой
Понятием «защищенная регистрация» в данной статье названы средства ограничения доступа к сайтам и представленным на них сервисам, которые применяются с целью пресечь злоупотребления этими сервисами (например, с целью не допустить регистрации роботами или не допустить отправки sms сообщений специальными программами). Общий принцип построения таких защищенных регистраций - это графический вариант теста Тьюринга, то есть размещение на странице вместе с формой для регистрации еще и графического изображения, содержащего случайную последовательность символов. Эту последовательность необходимо ввести как регистрационный ключ (или код доступа к сервису).
Подобная защита серьезным образом ограничивает доступ не только роботам-регистраторам, но и пользователям с ослабленным или отсутствующим зрением.
Настоящая статья предлагает варианты решения проблемы доступа незрячих и слабовидящих к сервисам с защищенной регистрацией. Перечисленные ниже варианты не
нарушают и не заменяют общепринятых методов защиты, а призваны дополнить их.
Варианты решения проблемы
Суть любого изложенного ниже технического решения сводится к различным
вариантам альтернативного (без использования графики) представления регистрационного ключа.
Звуковое представление
Наиболее близким к графическому представлению в смысле мультимедийной природы является звуковое представление регистрационного ключа (в виде .wav или .mp3 файла). В этом случае сервер (вместе с графическим отображением ключа или на специальной странице) предлагает
ссылку на звуковой файл, в котором этот ключ озвучен речью.
При создании звуковых представлений следует учитывать, что здесь не требуется высококачественного звучания, а нужна лишь достаточная разборчивость речи и возможность прослушать звуковое представление несколько раз. Исходя из собственного опыта разработки системы регистрации при помощи звуковых регистрационных ключей, можно сказать, что удовлетворительными являются такие параметры звука: частота дискретизации 11025 Гц, разрядность отсчета 8 бит, число каналов 1 (моно).
Возможны различные программные реализации этого способа, например:
-
«Склеивать» звуковой файл из фрагментов, в которых записаны цифры. То есть, число формировать из записей отдельных цифр (пример реализации этого способа см. ниже).
-
Хранить озвученные регистрационные ключи целиком (один ключ - один звуковой файл). Для этого надо создать базу файлов с такими звуковыми ключами, состоящую из нескольких тысяч файлов, из которой случайным образом выбирается очередной звуковой файл.
-
Генерировать звуковой файл с помощью синтезатора речи. Благо технология синтезирования русской речи уже достаточно отработана и доступна под разными платформами.
Вполне возможно, что существуют и другие способы реализации звуковых ключей. В любом случае выбор конкретного решения остается за соответствующими техническими и административными службами сервисов.
Текстовое представление
Одним из самых простых вариантов решения проблемы регистрации может
стать текстовое представление числа, но не в простом виде: «пять семь один ноль один», а с «помехами», в качестве которых могут выступать разнообразные орфографические ошибки в текстовых названиях цифр и случайным образом расставленые буквы, цифры,
знаки препинания и служебные символы.
Например: «пят ссемь %один_нолЬ;;адин».
Приведенный пример не является совершенным, но демонстрирует принцип формирования текстового ключа с помехами. Подобное представление при наличии достаточного числа цифр и помех может быть трудным для компьютерного анализа (например, роботом-регистратором), но оставаться понятным для человека.
Текстовое представление регистрационного ключа может быть помещено в качестве подписи (атрибут alt тега IMG) к графическому изображению ключа., либо отдельной строкой рядом с картинкой.
Развитием идеи текстовых регистрационных ключей могут быть смысловые ключи, состоящие из условной пары «вопрос - ответ». В этом случае необходимо сформировать базу таких вопросов и ответов, из которой в случайном порядке выбирается необходимая пара.
В качестве вопросов могли бы выступать либо весьма простые для человека вопросы, либо начальные части общеизвестных фраз (пословиц, поговорок, крылатых выражений и т.п.), заключительная (восстанавливаемая) часть которых являлась бы регистрационным ключем.
Например: «Любишь кататься - люби и ...». Регистрационный ключ: «саночки возить».
Пример сайта со звуковой регистрацией
Сейчас уже существуют сайты, предлагающие альтернативную звуковую регистрацию для пользователей с нарушениями зрения. В качестве примера приводим описание процесса регистрации на сайте
«Живой журнал».
Для регистрации следует зайти на
страницу регистрации, на которой расположен текст следующего содержания:
«Нам нужно убедиться, что вы не робот. Пожалуйста, наберите буквы и цифры, которые вы видите на картинке. Если вы не можете прочитать текст, наберите слово «AUDIO» и пройдите звуковой тест...»
Следуя рекомендациям, набираем в поле ввода «букв и цифр» с картинки слово «AUDIO» и нажимаем «Создать журнал» (Enter). Появляется новая страница со всеми введёнными ранее данными (все галочки, пароли и т.д.).Эту страницу необходимо пролистать, чтобы опять добраться до того места, где располагается поле для ввода кода. В тексте пояснения к этому полю присутствует ссылка «Воспроизведение звука», нажав на которую пользователь получает возможность скачать на свой компьютер .WAV-файл. В файле голосом человека записаны 7 цифр.
Особенности записи таковы:
- Она недостаточно громкая;
- Цифры прочитываются с эффектом «Эхо».
Тем не менее, запись достаточно отчётливая, так что не приходится напрягаться, пытаясь различить, какая именно цифра имеется в виду.
Еще одним примером реализации звукового ключа может рассматриваться платежная система
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-страницы.
Заключение
Любой из упомянутых в статье вариантов решения проблемы графического
регистрационного ключа обеспечил бы беспрепятственный доступ незрячих и слабовидящих пользователей к любым веб-сервисам интернет-службы. А наличие подобной альтернативной регистрации сведетельствовало бы о высоком уровне предоставляемых службой услуг всем категориям клиентов.
Мы, в свою очередь, готовы к предметному разговору с техническими работниками сервисов для детального обсуждения вариантов альтернативного доступа, их отладки и тестирования.
Ссылки по теме
-
М. Шишминцев «Зачем незрячему SMS?»
-
М. Шишминцев «Интернет нужен не только зрячим»
|