有时候需要让非焦点元素专注于屏幕阅读器。
示例:当创建跳转到ID的<a href="#target">Skip to content</a>
等跳转链接时,特定元素也获得焦点非常重要,因此不仅视口会滚动到元素,还会设置焦点那里。否则,只有键盘用户一旦尝试选择标签到下一个元素,就会“跳转”回文档的开头(期望标签从#target
对象开始)。
这里需要tabindex="0"
,这可以按预期工作。不太好的是,在其他用例中(例如,当在整个页面中进行制表时),这很烦人(您通常不想关注不可聚焦的元素)。
解决方法的排序可能是:在页面加载时创建一个javascript ...
addVolatileTabindex
的调用
addVolatileTabindex
会向目标元素添加tabindex="0"
,然后将其关注removeVolatileTabindex
的调用
removeVolatileTabindex
时,tabindex="0"
将被删除这样,tabindex="0"
仅在真正需要的时候出现,否则就不存在。
是否可能已有解决方案?或者还有其他方法可以实现这一目标吗?
答案 0 :(得分:1)
同样使用tabindex="-1"
,您可以在用户选中(模糊)时删除tabindex,即使用户点击它也不会转到该元素 -