Alt и заголовок изображения - PullRequest
1 голос
/ 22 июня 2011

У меня есть клиент, который ненавидит всплывающие подсказки, отображаемые в браузерах с помощью атрибутов alt и title изображений.Они просили их удалить.Очевидно, что это проблема как для SEO, так и для Доступности.

Хотя доступность для меня не так уж и важна, фактор SEO таков.Сначала я хочу удалить атрибуты alt и title изображений с помощью быстрого JS-скрипта.Кто-нибудь видит какие-либо проблемы с этим?

Ответы [ 4 ]

6 голосов
/ 22 июня 2011

Атрибуты alt и title - это две разные вещи.

Атрибут alt используется в целях доступности и требуется стандартами, установленными W3C.В Соединенных Штатах это также является частью законов и правил Раздела 508.Атрибут alt ведет себя плохо в старых версиях Internet Explorer, показывая его содержимое с помощью всплывающей подсказки.Я точно знаю, что Internet Explorer 9 больше не имеет такого поведения.

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

Мой вам советиспользовать исключительно атрибут alt вместо атрибута title.Посоветуйте своему клиенту обновить браузер, чтобы он соответствовал стандартам, если всплывающая подсказка его так раздражает.

Современные программы чтения с экрана читают сгенерированный DOM.Это означает, что если вы удаляете теги через JavaScript, вы не только лишаете законной силы свой код, но и наносите вред тем, кто посещает сайт с помощью вспомогательных технологий.

Я настоятельно рекомендую вам этого не делать.

Дополнительная информация
Цель была подана в суд и удовлетворена из-за атрибута alt: http://www.sitepoint.com/target-settles-accessibility-lawsuit-for-6-million/

Из-за этого знакового случая можно с уверенностью сказать, чтоРаздел 508 НЕ распространяется только на федеральные и правительственные веб-сайты.

2 голосов
/ 22 июня 2011

В ванильном JavaScript вы можете использовать:

var images = document.getElementsByTagName('img');

for (i=0; i<images.length; i++){
    images[i].removeAttribute('title');
    images[i].removeAttribute('alt');
}

JS Fiddle demo .

Справка:

2 голосов
/ 22 июня 2011

Если доступность не является проблемой, я не вижу проблем с использованием JavaScript для удаления контента.Если вы согласны с использованием jQuery, по моему мнению, это самый простой способ:

$(document).ready(function()
{
    $('[title]').removeAttr('title');
});

Вы также можете удалить заголовок в событии onmouseover, а затем добавить его обратно в событие onmouseout радиSEO.

0 голосов
/ 22 июня 2011

Вам следует подумать, хотите ли вы удалить эти функции только при определенных обстоятельствах. Я сталкиваюсь с множеством подобных идей в повседневном бизнесе, потому что некоторые люди не любят понимать, какие вещи полезны, и, возможно, справляются с ними самостоятельно ...

... что приводит меня к идее со временем добавить скрипт Greasemonkey, который обеспечивает желаемую функциональность вместо ухудшения веб-сайта с помощью доступности и т. Д. По крайней мере, это должен быть дополнительно настраиваемый параметр, возможно, путем установки печенье или что-то в этом роде.

Может быть, вы сможете убедить клиента в том, что это лучше, чем избавиться от чего-то, позволить каждому сделать свой выбор и активировать настройки по умолчанию для лучшего SEO и доступности.

...