2. About the Speaker
• Technical Architect in StarOffice/OpenOffice.org
Development
• Working on StarOffice since 1991
• Main focus: Core Development
> Accessibility
> Security
> Architecture and Performance
• http://blogs.sun.com/malte
2
3. Agenda
• Sun Accessibility Efforts
• StarOffice/OpenOffice.org Accessibility
• Project of interest: Orca
3
4. Sun Accessibility Efforts
• Support for AccessX keyboard extension in Solaris X
Windows system
• Java Accessibility API
> To expose all needed information to AT
• Java Access Bridge for Windows
> Because Windows AT is written in C/C++
• GNOME Accessibility API
> Similar to JAA, with some improvements
• Java Access Bridge for GNOME
> To make Java applications accessible on GNOME
4
5. Sun Accessibility Efforts
• GNOME TTS architecture
• FreeTTS
> Free “Text to Speech”, a port/re-write in Java of “Festival Lite”
• Implementation of accessibility APIs in different
projects
> Java, OpenOffice.org, GNOME, Mozilla,Thunderbird, Firefox,
Evolution
5
6. Sun Accessibility Efforts
• Gnopernicus
> Open source screen reader for GNOME, in cooperation with BAUM
• GOK
> Open source on screen keyboard for GNOME, in cooperation with
University of Toronto
• Orca
> Newest screen reader for GNOME
> Developed by Sun, written in python, easy scripting support
• Regulation & Standardization
> Member of OASIS OpenDocument Format Accessibility SC
> Twice members of Section 508 advisory committee
6
7. StarOffice/OpenOffice.org Accessibility
• Started in 2001
> Keyboard Accessibility
> Colors and Fonts, High Contrast
> Adapt to the color schemes and contrast display settings of the
operating system
> Offers additional settings for colors which are not specified in
any system color schemes
> Additional icon set
> Accessible Documentation
> Additional features for different needs
> Text selection cursor in read-only documents, disable
animations, force automatic font colors (for legacy documents)
> Assistive Technology (AT) 7
8. StarOffice/OpenOffice.org AT support
• AT support questions
> How to support different AT?
> How to support different platforms?
• Decided to support Java Accessibility
> Should work on Windows and on Linux/Solaris with GNOME
> Only one implementation for both platforms
> Advantages: Have AT support on multiple platforms more early
with given developer resources, only one implementation,
maintenance costs
> Disadvantages: Start-up performance (loading JavaVM) and
runtime performance (bridging C++ => Java => C)
8
9. StarOffice/OpenOffice.org AT support
• Design of UNO Accessibility API (UAA)
> Looked at Java (JAA) and GNOME (ATK) APIs
> Discussions with people from JAA and ATK
> Discussions with AT vendor (BAUM) on best ways how to
expose different things
> Full featured API
> to not only expose UI and simple text content, but to also
expose full featured office document content
> Lead to enhancements also in JAA and ATK
> IBM did choose this API as a template for “IAccessible2”, which
they brought to “Free Standards Group” for standardization end
of 2006.
9
10. StarOffice/OpenOffice.org AT support
• Bridging UAA to JAA
> Faking to be a Java application
> AT doesn't have to know anything about OpenOffice.org or
about that new Accessibility API
> All AT that supports Java automatically supports OOo
• OOo 2.0.1: Direct UAA to ATK bridge
> Improve startup performance, runtime performance and
memory consumption
• Native Windows Accessibility support?
> Win32 and MSAA are not powerful enough
> Future: UIAutomation? IAccessible2 ?
10
11. Project of interest: Orca
• Started in 2004 by blind Sun engineer Marc Mulcahy
> Python prototype, performance better than expected
• Project led by Willie Walker since early 2005
> Willie is working on Accessibility stuff since early 90's
• User interface design by blind Sun engineer Mike Pedersen
> Mike led the JAWS script writing department before coming to Sun
• Developed as an open source project from the beginning
> The majority of design discussions and all of the source code have always
been free and open to the public
• Orca is a quot;scriptablequot; screen reader that is layered on top of the GNOME
accessibility infrastructure
> allows people to develop application-specific scripts for compelling access
> Scripts are optional, not needed for general access to different applications
11
12. Project of interest: Orca
• Main focus currently are the GNOME desktop and office productivity applications
• Orca primarily uses GNOME-speech for speech synthesis
> GNOME-speech provides support for a number of speech synthesis engines,
both open source and commercial
• Orca uses BrlTTY for braille support
> BrlTTY supports a very large number of braille displays
• Orca uses GNOME-mag for magnification
• Orca replaced Gnopernicus as the default screen reader for GNOME
> The replacement came with the support of the Gnopernicus team
• Not only used for access to the desktop, but also for accessible installation of OS!
• Orca community is growing
> Contributions from all over the world
> Positive feedback from users
12