问题
Is it correct to use alt tag for an anchor link, something like
<a href="#" class="test" alt="Something" src="sfasfs" ></a>
回答1:
Such things are best answered by looking at the official specification:
go to the specification: https://www.w3.org/TR/html5/
search for "
a
element": https://www.w3.org/TR/html5/text-level-semantics.html#the-a-elementcheck "Content attributes", which lists all allowed attributes for the
a
element:- Global attributes
href
target
download
rel
hreflang
type
check the linked "Global attributes": https://www.w3.org/TR/html5/dom.html#global-attributes
As you will see, the alt
attribute is not allowed on the a
element.
Also you’d notice that the src
attribute isn’t allowed either.
By validating your HTML, errors like these are reported to you.
Note that the above is for HTML5, which is W3C’s HTML standard from 2014. In 2016, HTML 5.1 became the next HTML standard. Finding the allowed attributes works in the same way. You’ll see that the a
element can have another attribute in HTML 5.1: rev
.
You can find all HTML specifications (including the latest standard) on W3C’s HTML Current Status.
回答2:
For anchors, you should use title instead. alt is not valid atribute of a. See http://w3schools.com/tags/tag_a.asp
回答3:
"title" is widely implemented in browsers. Try:
<a href="#" title="hello">asf</a>
回答4:
No, an alt
attribute (it would be an attribute, not a tag) is not allowed for an a
element in any HTML specification or draft. And it does not seem to be recognized by any browser either as having any significance.
It’s a bit mystery why people try to use it, then, but the probable explanation is that they are doing so in analog with alt
attribute for img
elements, expecting to see a “tooltip” on mouseover. There are two things wrong with this. First, each element has attributes of its own, defined in the specs for each element. Second, the “tooltip” rendering of alt
attributes in some ancient browsers is/was a quirk or even a bug, rather than something to be expected; the alt
attribute is supposed to be presented to the user if and only if the image itself is not presented, for whatever reason.
To create a “tooltip”, use the title
attribute instead or, much better, Google for "CSS tooltips" and use CSS-based tooltips of your preference (they can be characterized as hidden “layers” that become visible on mouseover).
回答5:
You should use the title attribute for anchor tags if you wish to apply descriptive information similarly as you would for an alt attribute. The title attribute is valid on anchor tags and is serves no other purpose than providing information about the linked page.
W3C recommends that the value of the title attribute should match the value of the title of the linked document but it's not mandatory.
http://www.w3.org/MarkUp/1995-archive/Elements/A.html
Alternatively, and likely to be more beneficial, you can use the ARIA accessibility attribute aria-label
(not to be confused with aria-labeledby
). aria-label
serves the same function as the alt attribute does for images but for non-image elements and includes some measure of optimization since your optimizing for screen readers.
http://www.w3.org/WAI/GL/wiki/Using_aria-label_to_provide_labels_for_objects
If you want to describe an anchor tag though, it's usually appropriate to use the rel or rev tag but your limited to specific values, they should not be used for human readable descriptions.
Rel serves to describe the relationship of the linked page to the current page. (e.g. if the linked page is next in a logical series it would be rel=next)
The rev attribute is essentially the reverse relationship of the rel attribute. Rev describes the relationship of the current page to the linked page.
You can find a list of valid values here: http://microformats.org/wiki/existing-rel-values
回答6:
I used title and it worked!
The title attribute gives the title of the link. With one exception, it is purely advisory. The value is text. The exception is for style sheet links, where the title attribute defines alternative style sheet sets.
<a class="navbar-brand" href="http://www.alberghierocastelnuovocilento.gov.it/sito/index.php" title="sito dell'Istituto Ancel Keys">A.K.</a>
来源:https://stackoverflow.com/questions/14850187/is-it-correct-to-use-alt-tag-for-an-anchor-link