That was very informative.  I didn't realize the Java accessibility
api was used this way in Windows.  I am one who thought the app was
written using the java swing classes and this was responsible for the
poor accessibility of the tool.  This was very illucidating.

On 2/7/11, Christophe Strobbe <[email protected]> wrote:
> Hi,
>
> Some time ago we had a discussion that mentioned the use of the Java
> accessibility API on Windows. However, the use of the Java
> accessibility API does not imply that OpenOffice.org and LibreOffice
> use Swing (at least that is my understanding). I think LibreOffice
> and OpenOffice are still similar enough to use Malte Timmermann's
> presentation from last year's OOoCon [1] as a source of information.
> (Malte Timmermann has been working on OpenOffice since 1991, when it
> was still owned by StarOffice; he works mainly on accessibility and
> security.) Malte gave an update of this presentation yesterday at the
> FOSDEM Conference in Brussels [3].
>
> OpenOffice.org doesn't use the system's standard widgets, which
> (should) already implement an accessibility API. When OpenOffice
> started work on accessibility (after Sun took over StarDivision), the
> only usable APIs where those in Java and GNOME. MSAA was OK for UI
> accessibility, but too limited for document content (especially in
> complex documents). Sun specified the UNO Accessiblity API, with the
> intention of creating bridges between this API and the
> platform-specific APIs on Windows, Linux etctera.
>
> Since the Java Accessibility API was the only API that was rich
> enough on Windows, OpenOffice pretended to be a Java application on
> Windows. This created a complex accessibility architecture:
> OpenOffice UI elements (in C or C++) expose accessibility metadata to
> the Java Accessibility API through a bridge; the Java Accessibility
> API is then exposed to Windows AT through the Java Access Bridge.
> (For comparison: on GNOME, OpenOffice.org exposes accessibility
> metadata through a bridge beteen the UNO Accessibility API and ATK,
> so OpenOffice "looks" like a GNOME application to Orca.)
>
> Since 2001, new APIs have become available on Windows: Microsoft's UI
> Automation, and IAccessible2 (which IBM donated to the Linux
> Foundation)[2]. IAccessible2 is not a full API but complements
> Microsoft's older MSAA.
> For a long time, the OpenOffice.org developers wanted to replace the
> Java-based accessibility with a system based on MSAA and
> IAccessible2. In his FOSDEM presentation [3], Malte said that IBM had
> donated the code that replaced the Java-based accessibility with an
> IAccessible2 implementation. IBM's donation was not based on the most
> recent version of OpenOffice.org, and some work has been necessary to
> find out where the changes should go (code had been moved, things had
> been renamed, OpenOffice code had moved from its previous code
> control system to Mercurial, ...) and to check for any issues related
> to intellectual property rights (IPR). These changes are in a "child
> work space"; Malte could not say when the IAccessible2 implementation
> would be released; in other words: It will be done when it's done.
>
> On Windows, you can use NVDA to access the OpenOffice UI, but the
> support for document content is incomplete. For example, I can't find
> a way to access the alt text of an image in a Writer document when
> using NVDA (and I am not the only one). The NVDA developers are
> probably waiting until the IAccessible2 implementation is available
> in OpenOffice before completing their support of this office suite.
>
> This is basically my understanding of OpenOffice accessibility, and I
> think that it also applies to LibreOffice. I can't guarantee that is
> 100% correct; please let me know if anything I wrote is inaccurate or
> even wrong.
>
> This summary raises a few questions:
> 1. As far as I understand, IBM donated the IAccessible2
> implementation to Sun or Oracle (I don't know when this happened, but
> Malte didn't mention any of this in his slides for OOoCon 2010). I
> don't know how the Document Foundation can benefit from this, if at
> all. However, this donation is relevant to LibreOffice for reasons I
> discuss below.
> 2. The IAccessible2 implementation significantly reduces
> OpenOffice.org's dependence on Java (Java is still used in one or two
> wizards, I heard). The Document Foundation wishes to reduce
> LibreOffice's dependence on Java as well, although for very different
> reasons (Oracle being more strict about Java as demonstrated by its
> legal action against Google?). If LibreOffice wants to get rid of
> Java, it will also need to implement another accessibility API on
> Windows, i.e. either MSAA and IAccessible2, or Microsoft's UI
> Automation[4]. I don't know if LibreOffice developers have thought
> about this already.
>
> Thoughts, comments?
> I would like to start a discussion with LibreOffice developers at
> some point, but I would like to get some feedback before I do that.
> And maybe someone has already made the developers aware of this.
>
> Best regards,
>
> Christophe
>
>
> [1] <http://www.ooocon.org/index.php/ooocon/2010/paper/view/217>
> [2]
> <http://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2>
> [3] <http://fosdem.org/2011/schedule/event/ooo_accessibility>
> [4] <http://en.wikipedia.org/wiki/UI_Automation>
>
>
> PS: When I write: "I don't know if X has though about Y", I mean
> quite literally that don't have that information. This does not imply
> any criticism on X.
>
>
> --
> Christophe Strobbe
> K.U.Leuven - Dept. of Electrical Engineering - SCD
> Research Group on Document Architectures
> Kasteelpark Arenberg 10 bus 2442
> B-3001 Leuven-Heverlee
> BELGIUM
> tel: +32 16 32 85 51
> http://www.docarch.be/
> Twitter: @RabelaisA11y
> ---
> "Better products and services through end-user empowerment"
> www.usem-net.eu - www.stand4all.eu
> ---
> Please don't invite me to Facebook, Quechup or other "social
> networks". You may have agreed to their "privacy policy", but I haven't.
>
>
> --
> E-mail to [email protected] for instructions on how to
> unsubscribe
> List archives are available at
> http://listarchives.libreoffice.org/www/accessibility/
> All messages you send to this list will be publicly archived and cannot be
> deleted
>

-- 
E-mail to [email protected] for instructions on how to 
unsubscribe
List archives are available at 
http://listarchives.libreoffice.org/www/accessibility/
All messages you send to this list will be publicly archived and cannot be 
deleted

Reply via email to