Правильно ли использовать тег alt для якорной ссылки, например
<a href="#" class="test" alt="Something" src="sfasfs" ></a>
Правильно ли использовать тег alt для якорной ссылки, например
<a href="#" class="test" alt="Something" src="sfasfs" ></a>
Ответы:
На такие вопросы лучше всего ответить, посмотрев официальную спецификацию:
перейти к спецификации: https://www.w3.org/TR/html5/
поиск по запросу « a
элемент»: https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element
отметьте «Атрибуты содержимого», в котором перечислены все разрешенные атрибуты для a
элемента:
- Глобальные атрибуты
href
target
download
rel
hreflang
type
проверьте связанные «Глобальные атрибуты»: https://www.w3.org/TR/html5/dom.html#global-attributes
Как вы увидите, alt
атрибут не разрешен для a
элемента.
Также вы заметите, что src
атрибут тоже не разрешен.
При проверке вашего HTML вам сообщается о подобных ошибках.
Обратите внимание, что приведенное выше относится к HTML5 , который является стандартом HTML W3C с 2014 года . В 2016 году HTML 5.1 стал следующим стандартом HTML . Поиск разрешенных атрибутов работает аналогичным образом. Вы увидите , что a
элемент может иметь другой атрибут в HTML 5.1: rev
.
Вы можете найти все спецификации HTML (включая последний стандарт) на странице W3C's HTML Current Status .
title
.
Для якорей вы должны использовать заголовок. alt не является допустимым атрибутом. См. Http://w3schools.com/tags/tag_a.asp
"title" широко используется в браузерах. Пытаться:
<a href="#" title="hello">asf</a>
title
спецификацией HTML5 неверно (хотя большинство браузеров реализуют это).
Нет, alt
атрибут (это был бы атрибут, а не тег) не разрешен для a
элемента ни в какой спецификации или черновике HTML. И, похоже, ни один браузер не распознает это как имеющее значение.
Тогда это немного загадка, почему люди пытаются его использовать, но вероятное объяснение состоит в том, что они делают это по аналогии с alt
атрибутом для img
элементов, ожидая увидеть «всплывающую подсказку» при наведении курсора мыши. В этом есть две ошибки. Во-первых, каждый элемент имеет свои собственные атрибуты, определенные в спецификациях для каждого элемента. Во-вторых, отображение alt
атрибутов «всплывающей подсказкой» в некоторых древних браузерах является / было причудой или даже ошибкой, а не чем-то ожидаемым; alt
атрибут должен быть представлен пользователю , если и только если само изображение не представлено, по какой - либо причине.
Чтобы создать «всплывающую подсказку», используйте title
вместо этого атрибут или, что еще лучше, Google для «всплывающих подсказок CSS» и используйте всплывающие подсказки на основе CSS по вашему выбору (их можно охарактеризовать как скрытые «слои», которые становятся видимыми при наведении курсора мыши).
Вам следует использовать атрибут title для тегов привязки, если вы хотите применить описательную информацию так же, как и для атрибута alt. Атрибут title действителен для тегов привязки и не служит никакой другой цели, кроме предоставления информации о связанной странице.
W3C рекомендует, чтобы значение атрибута title совпадало со значением заголовка связанного документа, но это не обязательно.
http://www.w3.org/MarkUp/1995-archive/Elements/A.html
В качестве альтернативы, что, вероятно, будет более полезно, вы можете использовать атрибут доступности ARIA aria-label
(не путать с aria-labeledby
). aria-label
выполняет ту же функцию, что и атрибут alt для изображений, но для элементов, не являющихся изображениями, и включает некоторую оптимизацию с момента вашей оптимизации для программ чтения с экрана.
http://www.w3.org/WAI/GL/wiki/Using_aria-label_to_provide_labels_for_objects
Если вы хотите описать тег привязки, обычно уместно использовать тег rel или rev, но вы ограничены конкретными значениями, их не следует использовать для удобочитаемых описаний.
Rel служит для описания отношения связанной страницы к текущей странице. (например, если связанная страница следующая в логическом ряду, это будет rel = next)
Атрибут rev по существу является обратной связью атрибута rel. Rev описывает отношение текущей страницы к связанной странице.
Вы можете найти список допустимых значений здесь: http://microformats.org/wiki/existing-rel-values
Я использовал название, и это сработало!
Атрибут title дает название ссылки. За одним исключением, это чисто рекомендательный характер. Значение - текст. Исключение составляют ссылки на таблицы стилей, где атрибут title определяет альтернативные наборы таблиц стилей.
<a class="navbar-brand" href="http://www.alberghierocastelnuovocilento.gov.it/sito/index.php" title="sito dell'Istituto Ancel Keys">A.K.</a>
Я удивлен, увидев все ответы, в которых указано, что использование alt
атрибута в a
теге недопустимо . Это абсолютно неверно.
Html не блокирует использование каких-либо атрибутов:
<a your-custom-attribute="value">Any attribute can be used</a>
Если вы спросите, правильно ли использовать alt
атрибут в семантически, a
я отвечу:
NO. Используется для задания описания изображения <img alt="image description" />
.
Вопрос в том, что вы будете делать с атрибутами. Вот пример:
a::after {
content: attr(color); /* attr can be used as content */
display: block;
color: white;
background-color: blue;
background-color: attr(color); /* This won't work */
display: none;
}
a:hover::after {
display: block;
}
[hidden] {
display: none;
}
<a href="#" color="red">Hover me!</a>
<a href="#" color="red" hidden>In some cases, it can be used to hide it!</a>
Опять же, если вы спросите, семантически правильно ли использовать настраиваемый атрибут, я скажу:
Нет. Используйте data-*
атрибуты для его семантического использования.
Ой, вопрос был задан в 2013 году.
title
атрибута вa
глобальных атрибутах, правильно ли использовать такойtitle
атрибут вa
?