Java Swing中的AccessibleContext有什么用?

8

我看到很多使用getAccessibleContext().setAccessibleDescription(...)的例子来设置一些“神奇”的描述。

这个描述有什么用?它在哪里可以看到,如何支持可访问性?

为什么不使用setDescription(...)

此外,您对Java可访问性的看法/经验是什么?

2个回答

4
我实际上没有在我的应用程序中使用Swing的辅助功能(我可能应该),但我认为它将有助于使用屏幕阅读器和其他技术,以提高应用程序的可访问性。
从《可访问性和Swing Set》文章中得知:
如果一个应用程序完全支持Java Accessibility API,它可以与屏幕阅读器、屏幕放大器和其他类型的辅助技术兼容并友好地协作。
链接的文章详细介绍了Swing的可访问性功能和Accessibily API

谢谢,我没有考虑到屏幕阅读器和其他第三方应用程序。 - ivan_ivanovich_ivanoff

2
如指出的那样,可访问信息用于向辅助技术(例如屏幕阅读器)公开信息(简言之,作为盲人电脑用户,我使用屏幕阅读器收集关于哪个控件具有焦点和应用程序中其他有用信息,然后让它对我说出来。屏幕阅读器的示例包括 Windows 上的 NVDA www.nvda-project.org,在 Unix 平台上的 Gnome 桌面上的 Orca http://live.gnome.org/Orca 和默认包含在 MacOSX 中的 VoiceOver)。对于一些包含文本的标准控件,您可能可以不必显式设置可访问信息(例如,如果您有一个带有文本单词“OK”的按钮,则屏幕阅读器可能会很好地朗读它。设置可访问信息的重要性在于当您没有显示文本时(例如,带有图形标签的按钮)或者当您正在开发自定义控件时(从记忆中而不是通过 Java swing 文档),我认为可访问名称用于标识控件,可访问描述用于提供额外信息,可能是如何使用它的线索,如果它是自定义控件。)
现在,如果您想看看这是如何工作的,NVDA和Orca是开源项目,而VoiceOver包含在MacOSX 10.4(我想)及更高版本中,因此您可以免费尝试其中之一(与一些商业产品相比,它们非常昂贵)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接