javascript - 屏幕阅读器 aria 实时断言文本被中断

标签 javascript html accessibility wcag wcag2.0

$('#firstButton').focus();
<div id="liveRegion" aria-live="assertive">
  This is a very long text
</div>
<button id="firstButton">First Button</button>

我在可访问性问题上是个新手。我基本上有一个按钮,我希望将焦点放在页面加载上,但我也希望 liveRegion 中的屏幕阅读器拾取文本。 现在,文本将在页面加载期间的某个时刻被中断,并且焦点转到按钮。 有没有办法让屏幕阅读器不被中断?

最佳答案

实时区域一开始可能会令人困惑。事件区域的目的是宣布页面的更改,而不是宣布页面加载信息。加载页面后,如果页面上发生某些更改(例如元素内的文本或添加新元素),则可以在 aria-live 的情况下宣布这些更改。使用属性。

大多数页面在加载时不会宣布任何内容。屏幕阅读器用户会听到页面正在加载,完成后(屏幕阅读器中通常会发出声音提示,让您知道页面是否仍在加载或已完成),通常会宣布页面标题,然后读取具有初始焦点的任何对象。

如果您确实需要在页面加载后阅读某些内容,那么它可能应该具有初始焦点。但要小心,因为将焦点放在非交互式元素(例如段落( <p> )或非语义元素( <div> )上可能会造成混淆。如果您必须诉诸于此,请确保该元素具有 tabindex="-1"这样该元素就不会处于正常的键盘焦点顺序。

关于javascript - 屏幕阅读器 aria 实时断言文本被中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51642466/

相关文章:

javascript - jscript + jquery + 一个例子的基本区别

javascript - 带有JS确认对话框的广播按钮验证

javascript - 使用 JQuery 复选框过滤项目列表

pycharm - 如何在 Pycharm 编辑器中全局增加字体大小?

ios - 可重用 TableViewCell 中的辅助功能问题

swift - 框架方法可访问性中的桥接 header

javascript - 加载时jquery加载

javascript - 在悬停时替换元素的文本 jQuery JS

javascript - 客户端事件库 (asp.net)

html - 基础顶部栏 : Position Title in Center