大量(我敢说最多?)网站不会使标签可以点击其复选框和无线电输入。只需很少的努力就可以获得巨大的可用性。使用<label>
会导致开发人员无法使用此标记,是否存在任何兼容性/功能/可用性问题?
编辑:即使StackOverflow似乎也是如此,例如,在提问时,每天通知任何新答案复选框标签无法点击。
答案 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。我想所有(主要)浏览器都支持这个标签,因为它很容易实现。
许多开发人员都没有使用它,因为:
但没有理由不使用标签。除非您非常限制带宽,否则可能?