为 Mac VoiceOver 更加关注某些 div 的方法?

Way to put more focus on certain div for Mac VoiceOver?

我在一家报社工作,我们接到了一个使用 Mac VoiceOver 的人打来的电话。他说从几天前开始,VoiceOver 不再能正确阅读我们网站上的文章。我用我极其有限的 VoiceOver 理解测试了它,但我根本无法让它阅读故事的正文。它可能会读取 lede,但在那之后就停止了。

那么有没有办法在 HTML 中放置更高的 VO 优先级?在 VO 到达文章正文之前,页面上还有很多其他元素正在阅读。

这是一个示例页面,如果它可以帮助任何人弄清楚为什么它不阅读主体: http://www.thebrunswicknews.com/news/national_news/professor-historic-outhouses-underappreciated-in-southwest/article_a4319478-fe98-5dd1-9c98-ebabde4ee856.html

该页面似乎使用了 TabIndex。这是在制造导航陷阱。例如,在标题为 "Welcome to the Discussion" 的表单中,有两个标签索引分别为 100 和 101 的输入字段。这向我表明至少有 99 个其他控件带有选项卡索引。这本身就是一种可访问性违规,因为焦点顺序与内容顺序不同步,没有意义。应该非常谨慎地使用 TabIndex(标签索引为 0 除外),尤其是涉及到辅助功能时!

现在,通常情况下,我们可以依靠 VoiceOver 箭头键导航来导航到内容元素,而不是使用选项卡式导航的活动可聚焦控件。但是,大多数这些选项卡索引控件都在表单元素内,因此不同的导航模式接管并禁用了典型的箭头键,VoiceOver 导航。因此,用户无法(如果对如何使用此页面的 VoiceOver/the 奇怪结构没有相当深入的了解)从中逃脱。因此,您拥有的是一个大型键盘陷阱,在您的页面上围绕大约 101 个不同的元素弹跳。将所有选项卡索引值设置为 0,或者简单地删除它们,除非它们位于通常不可聚焦的元素上,这样你就可以开始了!或者至少,您正在谈论的问题将得到解决。此页面上还有许多其他可访问性问题,但解决此问题是一个好的开始。