Introduction
This article is a reference how Gecko implements AT APIs.
Supported Features
Interfaces
Refer to specific pages to get information of supported interfaces for interested AT API:
- Core: Gecko interfaces
- Windows: MSAA, IA2, IEnumVARIANT and ISimpleDOM* interfaces
- Linux: AT-SPI
Roles
Refer to specific pages to get information of supported roles for interested AT API:
States
Refer to specific pages to get information of supported states for interested AT API:
Relations
Refer to specific pages to get information of supported relations for interested AT API:
Attributes
Object Attributes
Refer to specific pages to get information of supported object attributes for interested AT API:
Text Attributes
Refer to specific pages to get information of supported text attributes for interested AT API:
Document Attributes
Refer to specific pages to get information of supported document attributes for interested AT API:
- Gecko/MSAA/IA2 - document attributes are not exposed. Instead, the same information is available via theISimpleDOMDocument interface.
- AT-SPI
Events
Refer to specific pages to get information of supported events for interested AT API:
Implementation Features
This section highlights special features of AT APIs implementation by Gecko.
Unsupported Features
We do not support some AT APIs features. Please refer to pages below for interesting AT API:
Differences With Other Applications
This section provides information about implementation differences between Gecko based applications and other applications.
- MSAA
- AT-SPI
How to Find the Content Window and Load the Document
In XUL-based clients, screen readers may need to find the content window so that they know where to start grabbing the accessible tree, in order to load the current document into a buffer in their own process. Refer to specific pages for interested AT API.
Avoiding Memory Leaks
It is the assistive technology's responsibility to watch for events that indicate when windows or content subtrees are being destroyed, and to release all Accessible objects related to that window. In addition, STATE_DEFUNCT is set on objects that should be released by the assistive technology. Mutation events should be watched to invalidate the cache.
- Under MSAA/IA2, watch for EVENT_HIDE
- Under ATK/AT-SPI, watch for children-changed:remove
To help developers in that regard, there is Memory Leak monitor, a Firefox extension.