Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html JAWS屏幕阅读器在切换到页面上的第一个元素后继续读取其他元素_Html_Internet Explorer 11_Jaws Screen Reader - Fatal编程技术网

Html JAWS屏幕阅读器在切换到页面上的第一个元素后继续读取其他元素

Html JAWS屏幕阅读器在切换到页面上的第一个元素后继续读取其他元素,html,internet-explorer-11,jaws-screen-reader,Html,Internet Explorer 11,Jaws Screen Reader,我正在构建一个Angular应用程序,在IE11中对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-l

我正在构建一个Angular应用程序,在IE11中对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>

一些头衔

一些文本

Btn1 Btn2 Btn3 Btn4
当我确定页面元素已加载时,我使用JQuery将注意力集中在#start tabbing from here id上

这样做的目的是,一旦用户开始标记,用户将按页面顺序在元素之间移动。即:第一个焦点是下一个“选项卡”上的“某个标题”,它一直移动到“某个文本”,同时大声朗读每个元素的内容

在Chrome(linux/windows/mac)和mac上的Safari中,我得到了预期的行为

在IE中,发生了一些非常奇怪的事情: 在第一个选项卡上,它不仅开始读取第一个元素,而且开始按页面顺序读取所有元素。即,JAWS将显示: “一些标题一些文本Btn1…”然后它会突然从第一个元素开始“重置”,然后最后大声朗读

本质上,将会发生的是: 用户选项卡一次,焦点移到“某个标题”。然后,JAWS大声朗读: “一些标题一些文本Btn1 Btn2一些标题”,然后它将停止阅读,页面将开始像我预期的那样运行

在我看来,“重置”似乎发生在一个固定的时间点上,或者在阅读了特定数量的单词之后。例如,如果我将我的元素内容更改为:

<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>

一些头衔

此处的一些较长文本

Btn1 Btn2 Btn3 Btn4
JAWS可能会读:“一些标题,一些较长的文本,一些标题”


我真的对这种行为感到困惑,不太确定从哪里开始调试。我真的希望得到一些意见!:)

在页面加载时,JAWS倾向于从上到下阅读页面。如果在页面加载时将焦点移动到特定元素,JAWS可能会从该点到底部读取页面。这是预期的行为,大多数用户都知道如何阻止JAWS阅读。 在您的示例中,为所有内容提供tabindex是个坏主意。这意味着,所有键盘用户,无论是否使用屏幕阅读器,都必须通过大量静态元素进行选项卡操作,才能找到他们想要与之交互的链接、按钮或表单元素,这对于患有RSI或类似情况的用户来说可能是痛苦的。它也不能帮助盲人用户,因为JAWS和其他屏幕阅读器内置了阅读和导航按键,用户不倾向于依赖Tab键。 最好在页面顶部提供一个跳过链接,将焦点移动到H1标题,让用户能够将焦点移动到唯一内容的开头。如果它不适合您的设计,您可以将其隐藏,直到用户对其进行选项卡操作,然后使其可见。
如果有令人信服的理由移动焦点,则将其移动到H1标题。

由于IE不提供任何设置来配置JAWS屏幕阅读器,因此最好咨询JAWS屏幕阅读器支持部门。就我方而言,我们无法获得有关此问题的任何信息。您可以尝试安装IE的最新更新,并检查它是否有助于解决问题。另外,请尝试查看JAWS屏幕阅读器文档中对IE的支持。您好@Deepak MSFT感谢您的回复。我曾试图向Freedom Scientific寻求对JAWS的支持,但是,我找不到他们的技术/开发人员支持。我同意这很可能是JAWS支持IE11的问题,而不是浏览器的任何问题。我希望有人可能遇到过类似的问题,并能提供一个解决办法。@Junberg,我可以在这个问题上为您提供进一步的帮助吗?仅供参考:通过为选项卡顺序添加静态文本,给它一个tabindex,这几乎不是一个好主意。加载页面时使用空格键,它将停止阅读整个页面。自动编写一些javascript代码,单击页面加载上的空格按钮。