0

当谈到标签焦点之类的事情时,我相当无知。我正在使用 JQuery 数据表。

在一个窗口中,点击选项卡会滚动元素,不包括表格行,但包括带有“第一个、上一个、下一个、最后一个”分页按钮的表格页脚。

在另一个窗口中,选项卡焦点停在表格行的末尾并返回到页面顶部,跳过“第一、上一个、下一个、最后一个”的分页按钮。

我对这两个数据表都进行了编码,它们非常相似,就像弹出窗口本身一样。我认为这没什么大不了的,但是我的开发团队中的某个人为此打开了一个错误,并且由于这是我的代码,我想修复它(我不知道为什么有人会浪费时间测试这样的东西,我确信我们的客户使用他们的光标点击分页按钮,我怀疑他们中的许多人甚至意识到反复点击标签会将他们带到那里)。

我的问题是,是什么决定了哪些元素可以获得标签焦点?为什么两段非常相似的代码会有如此不同的行为?我怎样才能使它们保持一致(允许所有元素获得标签焦点,或者至少是分页按钮)?

4

1 回答 1

2

我能想到的主要原因:

  1. input,buttona(anchor) 元素默认是“tab-able”,除非它们具有tabindex="-1"非标准属性,但大多数浏览器都提供支持。它用于禁用标签。如果值为 ,则从按钮中删除该属性-1。还要确保没有 JS 也将元素设置tabIndex-1

  2. 除了具有tabindex(例如tabindex="0")的默认可选项卡元素之外的元素也变为可选项卡。

  3. 不太可能,但请确保没有将焦点重定向到附加到按钮的其他位置的onfocus属性或处理程序。focus密钥也是可以捕获的tab,但这不太可能。

这是一个演示上述内容的演示。

于 2012-12-18T16:48:21.140 回答