Accessibility/IAccessible2 support
Contents
Status Quo
Code for basic IAccessible2 support is already in OO CVS: the workspace is named ooo11ia2 and most of the code resides in gsl/winaccessibility.
But the workspace is based on a pretty old code base (OOo 1.1) and the modifications (to the application code to make OOo behave as expected by IAccessible2 clients0 are not part of this workspace either.
Migration to Head/Trunk
This is an attempt to list what needs to be done to make the latest version of OOo support IAccessible2.
Move the bridge code to VCL
Making the Java <-> UNO AccessBridge an UNO service was just a convenient way to bridge between Java and C++ code. All the other "native" bridges (ATK, OS X) reside in the platform dependent source tree(s) inside VCL.
Analyze and migrate the extensions to the UNO Accessibility API
Adapt the application code to make use of the new UNO Accessibility API
Note that any of this changes has to be carefully reviewed for its effect on the Accessibility support of OOo on the other desktop environments.
Drop the limitation of exposed children to visible ones in the application code
AT vendors of the other supported desktop environments have indicated to prefer access to the full document either. However - unless support for the Java<->UNO AccessBridge gets dropped in favor of IAccessible2 - this limitation probably needs to get re-introduced here for performance reasons.