Module java.desktop

Package javax.accessibility


package javax.accessibility
定义用户界面组件与辅助技术之间的合同,该合同提供对这些组件的访问。如果Java应用程序完全支持Java辅助功能API,则应与屏幕阅读器、屏幕放大器等辅助技术兼容且友好。对于完全支持Java辅助功能API的Java应用程序,不需要屏幕阅读器的屏幕模型,因为API提供了通常包含在屏幕模型中的所有信息。

Java辅助功能API包包括8个Java编程语言接口和6个Java编程语言类。这些如下所述。

接口 Accessible

接口 Accessible是Java辅助功能API的主要接口。所有支持Java辅助功能API的组件都必须实现此接口。它包含一个方法,getAccessibleContext,返回一个AccessibleContext类的实例。Sun认为,如果要使程序与辅助技术兼容,实现此接口是Java应用程序用户界面中的每个对象的绝对最低要求。

类 AccessibleContext

类 AccessibleContext代表所有可访问对象返回的最小信息,并通过调用实现Accessible接口的对象上的getAccessibleContext方法获得。此信息包括对象的可访问名称、描述、角色状态,以及关于对象的父级和子级的信息。此外,还包括JavaBeans属性更改支持,以允许辅助技术了解可访问属性值何时更改。AccessibleContext还包含用于获取有关组件的更具体可访问性信息的方法。如果组件支持,这些方法将返回实现以下一个或多个接口的对象:
  • AccessibleAction - 对象可以执行一个或多个操作。此接口为辅助技术提供了标准机制,以确定这些操作是什么,并告诉对象执行这些操作。任何可操作的对象在调用AccessibleContext的getAccessibleAction方法时应返回实现此接口的对象。
  • AccessibleComponent - 对象具有图形表示。此接口为辅助技术提供了标准机制,以确定和设置对象的图形表示。任何在屏幕上呈现的对象在调用AccessibleContext的getAccessibleComponent方法时应返回实现此接口的对象。
  • AccessibleSelection - 对象允许选择其子级。此接口为辅助技术提供了标准机制,以确定当前选择的子级以及修改选择集。任何具有可选择子级的对象在调用AccessibleContext的getAccessibleSelection方法时应返回实现此接口的对象。
  • AccessibleText - 对象在显示上呈现可编辑文本信息。此接口为辅助技术提供了标准机制,以通过其内容、属性和空间位置访问该文本。任何包含可编辑文本的对象在调用AccessibleContext的getAccessibleText方法时应返回实现此接口的对象。
  • AccessibleHypertext - 对象在显示上呈现超文本信息。此接口为辅助技术提供了标准机制,以通过其内容、属性和空间位置访问该超文本。任何包含超文本的对象在调用AccessibleContext的getAccessibleText方法时应返回实现此接口的对象。
  • AccessibleValue - 对象支持数值。此接口为辅助技术提供了标准机制,以确定和设置对象的当前值,以及最小值和最大值。任何支持数值的对象在调用AccessibleContext的getAccessibleValue方法时应返回实现此接口的对象。

类 AccessibleRole

此类封装了可访问对象在用户界面中的角色,并通过在AccessibleContext上调用getAccessibleRole方法获得。可访问角色包括“复选框”、“菜单项”、“面板”等。这些角色由此类中的常量识别,如AccessibleRole.CHECK_BOX, AccessibleRole.MENU_ITEM,AccessibleRole.PANEL。此类中的常量呈现了常见对象角色的强类型枚举。此类的公共构造函数被故意省略,应用程序应使用此类中的常量之一。尽管此类预定义了大量标准角色,但它是可扩展的,因此将来可以添加额外的程序员定义的角色,而无需修改基类。

类 AccessibleState

此类封装了可访问对象的特定状态。可访问状态包括“武装”、“繁忙”、“已选中”、“焦点”等。这些状态由此类中的常量识别,如AccessibleState.ARMED, AccessibleState.BUSY, AccessibleState.CHECKED,AccessibleState.FOCUSED。可访问对象的所有状态的总和称为AccessibleStateSet,可以通过在AccessibleContext上调用getAccessibleStateSet方法获得。

此类中的常量呈现了常见对象角色的强类型枚举。此类的公共构造函数被故意省略,应用程序应使用此类中的常量之一。尽管此类预定义了大量标准角色,但它是可扩展的,因此将来可以添加额外的程序员定义的角色,而无需修改基类。

类 AccessibleStateSet

此类封装了可访问对象的一组状态,并通过在AccessibleContext上调用getAccessibleStateSet方法获得。由于对象可能具有多个状态(例如,可能同时处于“已选中”和“焦点”状态),因此需要此类来封装这些状态的集合。类中的方法提供了检索状态集合中各个AccessibleStates的方法。

类 AccessibleBundle

此类用于维护强类型枚举。它是AccessibleRoleAccessibleState类的超类。程序员通常不直接与此类交互,而是使用AccessibleRoleAccessibleState类。

接口 AccessibleAction

AccessibleAction接口应该由可以执行一个或多个操作的任何对象支持。此接口为辅助技术提供了标准机制,以确定这些操作是什么,并告诉对象执行这些操作。任何可操作的对象应支持此接口。

应用程序可以通过首先获取其AccessibleContext(请参见Accessible)然后调用AccessibleContextgetAccessibleAction方法来确定对象是否支持AccessibleAction接口。如果返回值不是null,则对象支持此接口。

接口 AccessibleComponent

AccessibleComponent接口应该由任何在屏幕上呈现的对象支持。此接口为辅助技术提供了标准机制,以确定和设置对象的图形表示。

应用程序可以通过首先获取其AccessibleContext(请参见Accessible)然后调用AccessibleContextgetAccessibleComponent方法来确定对象是否支持AccessibleComponent接口。如果返回值不是null,则对象支持此接口。

接口 AccessibleSelection

AccessibleSelection接口为辅助技术提供了标准机制,以确定当前选择的子级以及修改选择集。任何具有可选择子级的对象应支持AccessibleSelection接口。

应用程序可以通过首先获取其AccessibleContext(请参见Accessible)然后调用AccessibleContextgetAccessibleSelection方法来确定对象是否支持AccessibleSelection接口。如果返回值不是null,则对象支持此接口。

接口 AccessibleText

接口AccessibleText是用于使富文本、可编辑文本可访问的合同。并非所有显示在屏幕上的文本都是富文本和可编辑的(例如,按钮、标签、菜单中的文本,用户不希望操作)。但是,包含可编辑文本的对象必须实现AccessibleText接口,以便与辅助技术进行交互。

此接口提供了在给定像素坐标处的文本和像素坐标之间进行转换的支持,用于检索给定位置文本的字母、单词和句子之前或之后的内容。此接口还提供了检索给定位置文本字符属性(字体、字体大小、样式等)的支持,以及获取所选文本(如果有)、文本长度和文本插入符位置的支持。

应用程序可以通过首先获取其AccessibleContext(请参见Accessible)然后调用AccessibleContextgetAccessibleText方法来确定对象是否支持AccessibleText接口。如果返回值不是null,则对象支持此接口。

接口 AccessibleHypertext

AccessibleHypertext接口应该由在显示器上呈现超文本信息的任何对象支持。此接口提供了辅助技术通过其内容、属性和空间位置访问该文本的标准机制。它还提供了操作超链接的标准机制。应用程序可以通过首先获取其AccessibleContext(请参见Accessible)然后调用AccessibleContext的AccessibleContext.getAccessibleText()方法来确定对象是否支持AccessibleHypertext接口。如果返回值是扩展了AccessibleHypertext的类,则该对象支持AccessibleHypertext。

接口 AccessibleHyperlink

作为超链接的对象应该支持AccessibleHyperlink接口。实现此接口的对象将通过在AccessibleHypertext对象上调用getLink方法返回。

接口 AccessibleValue

AccessibleValue接口应该由支持数值(例如滚动条)的任何对象支持。此接口提供了辅助技术确定和设置数值以及获取最小和最大值的标准机制。

应用程序可以通过首先获取其AccessibleContext(请参见Accessible)然后调用getAccessibleValue方法来确定对象是否支持AccessibleValue接口。如果返回值不是null,则对象支持此接口。

自版本:
1.2
  • Class
    Description
    辅助技术的服务提供者接口(SPI)。
    Accessible 接口是辅助功能包的主要接口。
    AccessibleAction 接口应该由任何可以执行一个或多个操作的对象支持。
    该类收集具有相同连续属性集的文本范围以及该属性集。
    用于维护强类型枚举的基类。
    AccessibleComponent 接口应该由在屏幕上呈现的任何对象支持。
    AccessibleContext 表示所有可访问对象返回的最小信息。
    AccessibleEditableText 接口应该由在显示器上呈现可编辑文本信息的所有类实现。
    AccessibleExtendedComponent 接口应该由在屏幕上呈现的任何对象支持。
    AccessibleExtendedTable 类提供有关以二维表格格式呈现数据的用户界面组件的扩展信息。
    AccessibleExtendedText 接口包含AccessibleText 接口未提供的附加方法。
    在超文本文档中封装链接或链接集(例如客户端端图像映射)。
    AccessibleHypertext 类是在显示器上呈现超文本信息的所有类的基类。
    AccessibleIcon 接口应该由具有关联图标(例如按钮)的任何对象支持。
    AccessibleKeyBinding 接口应该由具有键盘绑定(例如键盘助记符和/或键盘快捷键)的任何对象支持,可用于选择对象。
    AccessibleRelation 类描述实现AccessibleRelation 的对象与一个或多个其他对象之间的关系。
    AccessibleRelationSet 类确定组件的关系集。
    Deprecated.
    This class is deprecated as of version 1.3 of the Java Platform
    AccessibleRole 类确定组件的角色。
    AccessibleSelection 接口为辅助技术提供了确定当前选定子项以及修改选择集的标准机制。
    AccessibleState 类描述组件的特定状态。
    AccessibleStateSet 类确定组件的状态集。
    AccessibleStreamable 接口应该由显示屏幕上组件的AccessibleContext 实现。
    AccessibleTable 类描述以二维表格格式呈现数据的用户界面组件。
    AccessibleTableModelChange 接口描述对表格模型的更改。
    AccessibleText 接口应该由在显示器上呈现文本信息的所有类实现。
    该类收集文本范围的关键细节。
    AccessibleValue 接口应该由支持数值(例如滚动条)的任何对象支持。