The Accessibility Package

Now, let’s discuss the issues an assistive technology will encounter when hooking into an accessible friendly application.

The Path to Determining Accessibility

Almost all Swing objects support one or more forms of accessibility, which means 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 goes like this:

  1. 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.

  2. 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.

  3. The assistive technology can register for any property change events in the component that it’s interested in.

  4. The assistive technology can call upon six standardized methods to determine whether those types of accessibility are supported. All AccessibleContext objects have these interface methods. If any of these methods return null, then the component does not support the specific accessibility type.

  5. If they are not null, the objects returned by each ...

Get Java Swing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.