Html span和label标记之间的渲染区别是什么?

Html span和label标记之间的渲染区别是什么?,html,dom,accessibility,Html,Dom,Accessibility,所以我理解span和label标签之间的功能差异。。。然而,标签之间似乎也存在渲染差异,我似乎不知道它是什么?有人知道span和label之间的渲染差异吗?谢谢我看不出IE、Firefox、Opera或Chrome中的默认样式表在渲染上有什么不同。浏览器可能会选择不同的渲染方式,但不太可能有显著差异 标签的主要优点是可以将其与另一个表单控件关联(通过包含或for属性)。这可能具有可访问性优势。值得注意的是,在典型的基于图形的浏览器中,您可以单击标签以聚焦相关控件(并勾选它,对于复选框/收音机,这

所以我理解span和label标签之间的功能差异。。。然而,标签之间似乎也存在渲染差异,我似乎不知道它是什么?有人知道span和label之间的渲染差异吗?谢谢

我看不出IE、Firefox、Opera或Chrome中的默认样式表在渲染上有什么不同。浏览器可能会选择不同的渲染方式,但不太可能有显著差异


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

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

Span表示要应用类似样式的一组文本。默认情况下,跨度没有应用样式

附言:如果我发现你使用标签标签只是为了使一些文本加粗或类似的东西,愿《灰骷髅之怒》找到你。跟我重复:“无输入字段,无标签”


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

那么测试用例。这里没有区别;你有其他规则吗?Firefox 3.5默认样式表中唯一专门适用于
label
的规则是
cursor:default
.drat。。。。因此,我正在深入研究大量的CSS,有一个类覆盖了默认的标签属性。很抱歉。似乎有一些CSS作用于它,我错过了。。。所以在兼容浏览器中可能真的没有呈现差异“在某些浏览器中标签有时是粗体的”。你能详细说明一下什么浏览器标签是粗体的吗;dr
无输入字段,无标签
。可能值得放在顶部:)