我已经看到很多方法可以用<label>
,<div>
,<span>
等形式标记事物。对此有正确或错误的答案吗?这些中有任何优点/缺点吗?
谢谢
答案 0 :(得分:3)
标签最适合辅助功能(标签顺序,屏幕阅读器等)
详情请见: http://www.communitymx.com/content/article.cfm?cid=02310
答案 1 :(得分:3)
我倾向于选择这个:
<label for="myInput">My Label</label>
<input type="textbox" name="MyInput" value="" />
看看Phil Haack的想法......
答案 2 :(得分:1)
向表单元素提供标签的正确方法是使用<label>
:
某些表单控件会自动显示与其关联的标签(按下按钮),而大多数表单控件不会(文本字段,复选框和单选按钮以及菜单)。
对于那些具有隐式标签的控件,用户代理应使用
value
属性的值作为标签字符串。
<label>
元素用于为没有隐式标签的控件指定标签
由于它是一个为您的标记提供含义的语义元素,因此代理可以理解它并倾向于将标签上的点击直接指向元素本身( very 有助于像复选框这样的微小控件。此外,您还可以为使用屏幕阅读器或其他辅助功能的用户提供有用的帮助。
您不应该使用<div>
或<span>
来实际标记元素。但是,对于辅助帮助文本,它们可能证明是有用的。但是你应该尽可能坚持HTML的语义功能。这就是我眼中的情况。
答案 3 :(得分:0)
最好的方法就是这个:
<label for="anInput">This is the input</label>
<input type="text" name="anInput" />
这对复选框特别有意义。如果单击标签,将选中/取消选中该复选框。如果单击输入字段的标签,则选择它。
标签定义了标签 输入元素。
标签元素不呈现为 对用户有用的任何东西。 但是,它提供了可用性 改进了鼠标用户,因为 如果用户点击其中的文本 标签元素,它切换 控制。
标签的for属性 应该等于的id属性 绑定它们的相关元素 在一起。