是HTML标签中必需的“for”属性吗?
问题描述:
我注意到一个HTML标签标签不需要“的”属性,当你把你的输入元素插入标签元素:是HTML标签中必需的“for”属性吗?
<label><input type="text">Last name</label>
但我想知道什么是最好的做法。有人可以帮助我吗?
谢谢!
答
它用于辅助功能为屏幕阅读器等等,即
use_the_label_element_to_make_your_html_forms_accessible
所以,你应该使用它。这里有一个link来说服你关于可用性的重要性。
这里有一个小故事 - 让您的网站可以访问可以让所有用户受益 - 我总是很惊讶公民当局为轮椅可访问性付出的努力,直到我有一个女儿并使用推椅。我认为网站遵循相同的规则 - 每个人都受益。
道歉的论战
答
标准states:
为(IDReference)此属性明确地与表单控件的标签相关联。如果存在,则此属性的值必须与同一文档中表单控件的id属性的值相同。 缺席时,被定义的标签与标签元素内的控件相关联。所以可以这样使用它。
答
您可以在您的label
的input
,它与label
相关,或者出于某种原因,你要在DOM的其他地方有你label
元素,你可以指定它的意思与for
属性。从来没有使用for
属性通过任何方式:)
答
for属性没有太大的差异与文本输入,但是与复选框输入非常有用,因为它允许用户点击标签作为还有复选框本身:
<label for="chk">Checkbox</label><input type="checkbox" id="chk" />
而且,你的HTML需要一点杂物车 - 输入标签需要被关闭,它不应该是在标签内:
<label>Last Name</label><input type="text" />
,或者你想要标签在右边:
<input type="text" /><label>Last Name</label>
就像WebMonster说的那样,按照自己的方式行事很好。只需保持您的代码中的使用一致。 – Crontab 2012-01-04 12:26:07
我今天注意到[Bootstrap的文档在同一个表单中使用](http://getbootstrap.com/css/#forms-inline)。似乎'for'属性只有在你不能或不把''放入'