在Java Swing中使用AccessibleContext有什么用?

时间:2009-06-02 13:08:09

标签: java swing user-interface accessibility

我见过很多使用
的例子 的 getAccessibleContext方法()。setAccessibleDescription(...)
设置一些“神奇”的描述。

这种描述有什么用?在哪里可以看到和 它应该如何支持可访问性?

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

此外,您对Java可访问性有何看法/经验? 东西?

2 个答案:

答案 0 :(得分:3)

我实际上并没有在我的应用程序中使用Swing的辅助工具(我可能应该这样做),但我认为它将有助于使用屏幕阅读器和其他技术来改善应用程序的可访问性。

来自Accessibility and the Swing Set文章:

  

如果应用程序完全支持   Java Accessibility API,它可以   兼容,友好,   屏幕阅读器,屏幕放大镜和   其他类型的辅助技术。

链接文章深入探讨了Swing和Accessibily API的辅助功能。

答案 1 :(得分:1)

正如所指出的那样,可访问的信息用于向屏幕阅读器等辅助技术公开信息(简而言之,作为盲人计算机用户,我使用屏幕阅读器来收集关于控件具有哪些重点以及其他有用的事情的有用信息。屏幕阅读器的例子是用于Windows的NVDA www.nvda-project.org,用于unix平台上的gnome桌面的Orca http://live.gnome.org/Orca和MacOSX中默认包含的画外音。对于包含文本的许多标准控件,您可以在不必明确设置可访问信息的情况下离开(例如,如果您有一个带有文本单词“OK”的按钮,那么屏幕阅读器可能会很好地说出这一点。当您没有显示文本时(例如,带有图形标签的按钮)或者您正在开发自定义控件(从内存中无需通过某些Java swing文档,我认为可访问)时,设置可访问信息的重要性就出现了name是为了识别控件而可访问的描述是提供额外的信息,如果它是一个自定义控件,可能是如何使用它的线索。)

现在,如果您希望了解其工作原理,NVDA和Orca是开源项目,配音包含在MacOSX 10.4(我认为)及更高版本中,因此您可以免费试用其中一种(与某些商业产品不同)这可能非常昂贵)。