266 lines · 15.1 KB · HTML
RawDownload
<HTML><HEAD>   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; I) [Netscape]"><!--Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. This code is free software; you can redistribute it and/or modify itunder the terms of the GNU General Public License version 2 only, aspublished by the Free Software Foundation.  Oracle designates thisparticular file as subject to the "Classpath" exception as providedby Oracle in the LICENSE file that accompanied this code. This code is distributed in the hope that it will be useful, but WITHOUTANY WARRANTY; without even the implied warranty of MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public Licenseversion 2 for more details (a copy is included in the LICENSE file thataccompanied this code). You should have received a copy of the GNU General Public License version2 along with this work; if not, write to the Free Software Foundation,Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USAor visit www.oracle.com if you need additional information or have anyquestions.--></HEAD><BODY BGCOLOR="#FFFFFF">Defines a contract between user-interface components and an assistive technologythat provides access to those components. If a Java application fully supportsthe Java Accessibility API, then it should be compatible with, and friendlytoward, assistive technologies such as screen readers, screen magnifiers,etc. With a Java application that fully supports the Java AccessibilityAPI, no screen reader off screen model would be necessary because the APIprovides all of the information normally contained in an off screen model. <P>The Java Accessibility API package consists of 8 Java programming languageinterfaces, and 6 Java programming language classes. These are describedbelow.<H3><A NAME="Accessible"></A><A HREF="Accessible.html">Interface Accessible</A></H3><A HREF="Accessible.html">Interface Accessible</A> is the main interfaceof the Java Accessibility API. All components that support the Java AccessibilityAPI must implement this interface. It contains a single method, <TT>getAccessibleContext</TT>,that returns an instance of the class <A HREF="#AccessibleContext">AccessibleContext</A>.Sun thinks that implementing this interface is the absolute minimum requirementof every object that is part of the user interface of a Java application,if that program is to be compatible with assistive technologies.<H3><A NAME="AccessibleContext"></A><A HREF="AccessibleContext.html">ClassAccessibleContext</A></H3><A HREF="AccessibleContext.html">AccessibleContext</A> represents the minimuminformation all accessible objects return and is obtained by calling the<TT>getAccessibleContext</TT> method on an object that implements the <A HREF="#Accessible">Accessible</A>interface. This information includes the accessible name, description,<A HREF="#AccessibleRole">role</A>, and <A HREF="#AccessibleState">state</A>of the object, as well as information about the parent and children ofthe object.&nbsp; In addition, JavaBeans <SUP><FONT SIZE=-2>TM</FONT></SUP>property change support is also included to allow assisitive technologieslearn when the values of the accessible properties change. AccessibleContextalso contains methods for obtaining more specific accessibility informationabout a component. If the component supports it, these methods will returnan object that implements one or more of the following interfaces:<UL><LI><B><A HREF="#AccessibleAction">AccessibleAction</A></B> - the object canperform one or more actions. This interface provides the standard mechanismfor an assistive technology to determine what those actions are and tellthe object to perform those actions. Any object that can be manipulatedshould return an object that implements this interface when the <TT>getAccessibleAction</TT>method is called on an AccessibleContext.</LI> <LI><B><A HREF="#AccessibleComponent">AccessibleComponent</A></B> - the objecthas a graphical representation. This interface provides the standard mechanismfor an assistive technology to determine and set the graphical representationof the object. Any object that is rendered on the screen should returnan object that implements this interface when the <TT>getAccessibleComponent</TT>method is called on an AccessibleContext.</LI> <LI><B><A HREF="#AccessibleSelection">AccessibleSelection</A></B> - the objectallows its children to be selected. This interface provides the standardmechanism for an assistive technology to determine the currently selectedchildren as well as modify the selection set. Any object that has childrenthat can be selected should return an object that implements this interfacewhen the <TT>getAccessibleSelection</TT> method is called on an AccessibleContext.</LI> <LI><B><A HREF="#AccessibleText">AccessibleText</A></B> - the object presentseditable textual information on the display. This interface provides thestandard mechanism for an assistive technology to access that text viaits content, attributes, and spatial location. Any object that containseditable text should return an object that implements this interface whenthe <TT>getAccessibleText</TT> method is called on an AccessibleContext.</LI> <LI><B><A HREF="#AccessibleHypertext">AccessibleHypertext</A></B> - the objectpresents hypertext information on the display. This interface providesthe standard mechanism for an assistive technology to access that hypertextvia its content, attributes, and spatial location. Any object that containshypertext should return an object that implements this interface when the<TT>getAccessibleText</TT> method is called on an AccessibleContext.</LI> <LI><B><A HREF="#AccessibleValue">AccessibleValue</A></B> - the object supportsa numerical value. This interface provides the standard mechanism for anassistive technology to determine and set the current value of the object,as well as the minimum and maximum values. Any object that supports a numericalvalue should return an object that implements this interface when the <TT>getAccessibleValue</TT>method is called on an AccessibleContext.</LI></UL> <H3><A NAME="AccessibleRole"></A><A HREF="AccessibleRole.html">Class AccessibleRole</A></H3>This class encapsulates the Accessible object's role in the user interfaceand is obtained by calling the <TT>getAccessibleRole</TT> method on an<A HREF="#AccessibleContext">AccessibleContext</A>. Accessible roles include"Check box", "Menu Item", "Panel", etc. These roles are identified by theconstants in this class such as <TT>AccessibleRole.CHECK_BOX, AccessibleRole.MENU_ITEM,</TT>and <TT>AccessibleRole.PANEL</TT>. The constants in this class presenta strongly typed enumeration of common object roles. A public constructorfor this class has been purposely omitted and applications should use oneof the constants from this class. Although this class pre-defines a largelist of standard roles, it is extensible so additional programmer-definedroles can be added in the future without needing to modify the base class. <H3><A NAME="AccessibleState"></A><A HREF="AccessibleState.html">Class AccessibleState</A></H3>This class encapsulates a particular state of the Accessible object. Accessiblestates include things like "Armed", "Busy", "Checked", "Focused", etc.These roles are identified by the constants in this class such as <TT>AccessibleState.ARMED,AccessibleState.BUSY, AccessibleState.CHECKED,</TT> and <TT>AccessibleState.FOCUSED</TT>.The sum of all the states of an Accessible object is called the <A HREF="#AccessibleStateSet">AccessibleStateSet</A>,and can be obtained by calling the <TT>getAccessibleStateSet</TT> methodon an <A HREF="#AccessibleContext">AccessibleContext</A>. <P>The constants in this class present a strongly typed enumeration ofcommon object roles. A public constructor for this class has been purposelyomitted and applications should use one of the constants from this class.Although this class pre-defines a large list of standard roles, it is extensibleso additional, programmer-defined roles can be added in the future withoutneeding to modify the base class. <H3><A NAME="AccessibleStateSet"></A><A HREF="AccessibleStateSet.html">ClassAccessibleStateSet</A></H3>This class encapsulates a collection of states of the Accessible objectand is obtained by calling the <TT>getAccessibleStateSet</TT> method onan <A HREF="#AccessibleContext">AccessibleContext</A>. Since an objectmight have multiple states (e.g. it might be both "Checked" and "Focused"),this class is needed to encapsulate a collection of these states. Methodsin the class provide for retrieving the individual <A HREF="#AccessibleState">AccessibleStates</A>on the state set.<H3><A NAME="AccessibleBundle"></A><A HREF="AccessibleBundle.html">Class AccessibleBundle</A></H3>This class is used to maintain a strongly typed enumeration. It is thesuper class of both the <A HREF="#AccessibleRole">AccessibleRole</A> and<A HREF="#AccessibleState">AccessibleState</A> classes. Programmers normallydo not interact with this class directly, but will instead use the <A HREF="#AccessibleRole">AccessibleRole</A>and <A HREF="#AccessibleState">AccessibleState</A> classes. <H3><A NAME="AccessibleAction"></A><A HREF="AccessibleAction.html">InterfaceAccessibleAction</A></H3>The <A HREF="AccessibleAction.html">AccessibleAction</A> interface shouldbe supported by any object that can perform one or more actions. This interfaceprovides the standard mechanism for an assistive technology to determinewhat those actions are as well as tell the object to perform those actions.Any object that can be manipulated should support this interface. <P>Applications can determine if an object supports the AccessibleActioninterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleAction</TT>method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the returnvalue is not null, the object supports this interface.<H3><A NAME="AccessibleComponent"></A><A HREF="AccessibleComponent.html">InterfaceAccessibleComponent</A></H3>The <A HREF="AccessibleComponent.html">AccessibleComponent</A> interfaceshould be supported by any object that is rendered on the screen. Thisinterface provides the standard mechanism for an assistive technology todetermine and set the graphical representation of an object. <P>Applications can determine if an object supports the AccessibleComponentinterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleComponent</TT>method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the returnvalue is not null, the object supports this interface.<H3><A NAME="AccessibleSelection"></A><A HREF="AccessibleSelection.html">InterfaceAccessibleSelection</A></H3>The <A HREF="AccessibleSelection.html">AccessibleSelection</A> interfaceprovides the standard mechanism for an assistive technology to determinewhat the current selected children are, as well as modify the selectionset. Any object that has children that can be selected should support thisthe AccessibleSelection interface. <P>Applications can determine if an object supports the AccessibleSelectioninterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleSelection</TT>method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the returnvalue is not null, the object supports this interface.<H3><A NAME="AccessibleText"></A><A HREF="AccessibleText.html">Interface AccessibleText</A></H3>Interface <A HREF="AccessibleText.html">AccessibleText</A> is the contractfor making rich, editable text Accessible. Not all text displayed on thescreen is rich and editable (e.g. text contained in buttons, labels, menus,etc., which users aren't expected to manipulate). However, objects containingeditable text must implement interface AccessibleText if they are to interoperatewith assistive technologies. <P>This interface provides support for going between pixel coordinatesand the text at a given pixel coordinate, for retrieving the letter, word,and sentence at, before, or after a given position in the text. This interfaceprovides support for retrieving the attributes of the character at a givenposition in the text (font, font size, style, etc.), as well as gettingthe selected text (if any), the length of the text, and the location ofthe text caret. <P>Applications can determine if an object supports the AccessibleTextinterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleText</TT>method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the returnvalue is not null, the object supports this interface.<H3><A NAME="AccessibleHypertext"></A><A HREF="AccessibleHypertext.html">Interface AccessibleHypertext</A></H3>The <A HREF="AccessibleHypertext.html">AccessibleHypertext</A> interfaceshould be supported by any object that presents hypertext information onthe display. This interface provides the standard mechanism for an assistivetechnology to access that text via its content, attributes, and spatiallocation. It also provides standard mechanisms for manipulating <A HREF="#AccessibleHyperlink">hyperlinks</A>.Applications can determine if an object supports the AccessibleHypertextinterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>(see <A HREF="#Accessible">Accessible</A>) and then calling the AccessibleContext.getAccessibleText()method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the returnvalue is a class which extends AccessibleHypertext, then that object supportsAccessibleHypertext.<H3><A NAME="AccessibleHyperlink"></A><A HREF="AccessibleHyperlink.html">InterfaceAccessibleHyperlink</A></H3>An object that is a hyperlink should support the <A HREF="AccessibleHyperlink.html">AccessibleHyperlink</A>interface.&nbsp; An object that implements this interface will be returnedby calling the getLink method on an <A HREF="#AccessibleHypertext">AccessibleHypertext</A>object.<H3><A NAME="AccessibleValue"></A><A HREF="AccessibleValue.html">InterfaceAccessibleValue</A></H3>The <A HREF="AccessibleValue.html">AccessibleValue</A> interface shouldbe supported by any object that supports a numerical value (e.g., a scrollbar). This interface provides the standard mechanism for an assistive technologyto determine and set the numerical value as well as get the minimum andmaximum values. <P>Applications can determine if an object supports the AccessibleValueinterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleValue</TT>method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the returnvalue is not null, the object supports this interface. @since 1.2</BODY></HTML>