Сегодня хочу донести интересную заметку Роджера Йохансона относительно атрибута alt.
Единственной целью атрибута alt
является предоставление альтернативного текста, который может быть показан когда картинка не может быть отображена, либо потому что отсутствует или нечитабельна, или потому что пользователь отключил загрузку изображений в своём браузере.
Большинство браузеров показывают альтернативный текст на месте незагруженной картинки, но есть одно важное исключение: Safari и большинство основанных на WebKit браузерах (iCab, Shiira, Chrome). В этих браузерах, всё что вы получите когда картинка отсутствует - это маленькая голубая иконка с вопросиком или иконка сломанного изображения.
Рядом с решением показывать значок вопроса вместо более полезного альтернативного текста, есть две вещи которые мне (Роджеру) показались чрезвычайно странными:
- OmniWeb, также основанный на WebKit, показывает альтернативный текст для исчезнувших картинок. Я думаю, что
Omni Групп
добавила поддержку как надстройку над WebKit. - Для картинок которые не имеют заданных в HTML или CSS размеров, размер контейнера определяется длинной альтернативого текста, несмотря на то что он не показывается.
Кажется что поскольку это влияет на размер контейнера WebKit осведомлён о наличие альтернативного текста, но не показывает его. Я не могу представить себе причину не показывать альтернативный текст для отсутствующих изображений, поэтому я думаю что это должно быть изменено чтобы соответствовать поведению остальных браузеров.
Update: Кит Гроуз вежливо уведомил меня, что WebKit на самом деле показывает альтернативный текст, но только когда текст вмещается в одну строчку в место занимаемое изображением.
Я (Роджер) проверил это и изменил свой совет с “WebKit должен показывать альтенративный текст” на “WebKit должен показывать альтернативный текст даже когда он не вмещается в одну строку в место которое бы заняло изображение”.
Чтобы продемонстрировать что это действительно так, можно посмотреть вебкитом пример к моей статье «Ещё об атрибуте alt».
В данном примере все браузеры должны показать слово Яндекс:
Комментарии: