|
Определение взаимодействияБольшая часть современной Web активно использует кроме HTML дополнительные технологии. Даже что-то базовое, такое как CSS, можно использовать таким образом, что сделает страницу или взаимодействие значительно менее доступными. Ключевым моментом доступности во взаимодействии является начало с простейших взаимодействий и использование их как строительных блоков более сложных взаимодействий. Отметим, что задача этого примера - заставить вас подумать о роли, которую играют различные объекты на Web -странице. Чтобы обеспечить их доступность, они должны быть семантически содержательны как с позиции использованных элементов HTML, так и использованной визуальной метафоры. Если вы считаете это слишком запутанным, то перечитайте пример несколько раз, и рассмотрите несколько меню и других компонентов Web -страницы, думая при этом не только о том, что используется правильный код HTML, но также о том, что удачное представление компонента имеет смысл с точки зрения его функции. Вы вряд ли будете ожидать, что посетительWeb -страницы для поиска будет использовать текстовое поле помеченное " введите свой адрес e-mail, чтобы подписаться на эту рассылку ", и также не будете ожидать, что зрячий посетитель сможет найти интересующий его контент, если все заголовки будут оформлены также как обычный текст (аналогично, вы не будете ожидать, что слепой пользователь найдет интересующий его контент, если все " заголовки " будут, на самом деле, просто параграфами, которые сделаны крупнее с помощью CSS или элементов font). Хорошим примером этого является широко используемая визуальная метафора вкладок. Метафора вкладки создана на основе архивных папок, индексированных по теме. Это было перенесено на компьютеры, чтобы позволить одной области на экране выводить информацию по различным темам, представленным вкладками, соединенными с этой областью - можно видеть хороший пример использования вкладок на сайте http://dev.opera.com — посмотрите на них вверху страницы. До сих пор все это достаточно просто. Проблема лежит в технологиях, используемых для создания вкладок — они часто реализуются с помощью JavaScript. Как только вкладки начинают использоваться как часть взаимодействия более сложного, чем просто представление пользователям возможности выбирать информацию, исходная метафора будет нарушена, но часто используется все еще такой же код для представления вкладок. В примере ниже HTML показывает, как выглядит элемент управления вкладками, который выводит информацию: <div class="tabcontrol"> <div class="hd"> <ul> <li><a href="#dogs" class="selected">Dogs</a></li> <li><a href="#cats">Cats</a></li> <li><a href="#fish">Fish</a></li> </ul> </div> <div class="bd"> <p id="dogs" class="selected">Some information about dogs. The dogs tab is the default tab.</p> <p id="cats">Some information about cats.</p> <p id="fish">Some information about fish.</p> </div></div>В этом примере будет использоваться класс selected для определения, какая вкладка должна иметь графическое представление "выбранной вкладки". Такая структура прекрасно подходит для информационного контента. В этом примере будет использоваться class со значениемselected для указания, какая вкладка является активной, т.е. вкладкой, которая открыта и показывает свою информацию; другие вкладки будут закрыты (т.е. их параграфы скрыты), пока не будут выполнен щелчок на соответствующих им ссылках. Вкладка dogs является используемой по умолчанию активной вкладкой, как показано на рис. 25.1. Когда будет сделан щелчок на другой ссылке (как показано на рис. 25.2), затем будет использоваться JavaScript для динамического перемещения class="selected" в эту ссылку, и в этом случае стилевое оформление будет применяться для вывода к этой вкладке, а та, которая выводилась раньше, будет скрыта. Вы встретите реальные рабочие примеры такого рода управления в некоторых главах о JavaScript, которые следуют дальше. Вкладки стали также широко использовать, чтобы позволить пользователям выбирать различные виды поиска. В этом случае концепция начинает разрушаться, если вы попытаетесь использовать стиль кода из предыдущего примера: <div class="tabcontrol"> <div class="hd"> <ul> <li><a href="#dogs" class="selected">Dogs</a></li> <li><a href="#cats">Cats</a></li> <li><a href="#fish">Fish</a></li> </ul> </div> <div class="bd"> <form id="dogs" class="selected" action="search.html" method="GET"><div><label for="dogsearch"><input type="text" name="dogsearch" id="dogsearch"><input type="submit" value="Search for Dogs"></div></form> <form id="cats" action="search.html" method="GET"><div><label for="catsearch"><input type="text" name="catsearch" id="catsearch"><input type="submit" value="Search for cats"></div></form> <form id="fish" action="search.html" method="GET"><div><label for="fishsearch"><input type="text" name="fishsearch" id="fishsearch"><input type="submit" value="Search for fish"></div></form> </div></div>25.1. Применение той же структуры кода больше не имеет смысла - в этом случае вы получите те же элементы формы, повторяемые снова и снова, чтобы соответствовать концепции замены контента, что является пустой тратой кода разметки. Вместо визуального мышления важно подумать о самом взаимодействии. В этом примере вместо выбора новой информации для просмотра вкладок необходимо изменить взаимодействие пользователя с формой поиска. На самом деле вкладка должна только выбирать, какой тип животного ищет пользователь. Если применить все это на практике, то можно создать значительно лучшее взаимодействие для всех пользователей сайта, с более четкой, легко поддерживаемой разметкой: <form action="search.html" method="GET"> <fieldset> <legend>Search within:</legend> <ul> <li><label for="dogs">Dogs</label><input id="dogs" type="radio" name="animal" value="dog" checked></li> <li><label for="cats">Cats</label><input id="cats" type="radio" name="animal" value="cat"></li> <li><label for="fish">Fish</label><input id="fish" type="radio" name="animal" value="fish"></li> </ul> </fieldset> <input type="text" id="searchfield" name="search"> <input type="submit" value="Search"></form>25.2. Создавая сначала взаимодействие, разметка будет более четкой, и все пользователи сайта получат наилучший возможный опыт работы. Когда мы начали с расширения визуальной метафоры, мы быстро разрушили взаимодействие и создали некоторую ужасную разметку на основе предположений предыдущего примера. Если бы мы использовали AJAX для вставки контента вместо размещения его полностью на странице, то было бы еще хуже. Пользователи без JavaScript должны будут загрузить полностью новую страницу, чтобы получить форму поиска для cats или fish. Продумав сначала базовое взаимодействие (а не визуальные вопросы), можно упростить проблему. Теперь можно по прежнему поддерживать метафору вкладки (хотя и с небольшим стилевым оформлением и сценарием), используя при этом одну форму для любого поиска.Это является основой понимания, как реализовать доступное взаимодействие. Одним из больших достоинств HTML является то, что основная работа по определению, как сделать взаимодействие в HTML доступным, уже была сделана. Пока для разрушения метафоры не используются другие технологии поверх HTML, можно без больших усилий заставить работать большинство вещей для большинства людей. Стандарты доступности В этом разделе мы рассмотрим некоторые имеющиеся стандарты и рекомендации, которые нацелены на определение доступности Web и помощь разработчикам Web в создании доступных сайтов. Большинство этих систем включают некоторую разновидность системы контрольного списка, чтобы разработчики могли проверить, как их сайты соответствуют различным критериям доступности. ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычислить, когда этот... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|