我一直在努力将aria添加到现有的标签界面,该界面使用网址哈希(或片段)来帮助共享指向特定标签的链接。即,tabs.html#tab2
将在页面加载时显示tab2。
我一直在努力遵循https://medium.com/@LeonieWatson/danger-testing-accessibility-with-real-people-4515f72db648
所述的标签辅助功能的最佳做法但是,我找到的可访问选项卡的所有示例都删除了哈希更改功能(激活选项卡时URL不会更改)。当我试图自己实现它时,我遇到了一个奇怪的问题。当VO打开且VO光标位于选项卡上时,VO光标将不会跟随键盘导航到其他选项卡。相反,焦点将立即返回到带有VO光标的选项卡(防止标签被读取)。关闭VO时不会发生此问题(可能是因为没有VO光标)。
备注
示例:
我尝试了什么:
preventDefault()
同时包含click
和hashchange
事件处理程序
其中没有一个有效。无论我做什么,我都无法让VO光标跟随标签的键盘导航。
有谁知道如何解决这个问题?
答案 0 :(得分:0)
我不确定这是否相关,但我不禁注意到如果你在Safari中打开your example code然后点击页面中的任何文字,你会看到一个闪烁光标。 (您还可以在视频中看到光标闪烁。)
另一方面,code example from the article that you linked to似乎没有这样做。 (也就是说,如果单击页面中的文本,则看不到闪烁的光标。)所以这看起来有点奇怪。
只是为了抛出一个不相关的想法,如果有人要按住其中一个箭头键,你的keydown代码是否有可能容易受到竞争条件的影响?
答案 1 :(得分:0)
看来我跳了枪,并认为这个问题是由于VO不遵循程序化焦点。 REAL问题似乎是VO或浏览器错误,实际上与CSS有关。请参阅我的示例页面:http://mfairchild365.github.io/aria-tabs-vo-bug/
我想了解为什么单个CSS规则会产生这样的影响。如果您能回答这个问题,请在我的示例仓库中打开一个问题。