使复选框和广播标签可点击

时间:2010-02-13 13:08:39

标签: html usability cross-browser

大量(我敢说最多?)网站不会使标签可以点击其复选框和无线电输入。只需很少的努力就可以获得巨大的可用性。使用<label>会导致开发人员无法使用此标记,是否存在任何兼容性/功能/可用性问题?

编辑:即使StackOverflow似乎也是如此,例如,在提问时,每天通知任何新答案复选框标签无法点击。

5 个答案:

答案 0 :(得分:31)

除了懒惰之外没有理由。 <label>对于可访问性至关重要,对于我们这些用鼠标点击目标不佳的人来说也很方便:)

答案 1 :(得分:7)

不,这没有问题,但不幸的是,这是most ignored html tags一个。同意,这个标签对于可访问性原因非常重要,而且对于移动设备等小型设备的布局更是如此,如果没有这一点,你就无法生存。

答案 2 :(得分:3)

我能想到的唯一困难是您的表单控件需要具有ID属性,并且ID属性在您的页面中必须是唯一的。

如果您以编程方式生成表单字段,则必须在它们出现的每个页面中为每个表单字段生成唯一的ID。这可能是一个问题。

但总的来说,是的,我认为程序员并没有把它放在头脑中。

在ASP.NET WebForms(或其所谓的任何内容)中,您需要AssociatedControlID元素上的<asp:Label>属性。

答案 3 :(得分:3)

对于那些想要怎么做的人来说,这里是demonstration

有一种方法可以将表单元素附近的文本与元素本身连接起来,因此可以单击其中任何一个来激活控件:

你想喝点什么?

<label for="ice1"><input type="checkbox" name="withice" id="ice1">ice</label> 
<label for="ice2"><input type="checkbox" name="withlid" id="ice2">plastic lid</label>
<label for="ice3"><input type="checkbox" name="withstraw" id="ice3">straw</label>

答案 4 :(得分:1)

<label>是纯HTML标记,不需要JavaScript。我想所有(主要)浏览器都支持这个标签,因为它很容易实现。

许多开发人员都没有使用它,因为:

  • 需要更多努力(在所有地方添加所有标签)
  • 他们不知道它的存在
  • 他们认为这不方便吗?!

但没有理由不使用标签。除非您非常限制带宽,否则可能?