Exposing Additional Information Not Covered by IAccessible Interface
Depending on their products, server developers might need to expose information or functionality in addition to Active Accessibility support. If this is the case, work with assistive technology vendors (clients) to ensure that they add support for the features.
Do not attempt to extend the IAccessible interface. Interfaces cannot be changed once they are published. To expose additional information, use a custom interface and expose it by using one of the following techniques:
- Use OBJID_NATIVEOM to expose a native object model interface for a window.
- Use QueryService to expose a native object model interface for an IAccessible object.
Note that the goal of the IAccessible interface is to have a well-defined interface that is used by servers and clients. Before exposing custom interfaces, be sure to expose as much information as possible through IAccessible.
You cannot use QueryInterface to expose custom interfaces. Use QueryService as outlined in the following procedures.