标题：javax.accessibility
使用技巧
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 方法获得的。此信息包括对象的可访问名称、描述、职责和状态，以及关于该对象的父对象和子对象的信息。此外，还包括对 JavaBeans TM 属性更改的支持，从而当可访问的属性值发生更改时，辅助技术能够获悉。AccessibleContext 还包含用于获取更多关于组件的特定可访问信息的方法。如果组件支持它，则这些方法将返回实现以下一个或多个接口的对象。
具体功能
AccessibleAction － 可以执行一个或多个动作的对象。此接口为辅助技术提供了标准机制，以确定这些动作并通知对象执行它们。当调用 AccessibleContext 上的 getAccessibleAction 方法时，任何可以操作的对象都应返回实现此接口的对象。 
AccessibleComponent － 具有图形表示形式的对象。此接口为辅助技术提供了标准机制，以确定和设置对象的图形表示形式。当调用 AccessibleContext 上的 getAccessibleComponent 方法时，任何在屏幕上呈现的对象都应返回实现此接口的对象。 
AccessibleSelection － 允许选择其子对象的对象。此接口为辅助技术提供了标准机制，以确定当前选定的子对象，并修改选择设置。当调用 AccessibleContext 上的 getAccessibleSelection 方法时，任何具有可选子对象的对象都应返回实现此接口的对象。 
AccessibleText － 在显示器上显示可编辑文本信息的对象。此接口为辅助技术提供了标准机制，用于通过文本的内容、属性和空间位置来访问该文本。当调用 AccessibleContext 上的 getAccessibleText 方法时，任何包含可编辑文本的对象都应返回实现此接口的对象。 
AccessibleHypertext － 在显示器上显示超文本信息的对象。此接口为辅助技术提供了标准机制，用于通过超文本的内容、属性和空间位置来访问该超文本。当调用 AccessibleContext 上的 getAccessibleText 方法时，任何包含超文本的对象都应返回实现此接口的对象。 
AccessibleValue － 支持数字值的对象。此接口为辅助技术提供了标准机制，以确定和设置对象的当前值，以及最小值和最大值。当调用 AccessibleContext 上的 getAccessibleValue 方法时，任何支持数字值的对象都应返回实现此接口的对象。
专业测评
Class AccessibleRole
此类封装了 Accessible 对象职责，该类通过调用 AccessibleContext 上的 getAccessibleRole 方法获得。可访问的职责包括 “复选框”、“菜单项”、“面板”等等。这些职责由此类中的常量（如 AccessibleRole.CHECK_BOX、AccessibleRole.MENU_ITEM 和 AccessibleRole.PANEL）来标识。此类中的常量存在一个公共对象职责的强类型的枚举。我们有意忽略了此类的公共构造方法，应用程序应使用此类的一个常量。虽然此类预定义了一个大的标准职责列表，但它是可扩展的，这样可以在将来添加其他程序员所定义的职责，而无需修改基类。 
Class AccessibleState
此类封装了 Accessible 对象的特殊状态。可访问的状态包括 "Armed"、"Busy"、"Checked"、"Focused"等等。这些职责由此类的常量（如 AccessibleState.ARMED、AccessibleState.BUSY、AccessibleState.CHECKED 和 AccessibleState.FOCUSED）来标识。Accessible 对象的所有状态的集合称为 AccessibleStateSet，它可以通过调用 AccessibleContext 上的 getAccessibleStateSet 方法获得。
主要问题
此类中的常量存在一个公共对象职责的强类型的枚举。我们有意忽略了此类的公共构造方法，应用程序应使用此类的一个常量。虽然此类预定义了一个大的标准职责列表，但它是可扩展的，这样可以在将来添加其他程序员所定义的职责，而无需修改基类。 
Class AccessibleStateSet
此类封装了 Accessible 对象的状态集合，此类通过调用 AccessibleContext 上的 getAccessibleStateSet 方法获得。因为一个对象可能有多个状态（例如，它可能同时处于 "Checked" 和 "Focused" 状态），因此此类需要封装这些状态的集合。此类中的方法可以在状态集上检索单个 AccessibleStates 。 
Class AccessibleBundle
此类用于维护强类型枚举。它是 AccessibleRole 和 AccessibleState 类的超类。程序员一般不与此类直接进行交互，而是使用 AccessibleRole 和 AccessibleState 类。 
Interface AccessibleAction
任何能够执行一个或多个动作的对象都应支持 AccessibleAction 接口。此接口为辅助技术提供了标准机制，以确定这些动作并通知对象执行它们。任何可以操作的对象都应支持此接口。 
应用程序通过先获取某个对象的 AccessibleContext（参见 Accessible），然后调用 AccessibleContext 上的 getAccessibleAction 方法，能够确定该对象是否支持 AccessibleAction 接口。如果返回值不为 null，则该对象支持此接口。
接口
Interface AccessibleComponent
任何在屏幕上呈现的对象都应支持 AccessibleComponent 接口。此接口为辅助技术提供了标准机制，以确定和设置对象的图形表示形式。 
应用程序通过先调用某个对象的 AccessibleContext（参见 Accessible），然后调用 AccessibleContext 上的 getAccessibleComponent 方法，能够确定该对象是否支持 AccessibleComponent 接口。如果返回值不为 null，则该对象支持此接口。 
Interface AccessibleSelection
AccessibleSelection 接口为辅助技术提供了标准机制，以确定当前选定了哪些子对象，并修改选择设置。任何具有可选子对象的对象都应支持 AccessibleSelection 接口。 
应用程序通过先获取某个对象的 AccessibleContext（参见 Accessible），然后调用 AccessibleContext 上的 getAccessibleSelection 方法，能够确定该对象是否支持 AccessibleSelection 接口。如果返回值不为 null，则该对象支持此接口。
种类
Interface AccessibleText
AccessibleText 接口是针对生成丰富的、可编辑的文本 Accessible 的协定。并不是屏幕上显示的所有文本都是富文本和可编辑的（例如对于按钮、标签和菜单中所包含的文本，用户就不能对其进行操作）。但是，如果包含可编辑文本的对象要与辅助技术进行互操作，则它们必须实现 AccessibleText 接口。 
此接口支持在像素坐标和给定像素坐标处的文本之间进行转换，以及检索文本中给定位置处、给定位置前或给定位置后的字母、单词和句子。此接口支持对文本中给定位置处的字符属性（字体、字体大小、样式，等等）进行检索，以及获得选中的文本（如果有）、文本长度和文本插入符位置。 
应用程序通过先获取某个对象的 AccessibleContext（参见 Accessible），然后调用 AccessibleContext 的 getAccessibleText 方法，能够确定该对象是否支持 AccessibleText 接口。如果返回值不为 null，则该对象支持此接口。 
Interface AccessibleHypertext
任何在显示器上显示超文本信息的对象都应支持 AccessibleHypertext 接口。此接口为辅助技术提供了标准机制，用于通过文本的内容、属性和空间位置来访问该文本。它还提供了操作超链接的标准机制。应用程序通过先获取某个对象的 AccessibleContext（参见 Accessible），然后调用 AccessibleContext 的 AccessibleContext.getAccessibleText() 方法，能够确定该对象是否支持 AccessibleHypertext 接口。如果返回值是一个扩展了 AccessibleHypertext 的类，则该对象支持 AccessibleHypertext。 
Interface AccessibleHyperlink