2

我有一个 Swing JFrame,其中包含几个 JLabels、几个只读 JEditorPanes 和几个按钮。JAWS 用户要求以更少的用户交互来读取应用程序。现在,应用程序以某个元素为焦点开始,用户必须按 Tab 键移动焦点并继续到下一个元素。而对于网页,例如,JAWS 将直接浏览并阅读所有内容,而无需用户按 Tab。对于我们的 JAWS 用户来说尤其烦人的是,只读的 JEditorPanes 一次只能读取一行文本,需要用户按向上和向下箭头键在它们之间移动。

如何让 JAWS 版本 9 用户更流畅地阅读此 JFrame?

4

1 回答 1

1

您也许可以做到这一点,但它需要使用不受支持的 Jaws COM api。Jaws 与桌面应用程序的交互方式与与网站的交互方式大不相同。Jaws 将网页呈现到虚拟缓冲区中,并使用各种魔法使它们更易于使用。Jaws 不会对桌面应用程序执行此操作。我认为它不这样做的部分原因是桌面应用程序没有可用的所有信息来创建可用于 HTML 的替代演示模式。无论如何,即使是 Jaws 附带的实用程序也不会自动有只读的编辑字段。说了这么多,如果你真的需要这样做,你最好的选择可能是当用户给他们焦点时通过jaws api说出只读编辑字段的内容。这将需要在您的 Java 应用程序中使用 COM 来访问 api。我知道有一些 java 库可以让你以某种形式使用 COM,但我从来没有这样做过。您可以在标准 Jaws 安装目录中找到 api 的副本,在我的情况下是

c:\program files\Freedom Scientific\jaws\jfwapi.dll

您必须使用您最喜欢的应用程序来查看 COM 库以确定可用的方法,因为我找不到任何官方文档。您可能还想查看以下代码示例,它位于 AutoIt 中,但提供了如何使用多个屏幕阅读器朗读文本的一般概念。http://www.scribd.com/doc/19371/speak-with-autoit

于 2010-11-02T23:10:38.247 回答