jQueryUI按钮集需要唯一的ID

时间:2012-05-13 10:19:09

标签: html jquery-ui jquery-plugins button label

如果使用jQueryUI创建一个radio / checkbox输入按钮组,则必须使用显式标签。这意味着您必须将label ID与input相关联。

如果您想在同一页面上使用多个相同的按钮组,这意味着您不能仅为每个按钮组使用相同的代码,因为ID在文档中必须是唯一的。

大多数浏览器都会接受非唯一ID,但我不会被迫违反Web标准,显然没有任何保证浏览器将来会继续支持非唯一ID。

我可以为每种情况生成唯一的ID,但这使代码复杂化并且增加了保证ID的问题确实是独一无二的。

处理多个相同按钮组的最佳方法是什么?

这表明了问题:http://jsfiddle.net/C3NyV/1/

在我的特定情况下,buttonset是由使用Widget工厂创建的插件生成的。我不知道这是否有助于解决这一特定问题。

1 个答案:

答案 0 :(得分:1)

无论jQuery UI如何,出于可访问性原因,您应该将所有输入的id属性与具有for属性的标签进行匹配。当屏幕阅读器遇到输入字段时,它会使用此条件查找匹配的标签。

我建议使用更具语义的东西来区分不同的集合,而不是生成唯一的标识符。它可能是更多的工作,但它将是更标准,可访问和可维护的代码。