gpt4 book ai didi

java - 改进 Swing 窗口的可访问性

转载 作者:行者123 更新时间:2023-11-30 11:56:59 24 4
gpt4 key购买 nike

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

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

最佳答案

您也许能够做到这一点,但它需要使用不受真正支持的 Jaws COM api。 Jaws 与桌面应用程序的交互方式与与网站的交互方式大不相同。 Jaws 将网页渲染到一个虚拟缓冲区中,并使用各种魔法使它们更易于使用。 Jaws 不会为桌面应用程序执行此操作。我假设它不这样做的部分原因是桌面应用程序没有所有可用信息来创建可用于 HTML 的替代表示模式。对于它的值(value),即使是 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

关于java - 改进 Swing 窗口的可访问性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4082211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com