我见过很多以 , , 等形式标记事物的方法<label>
。<div>
对此<span>
有正确或错误的答案吗?这些有什么优点/缺点吗?谢谢你
4 回答
标签最适合可访问性(标签顺序、屏幕阅读器等)
查看更多信息: http ://www.communitymx.com/content/article.cfm?cid=02310
我更喜欢这个:
<label for="myInput">My Label</label>
<input type="textbox" name="MyInput" value="" />
看看菲尔·哈克是怎么想的……
为表单元素提供标签的正确方法是使用<label>
:
一些表单控件自动具有与之关联的标签(按钮),而大多数没有(文本字段、复选框和单选按钮以及菜单)。
对于那些具有隐式标签的控件,用户代理应该使用
value
属性的值作为标签字符串。该
<label>
元素用于为没有隐式标签的控件指定标签
由于它是一个语义元素,为您的标记提供意义,用户代理可以理解它,并倾向于将标签上的点击直接指向元素本身(对于复选框等微小控件非常有用)。此外,您还为使用屏幕阅读器或其他辅助功能的人们提供了有用的帮助。
您不应该使用<div>
或<span>
实际标记元素。然而,对于辅助帮助文本,它们可能会被证明是有用的。但是恕我直言,您应该尽可能且明智地坚持 HTML 的语义功能。这就是我眼中的情况。
最好的方法是这个:
<label for="anInput">This is the input</label>
<input type="text" name="anInput" />
这对于复选框特别有趣。如果您单击标签,它将选中/取消选中该复选框。如果您单击输入字段的标签,它会选择它。
标签定义输入元素的标签。
label 元素不会为用户呈现任何特殊的东西。但是,它为鼠标用户提供了可用性改进,因为如果用户单击标签元素内的文本,它会切换控件。
标签的 for 属性应该等于相关元素的 id 属性才能将它们绑定在一起。