将alt标签用于锚链接是否正确?

时间:2013-02-13 09:24:38

标签: html anchor alt

对于锚链接使用alt标记是否正确,例如

<a href="#" class="test" alt="Something" src="sfasfs" ></a>

7 个答案:

答案 0 :(得分:122)

通过查看官方规范可以最好地回答这些问题:

  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

  5. 正如您将看到的,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

    您可以在W3C’s HTML Current Status上找到所有HTML规范(包括最新标准)。

答案 1 :(得分:54)

对于锚点,您应该使用标题。 alt不是a的有效属性。见http://w3schools.com/tags/tag_a.asp

答案 2 :(得分:22)

&#34;标题&#34;在浏览器中广泛实现。尝试:

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

答案 3 :(得分:6)

不,任何HTML规范或草稿中的alt元素都不允许a属性(它将是属性,而不是标记)。并且它似乎没有被任何浏览器识别为具有任何重要性。

然后,人们试图使用它有点神秘,但可能的解释是,他们是以alt元素的img属性模拟这样做的,期望看到“工具提示”在鼠标悬停。这有两个问题。首先,每个元素都有自己的属性,在每个元素的规范中定义。其次,在一些古老的浏览器中,alt属性的“工具提示”呈现是一个奇怪的甚至是一个错误,而不是预期的东西;当且仅当图像本身未出现时,alt属性应该呈现给用户。

要创建“工具提示”,请使用title属性,或者更好的是Google使用“CSS工具提示”并使用您喜欢的基于CSS的工具提示(它们可以被表征为隐藏的“图层”,在鼠标悬停时变得可见。)

答案 4 :(得分:5)

如果您希望像对alt属性一样应用描述性信息,则应使用锚标记的title属性。 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

答案 5 :(得分:4)

我使用了标题并且它有效!

title属性给出了链接的标题。除了一个例外,它纯粹是建议性的。值是文本。样式表链接例外,其中title属性定义了替代样式表集。

<a class="navbar-brand" href="http://www.alberghierocastelnuovocilento.gov.it/sito/index.php" title="sito dell'Istituto Ancel Keys">A.K.</a>

答案 6 :(得分:2)

我很惊讶地看到所有说明prop = 0.75 seed = 957 set.seed(seed) sampled <- sample(1:nrow(propTbl),nrow(propTbl)*prop,replace=FALSE,prob=NULL) train <- propTbl[sampled,-c(1:2)] test <- propTbl[-sampled,-c(1:2)] model <- glm(hit ~ .,family=binomial(link='logit'),data=train[]) summary(model) modelOut <- tidy(model) 标签中使用alt属性的答案都是无效。这是绝对错误的。

HTML不会阻止您使用任何属性:

a

如果您问在<a your-custom-attribute="value">Any attribute can be used</a> 中使用alt属性在语义上是否正确,那么我会说:

否。它用于设置图像描述a

这取决于您对属性的处理方式。这是一个示例:

<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>属性为其语义使用。


糟糕,在2013年问了这个问题。