Статьи

Longdesc и другие решения с длинным описанием изображения. Часть 1. Проблемы

Возможно, вы слышали некоторое обсуждение о «longdesc» в последнее время, которое вспыхнуло, когда возникло много споров о том, оставить ли его в спецификации HTML5 . Если вы не «опытный» веб-профессионал, вы можете даже не слышать о «longdesc». Итак, что это, спросите вы, и вы должны использовать это? Давайте рассмотрим.

Скриншот разметки со страницы комиксов xkcd, наложенной на визуализированную страницу с атрибутом 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 ). Хотя эта ошибка встречается часто, обучение по-прежнему является источником этой проблемы значительно больше, чем имя атрибута.

Кроме того, некоторые сторонники WAIARIA настаивают на том, что 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 и рассмотрим множество других решений и идей.