package.html revision 2365
0N/A<HTML>
2362N/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<!--
0N/ACopyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
2362N/ADO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A
2362N/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
0N/Apublished by the Free Software Foundation. Oracle designates this
0N/Aparticular file as subject to the "Classpath" exception as provided
0N/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
2362N/AYou should have received a copy of the GNU General Public License version
2362N/A2 along with this work; if not, write to the Free Software Foundation,
2362N/AInc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A
0N/APlease contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
0N/Aor visit www.oracle.com if you need additional information or have any
0N/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
2050N/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>
<A NAME="AccessibleStateSet"></A><A HREF="AccessibleStateSet.html">Class
AccessibleStateSet</A></H3>
This class encapsulates a collection of states of the Accessible object
and is obtained by calling the <TT>getAccessibleStateSet</TT> method on
an <A HREF="#AccessibleContext">AccessibleContext</A>. Since an object
might have multiple states (e.g. it might be both "Checked" and "Focused"),
this class is needed to encapsulate a collection of these states. Methods
in 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 the
super class of both the <A HREF="#AccessibleRole">AccessibleRole</A> and
<A HREF="#AccessibleState">AccessibleState</A> classes. Programmers normally
do 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">Interface
AccessibleAction</A></H3>
The <A HREF="AccessibleAction.html">AccessibleAction</A> interface should
be supported by any object that can perform one or more actions. This interface
provides the standard mechanism for an assistive technology to determine
what 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 AccessibleAction
interface 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 return
value is not null, the object supports this interface.
<H3>
<A NAME="AccessibleComponent"></A><A HREF="AccessibleComponent.html">Interface
AccessibleComponent</A></H3>
The <A HREF="AccessibleComponent.html">AccessibleComponent</A> interface
should be supported by any object that is rendered on the screen. This
interface provides the standard mechanism for an assistive technology to
determine and set the graphical representation of an object.
<P>Applications can determine if an object supports the AccessibleComponent
interface 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 return
value is not null, the object supports this interface.
<H3>
<A NAME="AccessibleSelection"></A><A HREF="AccessibleSelection.html">Interface
AccessibleSelection</A></H3>
The <A HREF="AccessibleSelection.html">AccessibleSelection</A> interface
provides the standard mechanism for an assistive technology to determine
what the current selected children are, as well as modify the selection
set. Any object that has children that can be selected should support this
the AccessibleSelection interface.
<P>Applications can determine if an object supports the AccessibleSelection
interface 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 return
value 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 contract
for making rich, editable text Accessible. Not all text displayed on the
screen is rich and editable (e.g. text contained in buttons, labels, menus,
etc., which users aren't expected to manipulate). However, objects containing
editable text must implement interface AccessibleText if they are to interoperate
with assistive technologies.
<P>This interface provides support for going between pixel coordinates
and 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 interface
provides support for retrieving the attributes of the character at a given
position in the text (font, font size, style, etc.), as well as getting
the selected text (if any), the length of the text, and the location of
the text caret.
<P>Applications can determine if an object supports the AccessibleText
interface 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 return
value 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> interface
should be supported by any object that presents hypertext information on
the display. This interface provides the standard mechanism for an assistive
technology to access that text via its content, attributes, and spatial
location. It also provides standard mechanisms for manipulating <A HREF="#AccessibleHyperlink">hyperlinks</A>.
Applications can determine if an object supports the AccessibleHypertext
interface 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 return
value is a class which extends AccessibleHypertext, then that object supports
AccessibleHypertext.
<H3>
<A NAME="AccessibleHyperlink"></A><A HREF="AccessibleHyperlink.html">Interface
AccessibleHyperlink</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 returned
by calling the getLink method on an <A HREF="#AccessibleHypertext">AccessibleHypertext</A>
object.
<H3>
<A NAME="AccessibleValue"></A><A HREF="AccessibleValue.html">Interface
AccessibleValue</A></H3>
The <A HREF="AccessibleValue.html">AccessibleValue</A> interface should
be supported by any object that supports a numerical value (e.g., a scroll
bar). This interface provides the standard mechanism for an assistive technology
to determine and set the numerical value as well as get the minimum and
maximum values.
<P>Applications can determine if an object supports the AccessibleValue
interface 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 return
value is not null, the object supports this interface.
@since 1.2
</BODY>
</HTML>