将表单字段放在标签标签中是一个好主意还是坏主意?

时间:2013-03-26 00:02:45

标签: html forms dom label standards

我注意到很多框架,自动生成的代码(Zend)和布局模板中的这种趋势。我正在谈论的方法是:

<label for="someField">
    <input id="someField" name="someName" />
</label>

这种方法与常规方法相比有哪些优点和缺点,为什么人们倾向于采用这种方法呢?

1 个答案:

答案 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.