0N/A<HTML>
0N/A<HEAD>
0N/A <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
0N/A <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; I) [Netscape]">
0N/A<!--
2362N/ACopyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
0N/ADO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A
0N/AThis code is free software; you can redistribute it and/or modify it
0N/Aunder the terms of the GNU General Public License version 2 only, as
2362N/Apublished by the Free Software Foundation. Oracle designates this
0N/Aparticular file as subject to the "Classpath" exception as provided
2362N/Aby Oracle in the LICENSE file that accompanied this code.
0N/A
0N/AThis code is distributed in the hope that it will be useful, but WITHOUT
0N/AANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/AFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/Aversion 2 for more details (a copy is included in the LICENSE file that
0N/Aaccompanied this code).
0N/A
0N/AYou should have received a copy of the GNU General Public License version
0N/A2 along with this work; if not, write to the Free Software Foundation,
0N/AInc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A
2365N/APlease contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2365N/Aor visit www.oracle.com if you need additional information or have any
2365N/Aquestions.
0N/A-->
0N/A</HEAD>
0N/A<BODY BGCOLOR="#FFFFFF">
0N/ADefines a contract between user-interface components and an assistive technology
0N/Athat provides access to those components. If a Java application fully supports
0N/Athe Java Accessibility API, then it should be compatible with, and friendly
0N/Atoward, assistive technologies such as screen readers, screen magnifiers,
0N/Aetc. With a Java application that fully supports the Java Accessibility
0N/AAPI, no screen reader off screen model would be necessary because the API
0N/Aprovides all of the information normally contained in an off screen model.
0N/A
0N/A<P>The Java Accessibility API package consists of 8 Java programming language
0N/Ainterfaces, and 6 Java programming language classes. These are described
0N/Abelow.
0N/A<H3>
0N/A<A NAME="Accessible"></A><A HREF="Accessible.html">Interface Accessible</A></H3>
0N/A<A HREF="Accessible.html">Interface Accessible</A> is the main interface
0N/Aof the Java Accessibility API. All components that support the Java Accessibility
0N/AAPI must implement this interface. It contains a single method, <TT>getAccessibleContext</TT>,
0N/Athat returns an instance of the class <A HREF="#AccessibleContext">AccessibleContext</A>.
0N/ASun thinks that implementing this interface is the absolute minimum requirement
0N/Aof every object that is part of the user interface of a Java application,
0N/Aif that program is to be compatible with assistive technologies.
0N/A<H3>
0N/A<A NAME="AccessibleContext"></A><A HREF="AccessibleContext.html">Class
0N/AAccessibleContext</A></H3>
0N/A<A HREF="AccessibleContext.html">AccessibleContext</A> represents the minimum
0N/Ainformation all accessible objects return and is obtained by calling the
0N/A<TT>getAccessibleContext</TT> method on an object that implements the <A HREF="#Accessible">Accessible</A>
0N/Ainterface. This information includes the accessible name, description,
0N/A<A HREF="#AccessibleRole">role</A>, and <A HREF="#AccessibleState">state</A>
0N/Aof the object, as well as information about the parent and children of
0N/Athe object.&nbsp; In addition, JavaBeans <SUP><FONT SIZE=-2>TM</FONT></SUP>
0N/Aproperty change support is also included to allow assisitive technologies
0N/Alearn when the values of the accessible properties change. AccessibleContext
0N/Aalso contains methods for obtaining more specific accessibility information
0N/Aabout a component. If the component supports it, these methods will return
0N/Aan object that implements one or more of the following interfaces:
0N/A<UL>
0N/A<LI>
0N/A<B><A HREF="#AccessibleAction">AccessibleAction</A></B> - the object can
0N/Aperform one or more actions. This interface provides the standard mechanism
0N/Afor an assistive technology to determine what those actions are and tell
0N/Athe object to perform those actions. Any object that can be manipulated
0N/Ashould return an object that implements this interface when the <TT>getAccessibleAction</TT>
0N/Amethod is called on an AccessibleContext.</LI>
0N/A
0N/A<LI>
0N/A<B><A HREF="#AccessibleComponent">AccessibleComponent</A></B> - the object
0N/Ahas a graphical representation. This interface provides the standard mechanism
0N/Afor an assistive technology to determine and set the graphical representation
0N/Aof the object. Any object that is rendered on the screen should return
0N/Aan object that implements this interface when the <TT>getAccessibleComponent</TT>
0N/Amethod is called on an AccessibleContext.</LI>
0N/A
0N/A<LI>
0N/A<B><A HREF="#AccessibleSelection">AccessibleSelection</A></B> - the object
0N/Aallows its children to be selected. This interface provides the standard
0N/Amechanism for an assistive technology to determine the currently selected
0N/Achildren as well as modify the selection set. Any object that has children
0N/Athat can be selected should return an object that implements this interface
0N/Awhen the <TT>getAccessibleSelection</TT> method is called on an AccessibleContext.</LI>
0N/A
0N/A<LI>
0N/A<B><A HREF="#AccessibleText">AccessibleText</A></B> - the object presents
0N/Aeditable textual information on the display. This interface provides the
0N/Astandard mechanism for an assistive technology to access that text via
0N/Aits content, attributes, and spatial location. Any object that contains
0N/Aeditable text should return an object that implements this interface when
0N/Athe <TT>getAccessibleText</TT> method is called on an AccessibleContext.</LI>
0N/A
0N/A<LI>
0N/A<B><A HREF="#AccessibleHypertext">AccessibleHypertext</A></B> - the object
0N/Apresents hypertext information on the display. This interface provides
0N/Athe standard mechanism for an assistive technology to access that hypertext
0N/Avia its content, attributes, and spatial location. Any object that contains
0N/Ahypertext should return an object that implements this interface when the
0N/A<TT>getAccessibleText</TT> method is called on an AccessibleContext.</LI>
0N/A
0N/A<LI>
0N/A<B><A HREF="#AccessibleValue">AccessibleValue</A></B> - the object supports
0N/Aa numerical value. This interface provides the standard mechanism for an
0N/Aassistive technology to determine and set the current value of the object,
0N/Aas well as the minimum and maximum values. Any object that supports a numerical
0N/Avalue should return an object that implements this interface when the <TT>getAccessibleValue</TT>
0N/Amethod is called on an AccessibleContext.</LI>
0N/A</UL>
0N/A
0N/A<H3>
0N/A<A NAME="AccessibleRole"></A><A HREF="AccessibleRole.html">Class AccessibleRole</A></H3>
0N/AThis class encapsulates the Accessible object's role in the user interface
0N/Aand is obtained by calling the <TT>getAccessibleRole</TT> method on an
0N/A<A HREF="#AccessibleContext">AccessibleContext</A>. Accessible roles include
0N/A"Check box", "Menu Item", "Panel", etc. These roles are identified by the
0N/Aconstants in this class such as <TT>AccessibleRole.CHECK_BOX, AccessibleRole.MENU_ITEM,</TT>
0N/Aand <TT>AccessibleRole.PANEL</TT>. The constants in this class present
0N/Aa strongly typed enumeration of common object roles. A public constructor
0N/Afor this class has been purposely omitted and applications should use one
0N/Aof the constants from this class. Although this class pre-defines a large
0N/Alist of standard roles, it is extensible so additional programmer-defined
0N/Aroles can be added in the future without needing to modify the base class.
0N/A
0N/A<H3>
0N/A<A NAME="AccessibleState"></A><A HREF="AccessibleState.html">Class AccessibleState</A></H3>
0N/AThis class encapsulates a particular state of the Accessible object. Accessible
0N/Astates include things like "Armed", "Busy", "Checked", "Focused", etc.
0N/AThese roles are identified by the constants in this class such as <TT>AccessibleState.ARMED,
0N/AAccessibleState.BUSY, AccessibleState.CHECKED,</TT> and <TT>AccessibleState.FOCUSED</TT>.
0N/AThe sum of all the states of an Accessible object is called the <A HREF="#AccessibleStateSet">AccessibleStateSet</A>,
0N/Aand can be obtained by calling the <TT>getAccessibleStateSet</TT> method
0N/Aon an <A HREF="#AccessibleContext">AccessibleContext</A>.
0N/A
0N/A<P>The constants in this class present a strongly typed enumeration of
0N/Acommon object roles. A public constructor for this class has been purposely
0N/Aomitted and applications should use one of the constants from this class.
0N/AAlthough this class pre-defines a large list of standard roles, it is extensible
0N/Aso additional, programmer-defined roles can be added in the future without
0N/Aneeding to modify the base class.
0N/A
0N/A<H3>
0N/A<A NAME="AccessibleStateSet"></A><A HREF="AccessibleStateSet.html">Class
0N/AAccessibleStateSet</A></H3>
0N/AThis class encapsulates a collection of states of the Accessible object
0N/Aand is obtained by calling the <TT>getAccessibleStateSet</TT> method on
0N/Aan <A HREF="#AccessibleContext">AccessibleContext</A>. Since an object
0N/Amight have multiple states (e.g. it might be both "Checked" and "Focused"),
0N/Athis class is needed to encapsulate a collection of these states. Methods
0N/Ain the class provide for retrieving the individual <A HREF="#AccessibleState">AccessibleStates</A>
0N/Aon the state set.
0N/A<H3>
0N/A<A NAME="AccessibleBundle"></A><A HREF="AccessibleBundle.html">Class AccessibleBundle</A></H3>
0N/AThis class is used to maintain a strongly typed enumeration. It is the
0N/Asuper class of both the <A HREF="#AccessibleRole">AccessibleRole</A> and
0N/A<A HREF="#AccessibleState">AccessibleState</A> classes. Programmers normally
0N/Ado not interact with this class directly, but will instead use the <A HREF="#AccessibleRole">AccessibleRole</A>
0N/Aand <A HREF="#AccessibleState">AccessibleState</A> classes.
0N/A
0N/A<H3>
0N/A<A NAME="AccessibleAction"></A><A HREF="AccessibleAction.html">Interface
0N/AAccessibleAction</A></H3>
0N/AThe <A HREF="AccessibleAction.html">AccessibleAction</A> interface should
0N/Abe supported by any object that can perform one or more actions. This interface
0N/Aprovides the standard mechanism for an assistive technology to determine
0N/Awhat those actions are as well as tell the object to perform those actions.
0N/AAny object that can be manipulated should support this interface.
0N/A
0N/A<P>Applications can determine if an object supports the AccessibleAction
0N/Ainterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
0N/A(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleAction</TT>
0N/Amethod of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
0N/Avalue is not null, the object supports this interface.
0N/A<H3>
0N/A<A NAME="AccessibleComponent"></A><A HREF="AccessibleComponent.html">Interface
0N/AAccessibleComponent</A></H3>
0N/AThe <A HREF="AccessibleComponent.html">AccessibleComponent</A> interface
0N/Ashould be supported by any object that is rendered on the screen. This
0N/Ainterface provides the standard mechanism for an assistive technology to
0N/Adetermine and set the graphical representation of an object.
0N/A
0N/A<P>Applications can determine if an object supports the AccessibleComponent
0N/Ainterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
0N/A(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleComponent</TT>
0N/Amethod of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
0N/Avalue is not null, the object supports this interface.
0N/A<H3>
0N/A<A NAME="AccessibleSelection"></A><A HREF="AccessibleSelection.html">Interface
0N/AAccessibleSelection</A></H3>
0N/AThe <A HREF="AccessibleSelection.html">AccessibleSelection</A> interface
0N/Aprovides the standard mechanism for an assistive technology to determine
0N/Awhat the current selected children are, as well as modify the selection
0N/Aset. Any object that has children that can be selected should support this
0N/Athe AccessibleSelection interface.
0N/A
0N/A<P>Applications can determine if an object supports the AccessibleSelection
0N/Ainterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
0N/A(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleSelection</TT>
0N/Amethod of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
0N/Avalue is not null, the object supports this interface.
0N/A<H3>
0N/A<A NAME="AccessibleText"></A><A HREF="AccessibleText.html">Interface AccessibleText</A></H3>
0N/AInterface <A HREF="AccessibleText.html">AccessibleText</A> is the contract
0N/Afor making rich, editable text Accessible. Not all text displayed on the
0N/Ascreen is rich and editable (e.g. text contained in buttons, labels, menus,
0N/Aetc., which users aren't expected to manipulate). However, objects containing
0N/Aeditable text must implement interface AccessibleText if they are to interoperate
0N/Awith assistive technologies.
0N/A
0N/A<P>This interface provides support for going between pixel coordinates
0N/Aand the text at a given pixel coordinate, for retrieving the letter, word,
0N/Aand sentence at, before, or after a given position in the text. This interface
0N/Aprovides support for retrieving the attributes of the character at a given
0N/Aposition in the text (font, font size, style, etc.), as well as getting
0N/Athe selected text (if any), the length of the text, and the location of
0N/Athe text caret.
0N/A
0N/A<P>Applications can determine if an object supports the AccessibleText
0N/Ainterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
0N/A(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleText</TT>
0N/Amethod of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
0N/Avalue is not null, the object supports this interface.
0N/A<H3><A NAME="AccessibleHypertext"></A>
0N/A<A HREF="AccessibleHypertext.html">Interface AccessibleHypertext</A></H3>
0N/AThe <A HREF="AccessibleHypertext.html">AccessibleHypertext</A> interface
0N/Ashould be supported by any object that presents hypertext information on
0N/Athe display. This interface provides the standard mechanism for an assistive
0N/Atechnology to access that text via its content, attributes, and spatial
0N/Alocation. It also provides standard mechanisms for manipulating <A HREF="#AccessibleHyperlink">hyperlinks</A>.
0N/AApplications can determine if an object supports the AccessibleHypertext
0N/Ainterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
0N/A(see <A HREF="#Accessible">Accessible</A>) and then calling the AccessibleContext.getAccessibleText()
0N/Amethod of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
0N/Avalue is a class which extends AccessibleHypertext, then that object supports
0N/AAccessibleHypertext.
0N/A<H3>
0N/A<A NAME="AccessibleHyperlink"></A><A HREF="AccessibleHyperlink.html">Interface
0N/AAccessibleHyperlink</A></H3>
0N/AAn object that is a hyperlink should support the <A HREF="AccessibleHyperlink.html">AccessibleHyperlink</A>
0N/Ainterface.&nbsp; An object that implements this interface will be returned
0N/Aby calling the getLink method on an <A HREF="#AccessibleHypertext">AccessibleHypertext</A>
0N/Aobject.
0N/A<H3>
0N/A<A NAME="AccessibleValue"></A><A HREF="AccessibleValue.html">Interface
0N/AAccessibleValue</A></H3>
0N/AThe <A HREF="AccessibleValue.html">AccessibleValue</A> interface should
0N/Abe supported by any object that supports a numerical value (e.g., a scroll
0N/Abar). This interface provides the standard mechanism for an assistive technology
0N/Ato determine and set the numerical value as well as get the minimum and
0N/Amaximum values.
0N/A
0N/A<P>Applications can determine if an object supports the AccessibleValue
0N/Ainterface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
0N/A(see <A HREF="#Accessible">Accessible</A>) and then calling the <TT>getAccessibleValue</TT>
0N/Amethod of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
0N/Avalue is not null, the object supports this interface.
0N/A
0N/A@since 1.2
0N/A</BODY>
0N/A</HTML>
0N/A