模块  java.desktop

Package javax.accessibility

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

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

Interface Accessible

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

Class AccessibleContext

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

Class AccessibleRole

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

Class AccessibleState

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

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

Class AccessibleStateSet

此类封装了Accessible对象的状态集合,并通过在getAccessibleStateSet上调用getAccessibleStateSet方法获得 由于对象可能具有多个状态(例如,它可能都是“已检查”和“聚焦”),因此需要此类来封装这些状态的集合。 该类中的方法用于检索状态集上的各个AccessibleStates

Class AccessibleBundle

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

Interface AccessibleAction

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

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

Interface AccessibleComponent

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

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

Interface AccessibleSelection

AccessibleSelection接口为辅助技术提供标准机制,以确定当前所选子项的内容,以及修改选择集。 具有可以选择的子节点的任何对象都应该支持AccessibleSelection接口。

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

Interface AccessibleText

接口AccessibleText是制作富可编辑文本Accessible的合同。 并非所有显示在屏幕上的文本都是丰富且可编辑的(例如,按钮,标签,菜单等中包含的文本,用户不应操作)。 但是,如果包含可编辑文本的对象必须与辅助技术进行互操作,则必须实现AccessibleText接口。

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

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

Interface AccessibleHypertext

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

Interface AccessibleHyperlink

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

Interface AccessibleValue

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

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

从以下版本开始:
1.2