模块 java.desktop

包 javax.accessibility


javax.accessibility
定义用户界面组件和提供对这些组件的访问的辅助技术之间的契约。如果 Java 应用程序完全支持 Java Accessibility API,那么它应该与屏幕阅读器、屏幕放大镜等辅助技术兼容并友好。对于完全支持 Java Accessibility API 的 Java 应用程序,屏幕阅读器不会关闭屏幕模型是必需的,因为 API 提供了通常包含在屏幕外模型中的所有信息。

Java Accessibility API 包由 8 个 Java 编程语言接口和 6 个 Java 编程语言类组成。这些在下面描述。

界面无障碍

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

类 AccessibleContext

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

类 AccessibleRole

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

类 AccessibleState

此类封装了 Accessible 对象的特定状态。可访问的状态包括“武装”、“忙碌”、“检查”、“专注”等。这些角色由此类中的常量标识,例如 AccessibleState.ARMED, AccessibleState.BUSY, AccessibleState.CHECKED,AccessibleState.FOCUSED 。 Accessible 对象的所有状态的总和称为 AccessibleStateSet ,可以通过调用 AccessibleContext 上的 getAccessibleStateSet 方法获得。

此类中的常量表示常见对象角色的强类型枚举。此类的公共构造方法已被有意省略,应用程序应使用此类中的一个常量。尽管此类预定义了大量标准角色,但它是可扩展的,因此将来可以添加程序员定义的角色,而无需修改基类。

类 AccessibleStateSet

此类封装了 Accessible 对象的状态集合,通过调用 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。

此接口支持在给定像素坐标处的像素坐标和文本之间切换,以检索文本中给定位置处、之前或之后的字母、单词和句子。该接口支持获取文本中给定位置的字符的属性(字体、字号、样式等),以及获取选中的文本(如果有的话)、文本的长度和文本插入符的位置。

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

接口可访问超文本

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

界面可访问超链接

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

接口可访问值

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

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

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