Страница 7 из 18
Согласно стандарту, броузер может перечислять в своем запросе те кодировки, документы в которых он в состоянии отобразить, чтобы сервер мог в ответ выбрать заказанную кодировку из имеющихся или же перекодировать документ «на лету». Распространенные графические броузеры пока что не поддерживают эту возможность.
СРЕДЫ И ДОСТУПНОСТЬ
Обеспечение доступа к сайту для любых платформ и любых сред (графической, текстовой, звуковой) — важный аспект веб–дизайна, к сожалению, часто упускаемый из виду практикующими дизайнерами. Не следует думать, что общепринятыми графическими броузерами не может пользоваться только пренебрежимо малый процент чудаков, инвалидов и обладателей текстовых терминалов вместо «настоящих компьютеров». Все больше становится пользователей, по разным причинам предпочитающих слушать, как специальная программа читает текст вслух (например, почему бы не послушать таким образом новости с любимого сайта, сидя за рулем), или владельцев всевозможных переносных устройств для доступа к сети, очень часто с черно–белым, весьма ограниченным по возможностям экраном. Наконец, нельзя забывать о том, что вашу страницу будут читать не только люди, но и всевозможные «роботы» и автоматические сборщики информации, которые очень похожи на «неполноценных» пользователей именно своей ограниченностью текстовым аспектом информации.
Доступность информации в Интернете опирается на два основных принципа, из которых вытекают все остальные, более частные рекомендации. Первый из этих принципов вам уже известен — это преимущественное (или, по крайней мере, хоть какое–то) использование структурной, а не только визуальной разметки. Например, пометив фрагмент текста тегом I, вы тем самым даете команду переключиться в курсивное начертание, — что имеет смысл только в графической среде: речевой броузер, читающий страницу вслух, ничего похожего на «курсив» не имеет и, скорее всего, тег этот просто проигнорирует. Намного разумнее воспользоваться вместо этого тегом ЕМ, который вводит логический элемент эмфазиса (выделения) и который можно интерпретировать соответствующими средствами в разных средах (например, в графике — курсивом, а в речи — интонацией).
Второй главный принцип доступности — это поддержка текстового эквивалента для всей информации страницы. Это совсем не означает, что вам нужно будет делать копии всех HTML-файлов с тем же текстом, но без графики и таблиц (хотя ссылки на такие текстовые копии до сих пор можно увидеть на некоторых сайтах). К счастью, HTML позволяет хранить в том же файле текстовый «транскрипт» для любых нетекстовых элементов, прежде всего изображений (а также явно помечать те из них, которые вообще не имеют текстового эквивалента). Обычный текст — самый универсальный компьютерный формат данных с самыми широкими возможностями преобразования и отображения, поэтому поддержка текстового плана веб–страницы — лучший способ обеспечить ее доступность для любых потребителей информации.
Доступность: таблицы. Описываемые в гл.3 | приемы верстки веб–страниц с помощью таблиц хотя и считаются иногда «злоупотреблением», несовместимым с духом и буквой HTML, тем не менее вполне допустимы с точки зрения доступности информации, если только при этом соблюдается одно несложное правило. Поскольку таблица в окне броузера двумерна, а текстовый эквивалент страницы одномерен, нужно следить, чтобы логически связанные фрагменты содержимого располагались либо в одной ячейке, либо в ячейках, соседних по горизонтали. Например, если таблица содержит больше одного столбца, нельзя помещать заголовок в одну ячейку, а относящийся к нему текст — в соседнюю снизу, так как в текстовом эквиваленте страницы заголовок и текст будут при этом разделены содержимым других ячеек.
Как писать alt–тексты. Особого внимания заслуживает атрибут alt тега IMG, предназначенный для записи текстового эквивалента изображения. Значением этого атрибута может быть строка символов, содержащая любые подстановки (например, ), но не содержащая других тегов. (Впрочем, сам тег IMG можно вставить внутрь парного тега логического форматирования — например, HI, — чтобы приписать его alt–тексту соответствующую структурную роль и средства выделения в неграфических броузерах.)
Главный принцип, который нужно при этом иметь в виде, формулируется так: alt–текст должен давать текстовый эквивалент информации, содержащийся в изображении, а не некую метаинформацию о самом этом изображении. С этой точки зрения исключительно неуместно смотрятся вставляемые иногда в alt–тексты размеры файлов изображений в байтах или же советы типа «Включите загрузку графики, чтобы увидеть эту картинку». В простейшем случае, когда картинка содержит заголовок, надпись на кнопке или другой текст, ее атрибут alt обязан содержать в точности этот самый текст и ни слова больше. Ниже перечислены некоторые распространенные типы изображений и принципы выбора alt–текстов для них:
• Для распорок (стр. 237) и декоративных элементов, не несущих никакой информации, обязательно указывать, пустой alt–текст (alt=""). Как ни странно, этот простейший случай не является значением по умолчанию, так что автор должен сам позаботиться об обнулении alt–текста во всех вспомогательных изображениях.
• Для маркеров элементов списка пользуйтесь или последовательными номерами (в текстовых броузерах и особенно при чтении страницы вслух они сильно облегчают восприятие даже тех списков, которые «в графике» лучше смотрятся без нумерации), или же тем символом, который обычно используется для этой цели в текстовых списках — звездочкой (*).
• Для разделителей, аналогичных по функции тегу HR (стр. 203), подходящим alt–текстом будет ряд небуквенных значков — например, "======" или "******".
С другой стороны, такое решение неплохо смотрится только в текстовых броузерах вроде Lynx, тогда как владельцам речевых броузеров, скорее всего, не очень–то понравится слушать монотонное «знак равенства, знак равенства, знак равенства…»
• Для кнопок панелей навигации (стр. 206) и всех прочих изображений–ссылок разумно принять особое правило оформления alt–текстов (например, я рекомендую заключать их в квадратные скобки). Это следует делать не только для того, чтобы ссылки легко было найти в текстовом эквиваленте страницы, но и для отделения alt–текстов друг от друга: дело в том, что, если графические вставки идут одна за другой без пробелов, их alt–тексты также не будут ничем разделены, если только пробелы или другие символы–разделители не предусмотрены в них самих.
Приведенные здесь правила рассчитаны на то, чтобы облегчить доступ к информации на любых платформах и в любых средах — графической, текстовой или звуковой (стр. 34). В последнее время, однако, графические броузеры несколько переопределили семантику атрибута alt: начиная с четвертых версий броузеры Netscape и Microsoft не только показывают alt–текст на месте отсутствующей графики, но и выводят его в виде «всплывающей подсказки» (floating tip), возникающей при поднесении курсора мыши к изображению. С одной стороны, это нововведение заставит визуальных дизайнеров внимательнее относиться к расстановке alt–текстов на своих страницах — не писать туда что попало и не забывать о пустых alt–текстах у вспомогательных изображений. С другой стороны, непосредственное участие alt–текстов в процессе интерактивного исследования страницы заставляет дизайнера отказаться от дословного воспроизведения в alt–текстах содержимого графических вставок: сейчас не редкость страницы, в которых, например, alt–тексты дают расширенные пояснения для слишком лаконичных или же вообще лишенных текста кнопок навигации.
Доступность: изображения–карты. В HTML существует два способа сделать так, чтобы части одного изображения служили ссылками на разные адреса: серверные (server–side) и клиентские (client–side) изображения–карты (image maps). Первый из этих способов, предполагающий посылку серверу координат точки, в которой произошел щелчок мыши, и получение в ответ URL-адреса, на который нужно перейти, сейчас встречается уже довольно редко, и это нельзя не приветствовать: поскольку само понятие «координат» имеет смысл только в графической среде, оформленные таким образом ссылки по определению недоступны никому, кроме пользователей графических броузеров.