As previously stated, the UNO Accessibility API, or UAA, is closely modeled after the Java Accessibility API, and to some extent the Gnome Accessibility API. This section describes some differences with common UNO styles and standards.
The purpose of the accessibility API is to represent what is currently visible on screen. To be kept up-to-date, users of the accessibility API are informed of any relevant changes of the screen content by events. This focus on visual appearance is another point in which the accessibility API differs from other parts of UNO, which are strictly model centered. The accessibility API provides a tree structure or, to be more specific, a forest of accessibility objects that, as a whole, represent the on-screen data.
The transition point from the UNO API to the accessibility API is windows, which both support the com.sun.star.awt.XWindow and com.sun.star.accessibility.XAccessible interfaces. A list of all top-level windows, from which you can get the roots of the associated accessibility trees, can be retrieved from the toolkit through the com.sun.star.awt.XExtendedToolkit interface.
The com.sun.star.accessibility.XAccessible interface can be queried for the actual accessibility object with its only function com.sun.star.accessibility.XAccessible:getAccessibleContext(). With this technique, the implementations of the accessibility interfaces can be kept apart from that of the other UNO interfaces. The getAccessibleContext() function returns a reference to an object that implements the com.sun.star.accessibility.XAccessibleContext interface. This interface is the center of the accessibility API. On the one hand it provides the functionality to traverse the accessibility tree and on the other hand gives access to basic information that represents the object that is being made accessible. These two aspects are described in more detail in the following sections Accessibility Tree and Content Information.
The accessibility API is as self-contained as possible. You should not need to use the UNO API outside its accessibility API subset. However, there are some exceptions to this. The most important one is the initial access to the root nodes of the accessibility tree over the toolkit.
|Content on this page is licensed under the Public Documentation License (PDL).|