Чтобы понять, какие изменения необходимо внести, чтобы сделать сайт более доступным, обратите внимание на следующие критерии:
Ясность: Содержание любого сайта должно быть ясным и легким для понимания. Информация должна быть там, где пользователь ожидает ее увидеть.
Совместимость с веб обозревателями: Существует масса различных веб обозревателей. От текстового Lynx на консоли Linux и обозревателей для мобильных телефонов и КПК до веб обозревателей под OSX, Unix, Windows или OS2. Все они предполагают работу с определенным разрешением, отображают или не отображают графику, могут или не могут выполнять JavaScript, могут или не могут проигрывать Flash ролики и т.д. Не забывайте также про программы для распознавания символов и, например, клавиатуры с азбукой Брайля для слепых. Такие программы тоже являются обозревателями!
Корректный исходный код и логически структурированная архитектура страницы:Навигация, разметка и контент – это важные аспекты построения веб страницы. Они должны быть логично построены и семантически правильны. Стандартом в этом является XHTML. Ваш исходный код не должен содержат ошибок!
Контраст: Дизайн сайта должен быть в достаточной мере контрастным, чтобы удовлетворять требованиям людей с дефектами зрения.
Графика и изображения: Большинство устройств вывода для инвалидов не могут отображать графику. Поэтому альтернативный способ подачи информации без использования графических элементов должен быть предусмотрен.
Размеры шрифтов: Шрифты должны быть читаемы и на старых или альтернативных системах.
Основные требования к доступности изложены по адресу http://www.section508.gov.
Реальность
Вначале реальность несколько пугает. Сложно найти сайт, полностью отвечающий всем требованиям доступности. Однако, как уже говорилось, нет пределов совершенству. Повсеместное использование CMS систем и формулировка четких критериев доступности также способствует распространению «правильно» оформленных сайтов.
Компании, торгующие через Интернет, тоже начинают понимать, что сайты, доступные более широкому кругу пользователей, способны принести больший доход.
В реальной жизни приходится иметь дело с различными группами пользователей, различными типами пользовательских терминалов и требованиями. Поэтому, ваш веб сайт всегда будет компромиссным. Не ставьте перед собой сразу заоблачные требования.
Начинайте с простого.
Соответствует ли Joomla! требованиям доступности
Если кратко: нет.
Однако, в Joomla! версии 1.5.0 уже заложен фундамент, который в следующих версиях разовьется в полноценную поддержку всех аспектов, необходимых для создания доступного сайта.
Можно ли привести Joomla! в соответствие с требованиями доступности?
Если кратко: да!
Технология
Joomla! до версии 1.5.0 все еще использует разметку в виде XHTML таблиц. Однако, при построении сайта со «свободной» конфигурацией элементов использование тегов таблиц недопустимо. Таким образом, программный код Joomla!, отвечающий за вывод информации необходимо изменить. Сделать это можно с помощью системы видов, описанной в подразделе Изменение отображения HTML без изменения базовых файлов.
Если вы сможете создать интуитивно понятную структуру с корректным XHTML кодом, масштабируемыми шрифтами, правильными комбинациями цветов и достаточной контрастностью, уровень доступности вашего сайта будет выглядеть вполне достаточным.
Проверить функциональность сайта можно с помощью массы различных инструментов. В поисках подходящего инструмента рекомендуем посетить сайт Яна Эрика Хеллбуша (Jan Eric Hellbusch).
Люди
Теперь перейдем к людям, которые наполняют сайт содержимым – редакторам. В первую очередь необходимо пробудить в них чувство ответственности.
Вот пример корректного и семантически правильного оформления текста:
<h1>заголовок первого уровня</h1>
<p>первый параграф</p>
<p>второй параграф</p>
Несмотря на всю простоту данного кода, зачастую, очень сложно вбить его в голову людям, которые пишут тексты. Можно заставить заголовок выглядеть заголовком путем изменения скриптовых атрибутов. Следующая команда отображает текст, выглядящий как заголовок, но при этом не являющийся им.
<span class='heading'>заголовок первого уровня</span>
Корректная же версия команды будет выглядеть так:
<h1 class='heading'>заголовок первого уровня</h1>