2010-02-13 78 views
31

大量的(我敢说大多数?)网站不会使标签对其复选框和广播输入点击。这似乎是一个巨大的可用性收益很少的努力。使用<label>是否有任何兼容性/功能性/可用性问题会阻碍开发人员使用此标签?制作复选框和广播标签可点击

编辑:即使StackOverflow上似乎犯了这一点,例如,问一个问题时,该日常通知任何新的答案复选框标签是无法点击。

+0

如果我没记错的话''

+0

我已经知道了一段时间,但从现在开始,我会更多地使用它。 – AndrewB 2013-09-05 20:53:28

回答

28

没有理由,除了懒惰。 <label> s对于可访问性来说是必不可少的,对于我们这些对我们的鼠标点击不好的人来说也非常方便:)

+9

嘿,告诉杰夫阿特伍德,看看我上面的编辑。 – RedFilter 2010-02-13 14:02:45

+1

oops - 尽管配置文件首选项页面上的复选框确实有标签 – Ray 2010-02-13 14:31:29

+1

是的,它在整个网站中不一致。 – RedFilter 2010-02-16 20:04:35

1

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

因为很多开发商都没有使用它:

  • 它需要更多的努力(加上随处可见的所有标签)
  • 他们不知道它的存在
  • 他们不认为这是方便?!

但没有理由不使用标签。除非你是非常限制你的带宽,也许?

+0

我认为带宽评论只适用于一些最受欢迎的网站,例如谷歌。 – alex 2010-05-10 01:00:13

+0

我完全同意,但这是我能想到为什么不使用'

+0

@alex:确实如此,Google不会使用'

7

不,没有问题,但不幸的是这是一个most ignored html tags。同意,这个标签是可访问的原因非常重要,更重要的是,当涉及到布局小型设备,如手机,就不能没有这个。

+1

移动重要性+1。和不错的链接,谢谢。如果你去他们的注册页面,你会注意到他们没有使用'

+0

@OrbMan:这就是为什么我提出了+1的问题,你问过,并且猜测即使我已经回答了,但我自己从来没有关心过它。 :) – Sarfraz 2010-02-13 13:43:06

+0

就像正确的Tab键顺序(甚至是Tab键能力),热键和一般用键盘做事的能力正在缓慢但肯定地从软件中消失... – 2011-03-03 11:58:39

3

我能想到的唯一的困难是,你的表单控件需要有一个ID属性,ID属性需要在您的网页中是唯一的。

如果你是编程生成的表单域,你会产生为他们每个人,他们出现在每个页面内唯一的ID。这可能是一个问题。

但一般来说,是的,我认为这只是程序员没有在脑海中。

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

+0

+1为探索实施障碍 – RedFilter 2010-02-13 14:29:52

+1

Form控件不需要ID:

+1

我想我已经看到浏览器不会实现click-label-to-select-form-field 'id'属性。偶尔,出于布局原因,您不希望自己的表单字段位于'

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> 
+0

您的链接已损坏。 – Sildoreth 2013-12-20 17:11:03

+2

如果将输入标签包装在标签中,则根本不需要ID和ID – 2014-07-27 13:09:15