Mac Safari Voiceover光标不遵循键盘焦点

时间:2016-01-07 12:17:21

标签: accessibility voiceover screen-readers

我有一个Web应用程序,我使用卡片布局。我没有加载网页,而是为每个页面修改DOM。配音外观的问题在于,在更改视图时,VO光标停留在单击此页面链接的相同位置。因此,在按下CMD + Option + A时,VO不是从顶部读取屏幕,而是从同一位置读取。在Windows上使用JAWS也很明显。 我尝试通过创建一个空的Div到顶部并将焦点(Javascript element.focus())设置为页面更改的div来修复它。这解决了JAWS的问题,但不适用于Mac Safari VO。画外音光标不遵循键盘焦点。 See Image 请注意,所有默认设置均已在VO Utility中设置。 VO光标设置为焦点键盘焦点复选框。

蓝线是隐藏的div,由于键盘焦点而显示为蓝色。黑色矩形是VO光标。

1 个答案:

答案 0 :(得分:1)

我使用500到1000毫秒的延迟解决了这个问题。 ** Window.setTimeout(moveFocus logic,1000)** 延迟确保在将键盘焦点移动到元素之前已完全附加dom。如果您的网站很重,甚至可能需要更多延迟。 我在Windows 7上通过Ipad,Iphone ios8,mac os x 10和jaws 17.0进行了验证。

另请注意,将焦点移动到隐藏的div会导致不同屏幕阅读器出现意外结果。因此,将焦点移动到页面的顶部可聚焦元素。如标题。 如果你一直在使用'aria-live:assertive',在这个聚焦元素,删除这个标签,因为这将使屏幕阅读器读取你的元素内容两次。