Module  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 - 对象具有图形表示。 该界面提供了辅助技术的标准机制,以确定和设置对象的图形表示。 当在getAccessibleComponent上调用getAccessibleComponent方法时,屏幕上呈现的任何对象都应返回实现此接口的对象。
  • AccessibleSelection - 该对象允许其子选项。 该界面提供了辅助技术的标准机制,以确定当前选定的儿童以及修改选择集。 当AccessibleContext上调用getAccessibleSelection方法时,任何具有可以选择的子项的对象都应该返回一个实现该接口的对象。
  • AccessibleText - 对象在显示器上显示可编辑的文本信息。 该界面提供了辅助技术通过其内容,属性和空间位置访问该文本的标准机制。 包含可编辑文本的任何对象应在AccessibleContext上调用getAccessibleText方法时返回实现此接口的对象。
  • AccessibleHypertext - 该对象在显示器上显示超文本信息。 该界面提供辅助技术的标准机制,通过其内容,属性和空间位置访问该超文本。 包含超文本的任何对象应该在AccessibleContext上调用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 可访问对象的所有状态的总和称为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界面应由屏幕上呈现的任何对象支持。 该界面提供了辅助技术的标准机制来确定和设置对象的图形表示。

应用程序可确定是否一个目的是通过首先获得支持AccessibleComponent接口其AccessibleContext (见Accessible ),然后调用getAccessibleComponent的方法AccessibleContext 如果返回值不是null ,则该对象支持该接口。

Interface AccessibleSelection

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

应用程序可确定是否一个目的是通过首先获得支持AccessibleSelection接口其AccessibleContext (见Accessible ),然后调用getAccessibleSelection的方法AccessibleContext 如果返回值不是null ,则该对象支持该接口。

Interface AccessibleText

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

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

应用程序可确定是否一个目的是通过首先获得支持AccessibleText接口其AccessibleContext (见Accessible ),然后调用getAccessibleText的方法AccessibleContext 如果返回值不是null ,则该对象支持该接口。

Interface AccessibleHypertext

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

Interface AccessibleHyperlink

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

Interface AccessibleValue

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

应用程序可确定是否一个目的是通过首先获得支持的AccessibleValue接口其AccessibleContext (见Accessible ),然后调用getAccessibleValue的方法AccessibleContext 如果返回值不是null ,则该对象支持该接口。

从以下版本开始:
1.2