【问题标题】:JAWS screen reader continues reading other elements after tabbing to first element on pageJAWS 屏幕阅读器在切换到页面上的第一个元素后继续阅读其他元素
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多