当焦点放在另一个字段上时,Aria-live无法正常工作

时间:2015-11-30 14:49:33

标签: wai-aria

我正在编写一个非常简单的SPA应用程序,它只有一个只读的输出'字段,后跟单个输入字段。当用户键入输入命令并按Enter键时,JavaScript会将文本写入输出字段。我希望屏幕阅读器能够直接读取此输出而无需用户导航到输出字段,因此我添加了aria-live,因此:

<div>
    <div class="output" aria-live="polite">{{myViewModel.output}}</div>
    <input type="text" myAngularDirective />
</div>

在第一次迭代中,这完全符合我的要求。但是,某些命令会更改Url(尽管使用相同的视图渲染),我想确保焦点保留在输入字段上,并且在大多数情况下,输入字段将被清除以用于下一个命令。当我添加代码以聚焦输入或修改它时,输出仍然可以在屏幕上呈现,但不再被屏幕阅读器读出。

我试过了:

  • 更改(在JavaScript中)写入输出的顺序和 清除/关注输入
  • 将咏叹调加入“自信”
  • 还在输入中添加了aria-live(不知道为什么我认为会这样 帮助)
  • 将aria-live从输出字段移动到周围的div

没有任何区别。如果我删除焦点/清除逻辑,一切都很好。关于我失踪的咏叹调如何运作有一些微妙之处:任何帮助都值得赞赏。

0 个答案:

没有答案