Wie ich letzte Woche schon andeutete, tut sich unter Windows bei LibreOffice und Apache OpenOffice in Puncto Zugänglichkeit etwas!

Etwas Geschichte 🔗

Lange Jahre bestand die einzige Möglichkeit der „Zugänglichkeit“ darin, eine Java Runtime und die zugehörige Java AccessBridge zu installieren und konfigurieren, damit es mehr schlecht als recht lief. Für LibreOffice 4.2 und Apache OpenOffice 4.1 wurde der von IBM gespendete Code einer Implementierung von IAccessible2 eingebaut. Die Spende erfolgte zwar schon vor einigen Jahren, basierte jedoch auf einer sehr alten Codebasis und musste erst angeglichen und in OpenOffice eingebaut werden. LibreOffice übernahm den Code und optimierte den Code für sein Produkt noch etwas.

IAccessible2 ist eine Weiterentwicklung von Microsofts alter Schnittstelle Microsoft Active Accessibility (MSAA). Diese Weiterentwicklung war notwendig, um Beschränkungen der Microsoft’schen Schnittstelle zu überwinden. IBM, Mozilla, das NVDA-Projekt und andere waren an dieser Entwicklung beteiligt. So ermöglichte z. B. MSAA nicht das zugänglich Machen von Dokumentinhalten. Microsoft Office konnte MSAA für den Dokumentbereich von Word selbst nie nutzen. Dank IAccessible2 ist es möglich, dass Screen Reader unter Windows Eingabefelder in Firefox und Thunderbird auch ohne klassische Screen-Reading-Techniken lesen können und das formatierte Dokumente per definiertem Standard zugänglich gemacht werden können.

Apache OpenOffice 🔗

Und letzteres ist nun endlich soweit, und ich möchte hier kurz aufzeigen, wie man die Zugänglichkeit in LibreOffice aktiviert. In Apache OpenOffice 4.1 wird, sofern es erscheint, die Unterstützung von IAccessible2 einfach funktionieren. Einfach mit laufendem NVDA, JAWS oder anderen Screen Readern starten, und los geht’s. Wer’s ganz eilig hat, kann sich eine Entwicklerversion von OpenOffice herunterladen und ausprobieren. Achtung: Das englische oder deutsche Build unter „Windows Packages“, nicht unter „Windows Snapshot Packages“ nehmen, die Snapshot Packages haben einige wichtige Bugfixes noch nicht enthalten.

LibreOffice 🔗

Unter LibreOffice 4.2, welches am 30.01.2014 erschien, ist die Unterstützung von IAccessible2 noch experimentell. Die Ankündigung der Document Foundation beschreibt dies so:

LibreOffice 4.2 is the first open source suite to ship a new Windows (IAccessible2 based) accessibility feature developed by IBM. This is considered experimental for this release, but will replace legacy Java based accessibility in the next major release.

Man braucht also für die erste Zugänglichkeit immer noch eine konfigurierte Java-Umgebung mit AccessBridge. Sobald man IAccessible eingeschaltet hat, kann man diese dann aber deinstallieren, wenn man sie nicht mehr braucht. Und so kommt man da hin:

  1. LibreOffice 4.2.0 herunterladen und installieren. Achtung: Sowohl das Hauptpaket als auch die deutsche Hilfe installieren, wenn die Hilfe offline genutzt werden soll.

  2. Eine benutzerdefinierte Installation durchführen.

  3. Auf der Seite der optionalen Komponenten können z. B. der Online-Updater deaktiviert werden und auch der Quick Starter. Dadurch hat man immer die volle Kontrolle darüber, mit welcher Version man läuft.

  4. Auf der Seite mit dem Schalter „Installieren“ unbedingt ein Häkchen bei „Unterstützung für Hilfstechnologien“ setzen!

  5. Nach der Installation LibreOffice starten. Es läuft nun die Java-Unterstützung.

  6. Extras/Optionen aufrufen und mit Pfeil Runter auf die Dialogseite „Erweitert“ navigieren.

  7. Auf dieser Seite das Kontrollfeld „Experimentelle Features“ aktivieren. Das ist in diesem Fall synonym als „IAccessible2-Support verwenden“ zu verstehen.

  8. Mit OK bestätigen und LibreOffice beenden und neu starten.

Wer keine Java RunTime und AccessBridge installiert hat und dies auch nicht tun möchte, was ich durchaus verstehen kann, der kann vielleicht eine freundliche sehende Person bitten, die Schritte innerhalb LibreOffice einmal durchzuführen. Zusätzlich muss die Person dann aber vor dem Klicken auf OK noch auf die Seite „Zugänglichkeit“ wechseln und dort das Kontrollfeld „Unterstützung für Hilfstechnologien“ aktivieren. Erst dann auf OK. Läuft der Screen Reader mit, ist in diesem Fall die Unterstützung für IAccessible2 sofort aktiv, und man muss LibreOffice nicht noch neu starten. Unter LibreOffice 4.3 werden diese ganzen Schritte nicht mehr nötig sein, da installiert man es, und los geht’s!

Es gibt einige bereits bekannte Probleme, die hoffentlich in 4.2.1 gepatcht werden. So werden Überschriften im Dokument nicht als solche markiert (Bug 74234). Auch wechselt der Fokus bei nicht als Standard formatierten Absätzen gern mal in die Format-Symbolleiste (Bug 74232). Beide Probleme sind in den ersten täglichen Builds von LibreOffice 4.3.0 schon gefixt, die Patches landen dann also hoffentlich bald im Zweig von LibreOffice 4.2.x.

Und noch etwas Nostalgie 🔗

Vielleicht erinnert sich noch der eine oder andere: OpenOffice und LibreOffice haben ihren Ursprung in einem Office-Paket namens StarOffice von der deutschen Firma Star Division aus Hamburg. Diese wurde 1999 an Sun Microsystems verkauft. Wer sich die Geschichte genauer durchlesen möchte, kann dies im Wikipedia-Eintrag zu LibreOffice tun.

Als OpenOffice noch StarOffice war und es die Star Division noch gab, ergab es sich, dass ein junger Screen-Reader-Enthusiast und Auszubildender zum Informatikassistenten StarOffice nutzte und auch ganz intensiv JAWS-Skripte dafür schrieb. Im Verlauf des Versionszyklus der 4.0 ergab es sich, dass eine Umstellung auf eine neue grafische Bibliothek erfolgte, die Screen-reader-Nutzer auf einmal im Regen stehen ließ. Durch Newsgroups war ich mit Entwicklern in Kontakt gekommen, und es ergab sich die Möglichkeit einer persönlichen Vorführung in den Räumen der Star Division. Ich machte mich also mit einem Notebook mit 486 DX-50 Prozessor und JAWS 2.0 (wir waren immer noch unter Windows 3.11 unterwegs) und einer Handy Tech Modular 40 Braillezeile auf den Weg nach Hammerbrook. Als Sprachausgabe kam eine KeyNote PCMCIA-Karte zum Einsatz, eine der synthetischsten deutschen Sprachausgaben, die es gibt, kaum Verständlich für Laien.

Ich führte sowohl StarOffice 4.2, das ja noch funktionierte, als auch 4.3 vor, das nicht mehr funktionierte. Und ich brachte ins Gespräch, dass ich ja eventuell im Rahmen eines Praktikums, das ich für meine Ausbildung benötigte, an einer Entwicklung einer zugänglichen Lösung für das Problem mithelfen könnte.

Die Reaktionen reichten von bass erstaunt darüber, dass selbst mit 4.2 überhaupt was ging, über fasziniert bis hin zu realisierend, dass hier ein größeres Projekt bevorstehen könnte. Aus dem Praktikumsplatz wurde letztendlich nichts, bis zur rudimentären Zugänglichkeit mittels Java AccessBridge gingen fast 10 Jahre ins Land, und eine richtige Zugänglichkeit unter Windows wurde meiner Meinung nach tatsächlich erst jetzt, über 16 Jahre später, erreicht.

Ich will mir nicht auf die Fahnen schreiben, hier einen Grundstein gelegt zu haben, denn andere Faktoren wie die Section 508 aus den USA haben hier das eindeutig größere Gewicht, aber den einen oder anderen Denkanstoß könnte ich damals gegeben haben, und ich glaube ich habe definitiv dafür gesorgt, dass einige Entwickler zum ersten Mal in ihrem Leben einen Blinden einen Computer haben bedienen sehen und sich so später etwas drunter vorstellen können, wenn es um Accessibility ging. 🙂

Etwa 10 Jahre später, nicht all zu lang vor dem Kauf durch Oracle, kehrte ich nochmals in die Räume der ehemaligen Star Division, dann natürlich Sun Microsystems, zurück, und wir besprachen die Zugänglichkeit von Sunbird und Lightning, der auf Mozilla-Technologien basierenden Kalender-Anwendung und der Thunderbird-Erweiterung. Außerdem testete ich zum ersten Mal die Zugänglichkeit von OpenOffice.org mit VoiceOver auf OS X.

Ich weiß leider die Namen derjenigen nicht mehr, mit denen ich 1997/98 bei Star Division zusammentraf und ob von denen heute noch jemand in der Document Foundation oder der Apache Software Foundation tätig und an der Entwicklung von LibreOffice bzw. OpenOffice beteiligt ist. Mir fiel diese Episode aber wieder ein, als ich gestern den IAccessible2-Support von LibreOffice testete und meine ersten beiden Bugs für das Projekt einreichte. 🙂