我们应该为每个<input />使用<label>吗?</label>

时间:2010-05-24 08:32:25

标签: css xhtml accessibility screen-readers

我们应该为<label>使用input吗? ,即使是提交按钮,如果我们不想显示label,也要保持隐藏的彻底css。

或者不需要提交按钮的标签?

.hide {display:none}

<fieldset>
  <legend>Search</legend>
    <label for="Search">Search...</label>
      <input value="" id="Search" name="Search">
    <label for="Submit" class="hide">Submit</label>
      <input type="submit" value="Go!" name="submit" id="submit">
</fieldset>

或者我们应该这样使用(没有提交标签)

<fieldset>
  <legend>Search</legend>
    <label for="Search">Search...</label>
      <input value="" id="Search" name="Search">
      <input type="submit" value="Go!" name="submit" >
</fieldset>

2 个答案:

答案 0 :(得分:2)

没有。不要对具有内在标签文本的元素使用标签(例如各种按钮)。 (注意:伪造带有value属性的标签不计算在内。

请参阅主题WCAG section的说明部分。

答案 1 :(得分:0)

来自官方文档:

  

可以使用LABEL元素   将信息附加到控件。每   LABEL元素与之相关联   一个表单控件。

http://www.w3.org/TR/html4/interact/forms.html#edef-LABEL

注意术语可能而非必须。但是,使用lable始终是一个好主意,事实证明这很方便:

  • 出于无障碍原因
  • 适用于移动浏览器