【问题标题】:jQuery accessibility - tabbing through sitejQuery 可访问性 - 浏览网站
【发布时间】:2012-06-06 23:54:30
【问题描述】:

我正在尝试在我的网站中创建标签焦点。每次用户点击 Tab 键时,焦点都会移动到页面上的下一项。

这在 ie 中有效(版本 9 和 8 已测试),但在 FF 中它仅适用于表单元素。

我可以使用 jquery 更普遍地实现这个功能吗?

谢谢。

【问题讨论】:

  • 只有 WebKit 浏览器和/或 OS X 浏览器默认具有此行为,并且可以像在任何其他浏览器上一样切换为“通过表单元素和链接切换”。您的具体测试配置是什么?

标签: jquery tabs focus accessibility


【解决方案1】:

给所有你想要的标签属性tabindex="0"

例子:

<b tabindex="0">Tabbable Title</b> 
<p tabindex="0">My tabbable content</p>
<div tabindex="0" style='height: 100px; width: 100px; border: 1px solid red;'></div>

DEMO Here,只需点击“Tabbable Title”文本,然后按 TAB 前进,Shift+TAB 后退。

这将按照每个元素在页面上出现的顺序在每个元素之间切换。您还可以通过为 tabindex 指定一个非 0 的数字来指定您自己的 tab 顺序,它将从 1 到 2 再到 3 等等。

【讨论】:

  • 当表单元素和链接已经在每个浏览器中都可以聚焦时,为什么要使用不可聚焦元素,然后使用 tabindex 属性将它们呈现为可聚焦?
  • 因为这是一个问题,“我可以让这个工作更普遍吗”。
  • 它已经普遍适用了......(我相信 WebKit 上的一个选项,我们没有来自 OP 的消息)。
  • OP:“在 FF 中它只适用于表单元素”,所以 不是 普遍适用。我不确定你在这里得到什么!
【解决方案2】:

是的,你可以。使用 jQuery,您可以使用:

$(function() {            
    if($.browser.mozilla) 
        $('*').attr('tabindex', 0);
});

【讨论】:

  • 你真的想让 div.clear (和其他没有信息的元素)成为焦点,还是这里的通用选择器只是一个例子?最初使用 Firefox 时,您是否观察到与 OP 类似的行为?
猜你喜欢
  • 2012-07-07
  • 2013-05-24
  • 2011-02-20
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
  • 1970-01-01
  • 2012-05-10
  • 2020-05-17
相关资源
最近更新 更多