繁体   English   中英

以编程方式设置JAWS光标焦点

[英]Set JAWS cursor focus programmatically

我正在开发一个需要通过JAWS访问的Web应用程序。 有一项要求说必须关注新打开的对话框才能被JAWS宣布。 我实现了它,并且在没有JAWS的情况下也可以正常工作:对话框的第一个元素具有焦点。 使用JAWS + IE测试此网站表明该元素已聚焦,但盲文阅读器显示了一些不同的内容(页面标题的一部分),并且该内容也正在被读取。

据我了解,这意味着PC的光标正确,但是JAWS光标放错了位置。

有没有办法使用JavaScript影响JAWS光标的放置?

使用JAWS进行测试时,您不仅需要查看屏幕,还需要聆听JAWS在说什么。 如果您需要进行测试以提供可靠的结果,请花一些时间来熟悉JAWS。

创建可访问对话框的最佳方法是:

  • 确保对话框标题具有ID属性。
  • 如果对话框中有短消息,请确保它也具有ID属性。
  • 将容器的角色设置为“ dialog”,将tabindex设置为“ -1”。
  • 确保容器的ARIA-LABELLEDBY属性包含标题的ID。
  • 确保容器的ARIA-DESCRIBEDBY属性包含短消息的ID(如果有)。
  • 对话框打开时,将焦点发送到容器。

如果您将此模式遵循字母,则您的对话框将与JAWS和其他AT完美配合。

简单的例子:

<div id="dlg_discard" tabindex="-1" role="dialog" aria-labelledby="dialog_heading" aria-describedby="dialog_message">
<h1 id="dialog_heading">Discard changes?</h1>
<p id="dialog_message">Are you sure you want to discard your changes?</p>
<button>Yes</button> <button>No</button>
</div>

...以及使对话框可见的jQuery ...

$("#dlg_discard").show().focus();

有什么方法可以影响他的JAWS光标位置(通过Javascript)?

没有

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM