【发布时间】:2019-08-25 01:54:07
【问题描述】:
我正在构建一个 Angular 应用程序,但在 IE 11 中对 Jaws 的可访问性支持存在一些问题。
我的页面如下所示:
<div id="start-tabbing-from-here" aria-label="Press tab to begin" tabindex="-1"></div>
<h1 tabindex="0" aria-label="Some title">Some title</h1>
<p tabindex="0" aria-label="Some text">Some text</p>
<button tabindex="0" aria-label="Btn1">Btn1</button>
<button tabindex="0" aria-label="Btn2">Btn2</button>
<button tabindex="0" aria-label="Btn3">Btn3</button>
<button tabindex="0" aria-label="Btn4">Btn4</button>
当我确定页面元素已加载时,我使用 JQuery 将“焦点”放在#start-tabbing-from-here id 上。
其目的是一旦用户开始使用 tab 键,用户将按页面顺序在元素中移动。即:首先关注的是下一个“标签”上的“某些标题”,它一直移动到“某些文本”,同时大声朗读每个元素的内容。
在 Chrome (linux/windows/mac) 以及 Mac 上的 Safari 中,我得到了预期的行为。
在 IE 中发生了一些非常奇怪的事情: 在第一个选项卡上,它不仅开始阅读第一个元素,而且开始阅读页面顺序中的所有元素。 IE。 JAWS 将显示: 'Some title some text Btn1 ...' 然后突然它会从第一个元素开始'重置',然后最后一次大声朗读。
本质上会发生这样的事情: 用户选项卡一次,焦点移动到“某些标题”。 JAWS 然后大声朗读: “Some title some text Btn1 Btn2 Some title”然后它将停止阅读,页面将开始按我预期的方式运行。
在我看来,“重置”发生在一个固定的时间点或在阅读了特定数量的单词之后。例如。如果我将元素的内容更改为:
<div tabindex="-1" id="start-tabbing-from-here">
<h1 tabindex="0" aria-label="Some title">Some title</h1>
<p tabindex="0" aria-label="Some longer text that is here">Some longer text that is here</p>
<button tabindex="0" aria-label="Btn1">Btn1</button>
<button tabindex="0" aria-label="Btn2">Btn2</button>
<button tabindex="0" aria-label="Btn3">Btn3</button>
<button tabindex="0" aria-label="Btn4">Btn4</button>
</div>
JAWS 可能会显示:“一些标题一些较长的文本,一些标题”。
我真的对这种行为感到困惑,并且不太确定从哪里开始调试。我真的很希望有一些意见! :)
【问题讨论】:
-
由于 IE 没有提供任何配置 JAWS 屏幕阅读器的设置,最好咨询 JAWS 屏幕阅读器支持。就我们而言,我们无法获得有关此问题的任何信息。您可以尝试安装最新的 IE 更新并检查是否有助于解决问题。还可以尝试在 JAWS 屏幕阅读器文档中检查对 IE 的支持。
-
嗨@Deepak-MSFT 感谢您的回复。我已尝试联系 Freedom Scientific 以获取有关 JAWS 的支持,但是,我找不到他们的技术/开发人员支持。我同意这很可能是 JAWS 对 IE 11 的支持的问题,而不是浏览器的任何问题。我希望有人可能遇到过类似的问题并可以提供解决方法。
-
@Junberg,我可以在这个问题上进一步帮助你吗?
-
仅供参考:通过给它一个 tabindex 来将静态文本添加到 tab 顺序,这几乎不是一个好主意。
-
在加载页面时使用空格键将停止阅读整个页面。编写一些javascript代码在页面加载时自动单击空格按钮。
标签: html internet-explorer-11 jaws-screen-reader