什么是span和label标签之间的渲染差异?

时间:2010-01-13 20:08:53

标签: html dom accessibility

所以我理解了span和label标签之间的功能差异......但是看起来标签之间也存在渲染差异,我似乎无法弄清楚它是什么?有谁知道跨度和标签之间的渲染差异?感谢

2 个答案:

答案 0 :(得分:27)

除了默认的渲染样式(标签在某些浏览器中有时是粗体)之外,重要的区别在于它应该将一个标签链接到表单字段(输入,选择等)到LABEL该字段是什么。因此它是“for”属性。它不应该用于任何事情。这对于屏幕阅读器的可访问性尤为重要,因为他们希望此链接存在。

Span适用于您要应用类似样式的一组文本。默认情况下,Span没有应用任何样式。

PS:可能Grayskull的愤怒找到你,如果我用标签标签抓住你只是为了使一些文字粗体或类似的东西。在我之后重复:“没有输入字段,没有标签”。

PPS:对不起,这是我对其他人加价的最大烦恼之一。

答案 1 :(得分:7)

我看不到IE,Firefox,Opera或Chrome中默认样式表的渲染差异。浏览器可能会选择以不同的方式呈现它,但它不太可能是一个显着的差异。

标签的主要优点是您可以将其与另一个表单控件相关联(通过包含或for属性)。这可以具有可访问性优势。值得注意的是,在典型的基于图形的浏览器中,您可以单击标签以聚焦关联的控件(并勾选它,对于复选框/无线电,这很方便,因为否则它是一个非常小的目标)。这将再现已建立的操作系统表单窗口小部件行为。