Подходит ли alt = в некоторых ситуациях для тега html img?

У нас есть проект, посвященный соблюдению требований веб-доступности. Примерно через неделю после запуска у нас есть комитет по доступности, который проверяет наш сайт, чтобы дать окончательную оценку. Однако они сообщили нам, что мы должны установить alt = "" для некоторых из наших значков, потому что они не предоставляют никакого дополнительного контента сайту и, таким образом, просто отвлекают программу чтения с экрана, но не приносят никакой пользы.

  1. Это правильно?
  2. У меня создалось впечатление, что alt был обязательным атрибутом img? Конечно, alt = "" в теге img будет включать атрибут alt, но действительно ли это?

Комментарии приветствуются.


person Chris    schedule 27.09.2010    source источник
comment
Я полагаю, вы хотели сказать, что они ответили нам, что нам не следует устанавливать alt = для некоторых из наших значков?   -  person userx    schedule 27.09.2010
comment
Чтобы прояснить ваш вопрос, комитет предложил поставить пустой атрибут alt="" вместо атрибута alt="some text", правильно?   -  person scunliffe    schedule 27.09.2010
comment
Нет, он говорит, что они рекомендовали оставить его пустым, поскольку они бесполезны, если они не визуализируются. @naivists прав в своем ответе.   -  person Dustin Laine    schedule 27.09.2010
comment
@userx: нет, они предложили изменить такие вещи, как alt = home icon на alt =, потому что значки без функциональности, имеющие alt, отвлекают от работы с программой чтения с экрана и не дают никакой пользы. @scunliffe: да, это правильно и применимо к любой графике / значку, который является просто значком / графикой без дополнительных функций.   -  person Chris    schedule 27.09.2010
comment
Для тех, у кого есть JAWS или аналогичный опыт чтения с экрана, есть ли разница в том, как программа чтения обрабатывает отсутствующий атрибут alt и пустой? Я вижу техническую разницу, но семантически я ожидаю, что программа чтения с экрана проигнорирует и то, и другое.   -  person scunliffe    schedule 27.09.2010


Ответы (3)


Если значки предоставляют какие-либо функции (пользовательские щелчки или что-то еще), я бы рекомендовал установить описательное значение alt. Если они просто декоративные, то alt="" допустимо.

Из стандарта:

Альтернативный текст может быть очень полезным, но обращаться с ним нужно осторожно. Авторы должны соблюдать следующие правила:

  • Не указывайте нерелевантный альтернативный текст при включении изображений, предназначенных для форматирования страницы, например, alt = "red ball" не подходит для изображения, которое добавляет красный шар для украшения заголовка или абзаца. В таких случаях альтернативным текстом должна быть пустая строка (""). Авторам в любом случае рекомендуется избегать использования изображений для форматирования страниц; Вместо этого следует использовать таблицы стилей.
  • Не указывайте бессмысленный альтернативный текст (например, «фиктивный текст»). Это не только расстроит пользователей, но и замедлит работу пользовательских агентов, которые должны преобразовывать текст в речь или вывод шрифтом Брайля.
person naivists    schedule 27.09.2010
comment
Есть ли у вас какие-либо ресурсы, которые документируют это? (Не говорю, что вы неправы, просто любопытно.) - person Chris; 27.09.2010
comment
@Chris Я как раз вспомнил эту статью, которую прочитал некоторое время назад standardista.com/standards/ - person naivists; 27.09.2010
comment
Спасибо! Вы также можете указать это в своем ответе, это надежный ответ и надежный ресурс, относящийся к указанному ответу. Оценил. - person Chris; 27.09.2010
comment
Также см. Руководство 508 Access Board: access-board.gov/sec508/guide/ 1194.22.htm - person Jeff; 27.09.2010

Согласно этому источнику: http://msdn.microsoft.com/en-us/library/ms228004(v=VS.100).aspx#guideline_11__providing_alternate_text_for_images без атрибута alt заставит некоторых читателей экрана произносить имя файла и отвлекать пользователя, поэтому установка alt на рекомендуется пустая строка.

person Nemanja Trifunovic    schedule 27.09.2010

Атрибут alt всегда требуется, если вы хотите, чтобы ваш код прошел проверку, однако атрибут alt не обязательно должен иметь значение.

Если вы используете изображения для оформления страницы (например, закругленные углы или тени для браузеров, не поддерживающих CSS3), эти изображения должны быть в CSS, а не внутри тегов <img> в html. Однако бывают случаи, когда у вас могут быть изображения, которые следует включать в качестве реальных изображений в html, даже если нет значимого способа их описания для программ чтения с экрана. В этом случае w3.org говорит, что можно использовать alt="". 1

1: http://www.w3.org/QA/Tips/altAttribute

person Michael Martin-Smucker    schedule 27.09.2010