我正在开发一个网络应用程序,其中一个重复的应用程序a
当我通过 Tab 键浏览页面时,(锚点)元素没有获得键盘焦点。仅当我添加tabindex=0
我可以点击它吗?
(虽然我的目标是使焦点可见,但我正在使用 jQuery 片段确定元素是否获得焦点:
// Whenever I hit tab, show me which element has focus
$('main').on('keydown',function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
console.log("focus is now on ", $(':focus'));
}
});
)
这让我很困惑。根据规格 http://www.w3.org/html/wg/drafts/html/master/dom.html#interactive-content,“tabindex属性还可以使任何元素变成交互式内容”——但是a
是他们默认列为交互式的项目之一。
再次,摘自一篇可访问性文章:
[tabindex] 值为 0 表示该元素应放置在
默认导航顺序。这允许元素不是天生的
可聚焦的(例如
、
和 )来接收键盘焦点。
当然,通常应该对所有内容使用链接和表单控件
互动元素...
(http://webaim.org/techniques/keyboard/tabindex http://webaim.org/techniques/keyboard/tabindex)
当我通过选项卡浏览页面的交互元素时,什么会导致锚元素被跳过?
根据你的问题:
当我通过 Tab 键浏览时,什么会导致锚元素被跳过
页面的交互元素?
如果你添加tabindex="-1"
该元素将被跳过。
如果你的<a>
标签没有href
,它也会被跳过。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)