Now let’s discuss the issues an assistive technology encounters when hooking into an accessibility-friendly application.
Almost all Swing objects support one or more forms of
accessibility, which means that they implement the
Accessible interface. However, for an
assistive technology to find out which types of accessibility an
application supports, the technology needs to do some investigating.
The typical course of action runs like this:
The assistive technology locates a desired component in the
target application with the help of the Accessibility Utility
APIs. Once found, it invokes the
getAccessibleContext( ) method of the
component object, which is the sole method of the
Accessible interface. This method
returns a customized
AccessibleContext object, often an inner
class of the component.
The assistive technology can then use the
AccessibleContext object to retrieve the
name, description, role, state, parent, and children components of
the accessible component in question.
The assistive technology can register for any property change events in the component it’s interested in.
The assistive technology can call upon several standardized
methods to determine whether those types of accessibility are
AccessibleContext objects have these
interface methods. If any of these methods return
null, then the component does not
support the specific accessibility type.
If they are not
null, the objects returned by each ...