2013-02-13 3 views

ответ

39

якорей, вы должны использовать название вместо этого. alt недействителен атрибут a. См http://w3schools.com/tags/tag_a.asp

+1

... и http://w3schools.com/tags/ref_standardattributes.asp –

+0

@FabioPoloni Спасибо, я ожидал, что каждый может найти ссылку ниже на странице :-) – tomis

+0

Я думал, что если кто-то не знает много об этой теме, он не найдет его ;-) –

103

Такие вещи лучше всего ответить, глядя на официальной спецификации:

  1. перейти к спецификации: https://www.w3.org/TR/html5/

  2. поиска "a элемента": https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element

  3. проверки «Атрибуты контента», в котором перечислены все разрешенные атрибуты для элемента a:

    • Глобальные атрибуты
    • href
    • target
    • download
    • rel
    • hreflang
    • type
  4. Проверьте связанные "Глобальные атрибуты": https://www.w3.org/TR/html5/dom.html#global-attributes

Как вы видите, атрибут alt не допускается на a элемента.
Также вы заметили, что атрибут src также не допускается.

К validating your HTML, такие ошибки сообщаются вам.


Следует отметить, что выше для HTML5, который является W3C’s HTML standard from 2014. В 2016 году HTML 5.1 стал the next HTML standard. Поиск допустимых атрибутов работает одинаково. Вы увидите, что элемент a может иметь другой атрибут в HTML 5.1: rev.

Вы можете найти все спецификации HTML (включая новейший стандарт) по адресу W3C’s HTML Current Status.

+2

Я не вижу атрибут 'title' в атрибутах' a' Global, правильно ли использовать атрибут 'title' в' a' или нет? –

+0

@YousefAltaf: На какой странице вы смотрите? Связанный, [Глобальные атрибуты] (http://www.w3.org/TR/html5/dom.html#global-attributes), содержит список 'title'. – unor

+0

Я получил его так, что он указан в глобальных атрибутах, но влияет ли оно на качество страницы, если я использую его или нет? –

5

Нет, атрибут alt (это будет атрибут, а не тег) не допускается для элемента a в любой спецификации или черновике HTML. И это, похоже, не признается ни одним браузером, либо имеющим какое-либо значение.

Это немного загадка, почему люди пытаются его использовать, но вероятным объяснением является то, что они делают это в аналоге с атрибутом alt для элементов img, ожидая увидеть «подсказку» при наведении курсора мыши. В этом есть две вещи. Во-первых, каждый элемент имеет свои собственные атрибуты, определенные в спецификациях для каждого элемента. Во-вторых, рендеринг «всплывающей подсказки» атрибутов alt в некоторых древних браузерах был/был причудой или даже ошибкой, а не чем-то ожидаемым; атрибут alt должен быть представлен пользователю тогда и только тогда, когда изображение не представлено по какой-либо причине.

Чтобы создать «подсказку», используйте вместо этого или, что гораздо лучше, Google для «всплывающих подсказок CSS» и используйте подсказки на основе CSS (их можно охарактеризовать как скрытые «слои», которые становятся видимыми на Mouseover).

+0

Как использовать ссылки, созданные программно с помощью всплывающих подсказок на основе CSS? –

3

Вы должны использовать атрибут 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 служит для описания отношений связанной страницы с текущей страницей. (например, если связанная страница следующая в логической серии, она будет rel = next)

Атрибут rev по существу является обратной связью атрибута rel. Rev описывает взаимосвязь текущей страницы со связанной страницей.

Вы можете найти список допустимых значений здесь: http://microformats.org/wiki/existing-rel-values

16

«название» широко применяется в браузерах. Попытка:

<a href="#" title="hello">asf</a> 
+0

Спасибо за быстрый совет! – Sohail

+0

Вот как должен выглядеть ответ вместо 10 минут ответа выше. Но этот ответ также должен содержать ссылку: https://www.w3schools.com/tags/att_global_title.asp – mikael1000

+0

Я согласен с тем, что вышеизложенное не отвечает на вопрос, однако, согласно ему, 'title' является неправильным согласно спецификация HTML5 (хотя большинство браузеров ее реализует). – felwithe

2

Я использовал название, и это сработало!

Атрибут title дает название ссылки. За одним исключением, это чисто консультативный. Значение - текст. Исключением являются ссылки на таблицы стилей, где атрибут title определяет альтернативные наборы таблиц стилей.

<a class="navbar-brand" href="http://www.alberghierocastelnuovocilento.gov.it/sito/index.php" title="sito dell'Istituto Ancel Keys">A.K.</a> 
Смежные вопросы