我见过很多使用的例子
getAccessibleContext().setAccessibleDescription(...)
设置一些“神奇”的描述。
这个描述有什么用?哪里可以看到以及 它应该如何支持可访问性?
为什么不使用setDescription(...)?
此外,您对 Java 可访问性的看法/经验是什么 东西?
我实际上并没有在我的应用程序中使用 Swing 的辅助功能(我可能应该),但我认为它将有助于使用屏幕阅读器和其他技术来提高应用程序的辅助功能。
来自辅助功能和秋千文章:
如果应用程序完全支持 Java Accessibility API,它可以是 兼容并友好地对待 屏幕阅读器、屏幕放大器和 其他类型的辅助技术。
链接的文章深入介绍了 Swing 的辅助功能和 Accessibily API。
正如所指出的,可访问信息用于向屏幕阅读器等辅助技术公开信息(简而言之,作为盲人计算机用户,我使用屏幕阅读器来收集有关哪些控件具有焦点以及应用程序中发生的其他有用事情的有用信息,并且然后让它向我朗读。屏幕阅读器的示例包括适用于 Windows 的 NVDA www.nvda-project.org、适用于 Unix 平台上的 gnome 桌面的 Orca http://live.gnome.org/Orca 和 Voiceover。 MacOSX 中默认包含)。对于许多包含文本的标准控件,您可能无需显式设置可访问信息就可以逃脱(例如,如果您有一个带有文本单词“OK”的按钮,那么屏幕阅读器可能会很好地读出它。当您没有显示文本(例如带有图形标签的按钮)或正在开发自定义控件时(从内存中无需回溯一些 Java swing 文档,我认为可访问信息),设置可访问信息的重要性就显现出来了。名称是为了识别控件,可访问的描述是为了提供额外的信息,可以如果它是自定义控件,请作为如何使用它的线索)。
现在,如果您想了解其工作原理,NVDA 和 Orca 都是开源项目,并且 MacOSX 10.4(我认为)及更高版本中包含配音功能,因此您可以免费尝试其中一种(与某些商业产品不同,它们可以非常昂贵)。