我注意到很多框架,自动生成的代码(Zend)和布局模板中的这种趋势。我正在谈论的方法是:
<label for="someField">
<input id="someField" name="someName" />
</label>
这种方法与常规方法相比有哪些优点和缺点,为什么人们倾向于采用这种方法呢?
答案 0 :(得分:2)
HTML4.01和HTML5中的 W3C standards 似乎很好:
<强> HTML4:强>
“隐式地将标签与另一个控件相关联,控件 element必须在LABEL元素的内容中。在这 例如,LABEL可能只包含一个控制元素。标签本身 可以在相关控制之前或之后定位。“
在此示例中,我们隐式地将标签与文本输入控件相关联:
<form action="..." method="post">
<p>
<label>
First Name
<input type="text" name="firstname">
</label>
</p>
</form>
从 HTML5:
开始,它仍然很好“label元素表示用户界面中的标题 标题可以与特定的表单控件相关联,称为 label元素的标记控件,使用for属性或by 将表单控件放在label元素本身中。 - W3C.