Возможно, вы слышали некоторое обсуждение о «longdesc» в последнее время, которое вспыхнуло, когда возникло много споров о том, оставить ли его в спецификации HTML5 . Если вы не «опытный» веб-профессионал, вы можете даже не слышать о «longdesc». Итак, что это, спросите вы, и вы должны использовать это? Давайте рассмотрим.
Что такое Longdesc?
Как вы, вероятно, знаете, атрибут alt
предназначен для предоставления краткого текстового альтернативного описания изображения на веб-странице. Кроме того, атрибут longdesc
был разработан для указания на веб-страницу, которая при необходимости предоставляет более подробное описание изображения. Он дополняет атрибут alt элемента изображения; когда описание длиннее, чем то, что реально работает с alt
, будет использоваться longdesc
. Как мы обсудим, существуют другие потенциальные возможности использования longdesc
, но основная причина его использования — для слепых и слабовидящих пользователей, которые используют программу чтения с экрана и не могут видеть изображение с большим содержанием. Существует много вариантов использования для длинного описания, которое включает описание логотипа, комикса, художественного произведения, графической диаграммы, инфографики и фотографии. (Обратите внимание, что longdesc
был задан для поддержки элементов frame и iframe , но вряд ли кто-то даже знает об этом, не longdesc
уже о том, чтобы реализовать это!)
Противоречие
На longdesc
атрибут longdesc
кажется отличным способом предоставления подробных текстовых описаний изображения. Но, к сожалению, техника так и не достигла своего полного потенциала, если не сказать больше. Настолько, что многие считают, что longdesc
должен быть полностью забыт и во многих ресурсах больше не является рекомендуемой техникой .
Несколько лет назад была написана статья, в которой документируется крайне небольшой процент изображений, которые были longdesc
реализованы в longdesc
(примерно 1 на 100 000 изображений; 1 на 100, которые пытаются это сделать). Совсем недавно, в защиту атрибута, было задокументировано много примеров правильных реализаций longdesc
(различными организациями, такими как музеи, университеты, личные блоги, правительственные агентства и т. Д.). Как бы вы на это ни смотрели, все согласны с тем, что общий процесс предоставления подробного описания изображения нарушен и что-то должно быть сделано.
Проблемы авторов
Так почему же longdesc
почти никогда не внедряется или выполняется неправильно? Одна из причин, как и многие другие концепции и методы, связанные с доступностью, — это невежество; если веб-авторы (дизайнеры, разработчики, владельцы) не понимают, почему они должны что-то делать (в этом случае предоставить альтернативный текст), они, вероятно, этого не сделают. Другая причина — отсутствие надлежащей подготовки; Авторы просто не учат, как использовать longdesc
.
Некоторые люди заявляют, что само название «longdesc» является проблемой , но я не обязательно согласен. Аргумент состоит в том, что имя вводит в заблуждение, поэтому много раз само текстовое описание ошибочно вводилось бы в значение атрибута, а не в URI , как определено (в основном, в URL ). Хотя эта ошибка встречается часто, обучение по-прежнему является источником этой проблемы значительно больше, чем имя атрибута.
Кроме того, некоторые сторонники WAI — ARIA настаивают на том, что aria-describedby
атрибут aria-describedby
проблему. Но есть много аргументов против этого в качестве замены, многие из которых изложены в предложении об изменении HTML5 . Лучшие точки:
- Атрибут
aria-describedby
longdesc
не может указывать на содержимое вне страницы (на URI, какlongdesc
делаетlongdesc
); он может указывать только на привязки на странице (IDREF). Отрицательным результатом этого является то, что он не может предоставить одно общее внешнее описание для одного и того же изображения, повторенное на разных страницах. - Программы чтения с экрана не делают паузу, когда сталкиваются
aria-describedby
; он читается вслух сразу же, как атрибутalt
и вынуждает пользователя описывать более подробное описание, хочет он этого или нет. (longdesc
сути, вставляет паузу, где пользователь может выбрать перейти по ссылке или нет.) - Атрибут
aria-describedby
описаныby не имеет обратной совместимости.
Поддержка браузера (не)
Другая причина, по которой longdesc
практически никогда не реализуется, заключается в том, что основные браузеры плохо справляются с поддержкой longdesc . Если авторская работа не отображается в браузере, он или она гораздо менее склонны это делать. Особенно, если приближается крайний срок и есть давление, чтобы выполнить работу как можно быстрее, что слишком часто бывает. Из сегодняшних лучших браузеров, только Opera 10.10+ поддерживает его . Чтобы помочь другим браузерам, есть дополнение Longdesc от Firefox от Patrick Lauke, которое предоставляет доступ к длинному описанию, например Opera, через контекстное меню изображения. Есть также расширение для Opera, TellMeMore , от Charles McCathieNevile, которое обеспечивает визуальную подсказку, как и дополнение Firefox. И до меня дошел слух, что расширение для Chrome находится в разработке.
Проблема предоставления длинных описаний изображений не является longdesc
; это прежде всего неспособность браузеров уведомить пользователя о наличии атрибута.
Чехол для Longdesc
Если бы браузеры делали longdesc
более «обнаруживаемыми» данными, а не «скрытыми», атрибут мог бы быть гораздо более полезным, особенно для зрячих пользователей. Как и атрибут alt
, предоставление подробного описания зрячим пользователям может быть полезно, когда изображение становится недоступным, например, в случае разрыва связи с изображением или в случае низкочастотного подключения к Интернету (включая мобильные устройства, давайте не будем забывать о разработке страны, где мобильный телефон может быть единственным средством серфинга в Интернете).
Есть и другие способы использования, кроме визуального резервного копирования. Длинное описание может помочь в понимании информации, особенно для людей с когнитивными нарушениями. Кроме того, как и аудиозаписи и подписи к видео, длинные текстовые описания изображения могут быть средством интернационализации, поскольку текст может быть переведен на другой язык такими службами, как Google Translate (в отличие от текста в изображении, которое не может быть переведено ( не осуществимо, по крайней мере, пока).
Дело в том, что существует много вариантов использования для longdesc
и что существует консенсус в отношении того, что необходим механизм для предоставления подробного описания изображения. На данный момент не существует полностью «функциональной замены» для longdesc
. В настоящее время он хорошо работает при реализации, поскольку поддерживается многими вспомогательными технологиями, включая популярные программы чтения с экрана, такие как JAWS и Window-Eyes.
Кроме того, есть история с longdesc
; есть что сказать о обратной совместимости. Существует множество руководств, законов, политик и стандартов, в longdesc
в качестве решения longdesc
. Они появляются в таких организациях, как IBM, Почтовая служба США и Калифорнийский университет. longdesc
имеет критическую базу поддержки, на создание которой longdesc
десяток лет, и, скорее всего, на его перестроение потребуется столько же времени с новым атрибутом / методом для подробного описания. Также обратите внимание, что longdesc
является частью HTML ISO (см. IMG в Приложении B).
Резюме
longdesc
изображения longdesc
— это хороший способ предоставить подробные описания изображений, которые в нем нуждаются. Но так как большинство веб-авторов не узнали об этом и большинство браузеров не поддерживают его, методика очень непопулярна. Существуют и другие методы, такие как ARIA, для достижения аналогичной цели, но они также могут не поддерживаться полностью и не являются настоящей заменой. Пока поставщики браузеров не сделают свое дело, и пока в веб-сообществе не будет обновлен longdesc
, по-прежнему будут поддерживаться только частично решения для предоставления подробного описания изображения.
О, и в случае, если вам интересно longdesc
о его судьбе в ее нынешнем виде, longdesc
в настоящее время определяется как «устаревший» в HTML5 .
Ознакомьтесь с частью 2 , где мы обсудим, как реализовать longdesc
и рассмотрим множество других решений и идей.