Die freie und offene Büro-Software
Apache OpenOffice 4.0.1 ist verfügbar!

OpenOffice.org Accessibility Project

Zuletzt geändert am 08. März 2005

Ziele des Projektes

OpenOffice.org zugänglich zu machen heißt, es für alle Menschen benutzbar zu machen, unabhängig von deren Einschränkungen. Im Wesentlichen gibt es drei wichtige Bereiche, in denen die Zugänglichkeit einer Anwendung verbessert werden kann:
  1. Allgemeine Verbesserungen der Benutzer-Schnittstelle
    Die graphische Benutzer-Schnittstelle (GUI) für jeden leichter bedienbar machen. Dies beinhaltet, die Dialoge klarer zu formulieren und leichter verständlich zu machen, volle Tastatur-Navigation zu ermöglichen und immer ersichtlich zu haben, wo der Fokus der Eingabe ist.

    Jede dieser Verbesserungen der Klarheit und Benutzerfreundlichkeit der GUI wirkt sich ebenfalls positiv auf die beiden anderen Bereiche aus.

  2. Unterstützung mobiler Nutzung
    Eine Anwendung in einer mobilen Umgebung zu nutzen kann bedeuten, dass einer oder sogar mehrere Eingabe-Wege nicht benutzbar sind. Zum Beispiel kann man (oder sollte man zumindest) während einer Autofahrt keine längeren Texte von einem Bildschirm lesen oder per Tastatur eingeben. Aber Sie sind sehr wohl in der Lage, Texte zu diktieren oder abzuhören, wenn diese von einem Sprachsynthesizer vorgelesen werden. Ein anderes Beispiel ist ein Palmtop-Computer ohne Tastatur. Alternative Wege zur Texteingabe können virtuelle Tastaturen, der Bildschirm, Handschriften- oder Stimmen-Erkennung sein.
  3. Menschen mit Behinderungen
    Behinderungen können angeboren, durch Unfälle oder Krankheiten verursacht, oder ganz einfach das Resultat des Alterns sein. Für Menschen mit Behinderungen kann es notwendig sein, andere Ein- und Ausgäbegeräte als etwa Tastaturen, Mäuse und Monitore zu benutzen. Anwendungen sowie Hardware, die als alternative Ein- und Ausgabegeräte genutzt werden, nennt man assistive Technologie (AT, siehe auch weiter unten eine Liste von Behinderungen und assistiver Technologien).

In Deutschland hat die Gleichbehandlung von Behinderten und Nicht-Behinderten seit 1994 Verfassungsrang. Seit diesem Zeitpunkt ist in Artikel 3 Absatz 3 des Grundgesetzes Folgendes verankert: "Niemand darf wegen seiner Behinderung benachteiligt werden." Letztlich konsequent umgesetzt wird dieses Grundrecht seit der Verabschiedung des Gleichstellungsgesetzes. In Paragraf 1 heißt es: "Ziel dieses Gesetzes ist es, die Benachteiligungen von Behinderten Menschen zu beseitigen und zu verhindern sowie die gleichberechtigte Teilhabe von behinderten Menschen am Leben in der Gesellschaft zu gewährleisten und ihnen eine selbstbestimmte Lebensführung zu ermöglichen. Dabei wird besonderen Bedürfnissen Rechnung getragen."

Hierunter ist auch die verbesserte Benutzbarkeit von - unter anderem - Computerprogrammen zu sehen.

Behinderungen und Assistive Technologie

Hier eine Auflistung verschiedener Behinderungen und Möglichkeiten der Unterstützung für Menschen mit solchen Einschränkungen:

  • Kurzsichtigkeit
    • Unterstützung größerer Schriften und Grafiken (Icons) oder eine Bildschirm-Lupe.
    • Benutzung klarerer Schriften, Unterstützung der Möglichkeit etwa eine Handschrift durch die Schrift Helvetica zu ersetzen.
    • Vergrößerung des Kontrastes zwischen Vorder- und Hintergrund.
    • Entfernung oder Vermeidung ablenkender Hintergrundmuster oder -bilder.
  • Farbenblindheit
    Andere Wege als ausschließlich Farben zur Verdeutlichung von Informationen nutzen.
  • Blindheit
    Um blinde Menschen bei der Benutzung von Openoffice.org zu unterstützen, müssen wir Alternativen zu der grafischen Benutzeroberfläche anbieten. Das kann sein
    • Sprachausgabe mittels synthetisierter Sprache, die textlich all das wieder gibt, was auf dem Bildschirm zu sehen ist.
    • Braillezeile
    • Nähere Informationen zu dieser Art von Eingabe- / Ausgabegerät finden sich hier.
  • Schwerhörigkeit / Taubheit
    • Untertitelung, um gesprochene Informationen textlich wiederzugeben.
    • Visuelle Wiedergabe von Audio-Signalen.
  • Bewegungseinschränkungen
    Erkrankungen wie Parkinson oder Multiple Sklerose, aber auch körperliche Verletzungen, die den Verlust von Gliedmaßen zur Folge haben, führen zu einer Vielzahl von Bewegungseinschränkungen. Die betreffenden Personen können unterstützt werden durch:
    • Alternative Zeigegeräte wie etwa fußgesteuerte Mäuse oder augengesteuerte Trackballs.
    • Bildschirmtastaturen, die per Maus oder alternativer Zeigegeräte gesteuert werden.
    • Sprach-Erkennung.
    • Hervorstehende Tasten bieten ähnliche Funktionalität wie die Feststellung der Tasten durch Shift, Control und Alt. Das ermöglicht es dem Benutzer, die Tastatur mit nur einem Finger zu benutzen.
  • Kognitive Einschränkungen oder Lernbehinderungen
    Vereinfachung der Benutzeroberfläche und der Benutzer-Schnittstellen. Bereitstellung von Hilfe-Dokumenten und geeigneten Trainingsprogrammen.
  • Anfallsleiden
    Schaffung der Möglichkeit, blinkende, sich drehende oder sich bewegende Bildschirminhalte einstellbar zu machen oder eine Möglichkeit des Abschaltens zu bieten.

Hier eine Liste verschiedener Arten von Behinderungen und assistiver Technologien des Gnome Zugänglichkeits-Projektes für mehr Informationen.

OpenOffice.org zugänglich gestalten

Um manche oder sogar alle der oben erwähnten Wege zu bieten und Menschen beim Umgang mit Openoffice.org zu unterstützen, müssen wir sie einteilen, um zu überlegen, wie sie technisch realisierbar sind:
  • Tastatur-Steuerung
    OpenOffice.org ist bereits in großen Teilen per Tastatur kontrollierbar. Als offene Aufgaben bleiben etwa die Schaffung der Möglichkeit des Wechsels in Dialoge hinein sowie der Wechsel zwischen verschiedenen Dialogen. Ebenfalls fehlt noch die Möglichkeit der (De-)Aktivierung von OLE-Objekten.
  • Verbesserungen der Visualisierung und der Tastatur
    Die Verbesserungen der Tastatur werden (hoffentlich) durch das jeweilige Betriebssystem abgedeckt. Visuelle Verbesserungen wie etwa vergrößerte und klarere Schriften sind bereits mit dem existierenden OpenOffice.org machbar.
  • Assistive Technologie
    Die Unterstützung von AT wird möglicherweise den größten Teil der Arbeit beinhalten, um Openoffice.org zugänglich zu machen. Es existieren einige APIs, die als allgemeine Abstraktionen der verschiedenen AT-Eingabe- und -ausgabegeräte dienen. Im Moment stellt für uns Java die weitestgehend geeignete API dar, ist sie doch das einzige wirklich betriebssystemunabhängige Mitglied dieser Gruppe. Gleichzeitig haben wir aber auch ein Auge auf die Gnome-Zugänglichkeits-API. Beide ähneln sich sehr in der Art, wie sie einerseits eine Anwendung darstellen und andererseits in der Art der Informationen, die sie für die verschiedensten Bereiche der grafischen Benutzeroberfläche bereit stellen. Im nächsten Abschnitt gibt es zu diesem Thema mehr Einzelheiten.

Unterstützung assistiver Technologien

OpenOffice.org ermöglicht die Erstellung, die Änderung, die Ansicht und den Ausdruck von Dokumenten. Damit die Benutzer dies einfach und intuitiv erledigen können, bietet das Programm eine graphische Benutzeroberfläche (GUI). Zugänglichkeit bedeutet, die Erstellung, die Änderung, die Ansicht sowie den Ausdruck von Dokumenten auch denen zu ermöglichen, die eine solche graphische Benutzeroberfläche nicht benutzen können. Assistive Technologie will eine Benutzerschnittstelle bieten, die für eben solche Benutzer nutzbar ist.

Wir könnten natürlich die gesamte Benutzer-Schnittstelle ändern und sie durch jeweils vollkommen andere ersetzen. Aber dies hat zwei wesentliche Nachteile:

  • Zwei Personen mit unterschiedlichen Fähigkeiten könnten sich gegenseitig nicht helfen, denn ihre Benutzer-Oberflächen hätten nichts oder nur sehr wenig gemeinsam.
  • Wir müssten für jedes AT-Gerät eine spezielle Benutzer-Oberfläche bieten. Dabei weiß der Vertreiber eines solchen Gerätes sehr viel besser als wir, wie die Benutzeroberfläche für sein Gerät aussehen oder klingen sollte.

Eine sehr viel bessere Lösung besteht in einer allgemeinen Darstellung sowohl der Dokumente als auch der bereits existierenden graphischen Benutzeroberfläche. Sie muss so konzipiert sein, dass assistive Technologien vollen Zugriff auf beides haben. Die Hersteller und Händler von AT-Geräten können dann diese Darstellung dazu nutzen, zusätzliche Benutzer-Schnittstellen anzubieten. So beschreiben sowohl die graphische als auch die alternative Benutzer-Schnittstelle dieselben Gegebenheiten und alle Benutzer können zusammen an dem selben Dokument arbeiten.

Wegen dieser allgemeinen Darstellung werden wir die Java Accessibility API in der Version 1.4 benutzen, aber zuerst unsere eigene UNO Accessibiltiy API (UAA) implementieren. Diese ist kurz nach der Java API entstanden und sehr nah an sie angelehnt. Um irgendwann in der Zukunft die Gnome Accessibility API nutzen zu können, haben wir bereits einige der dort vorhandenen - aber nicht in der Java API zu findenden - Funktionen in die UNO API eingefügt.

UNO Accessibility API

Hier finden Sie mehr Einzelheiten über die Eigenschaften der UNO Accessibility API.

Anbindung der UNO Accessibility API an die Java Accessibility API

Die Anbindung der UNO Accessibility API an die Java Accessibility API (JAA) unter Windows erlaubt es Openoffice.org, sich die Arbeit zu nutze zu machen, die die Hersteller von assistiven Technologien (AT) bereits geleistet haben, um Java-Anwendungen unter Windows zugänglich zu machen. Während die Microsoft Accessibility API (MS-AA) lediglich einige wenige Benutzerschnittstellen-Objekte, wie etwa Menüs und Ähnliches, berücksichtigt, bietet die JAA der JDK 1.4 zusätzliche Schnittstellen, um auch Dokumente zureichend beschreiben zu können.

Die Anbindung an Java bietet außerdem den großen Vorteil, dass große Teile des Codes auch für die Nutzung unter einer Gnome 2 Oberfläche (wieder-)verwendet werden können. Eine erste Version der Überführung von der JAA zur GNOME Accessibility API wird in Kürze erwartet.

Der "Überführungs-Code" besteht aus zwei verschiedenen Teilen: dem "Klebe-Code" (glue code) zwischen der Visual Component Library (VCL) und der Windows Java AccessBridge, sowie dem Code, der die UNO-Schnittstelle zu der JAA darstellt.

Dokumentendarstellung

Der Hauptteil jedes Anwendungsfensters ist das Dokumentenfenster, in dem ein Dokument sichtbar gemacht wird. Das bedeutet, dass sowohl dieses Fenster als auch das sich darin befindliche Dokument, genauso wie die anderen GUI-Elemente von der Java Accessibility API dargestellt werden müssen. Dieser Abschnitt beinhaltet die Beschreibung solcher Darstellungen.

Bitte sehen Sie sich die Regeln der Dokumentendarstellung an. Sie beschreiben alle Regeln, wie Dokumente dargestellt werden und sind unabhängig von der Anwendung, mit der ein Dokument erstellt wurde.

Unten finden Sie Links, in denen die Darstellung der Dokumente in den einzelnen Anwendungen beschrieben wird:

  • Writer
    Vorschlag darüber, wie Writer und Writer/Web zugänglich gemacht werden können.
  • Calc
    Vorschlag, wie Calc zugänglich gemacht werden kann.
  • Draw/Impress
    Vorschlag, wie Draw und Impress zugänglich gemacht werden können.
  • Chart
    Vorschlag, wie Chart zugänglich gemacht werden kann.

Konkretere Dokumentationen können bei den vorgeschlagenen und/oder implementierten Diensten von Writer, Calc und Draw/Impress gefunden werden.

Einzelheiten darüber, wie Sätze des AccessibleStateType (sogenannte State Sets) von den Dokumenten genutzt werden, können hier gefunden werden. Beachten Sie, dass dies vom Rest der graphischen Benutzeroberfläche anders gehandhabt wird.

Test und Fehlersuche

Es gibt ein graphisches Testprogramm, die Accessibility Work Bench. Sie nutzt die UNO Accessibility API um die Zugänglichkeit eines laufenden Programms zu testen. Es ermöglicht den Entwicklern der UAA zu sehen, welche Informationen von außen zugänglich sind.

Einzelheiten der API-Unterstützung

Dieser Abschnitt beschreibt die mehr technischen Einzelheiten der Unterstützung der Zugänglichkeits-API.

Die allgemeine Strategie wird sein, die Openoffice.org API durch eine Zugänglichkeits-Sektion zu erweitern. Diese Zugänglichkeits-API, die sich sehr nah an der Java- und der Gnome Zugänglichkeits-API orientieren wird, kann dann sehr schnell an diese beiden angebunden werden.

Die Tatsache, dass wir unsere eigene OpenOffice.org Zugänglichkeits-API als eine Art Vermittlungsinstanz zwischen der Büro- und der Zugänglichkeits-API, die ja von AT-Geräten gebraucht wird, nutzen, hat den Vorteil, dass wir auf einfache Art mehr als eine API unterstützen können und im Bezug auf zukünftige Änderungen in diesen APIs flexibel sind.

Wir werden die Tatsache, dass wir bereits über eine API verfügen, die uns Zugang zu allen Einzelheiten von Openoffice.org-Dokumenten bietet, ausnutzen. Dies erlaubt es uns, den gesamten Code, der die Openoffice.org Zugänglichkeits-API implementiert, an einem Ort zu sammeln. Dies ist um vieles besser, als sie an den verschiedensten Stellen bereits existierenden Codes einzubauen.

Einzelheiten über die UAA und ihre Implementierung können hier gefunden werden.

Status

Wir sind im Moment dabei, genaue Vorgaben dafür zu entwickeln, wie sowohl die Openoffice.org GUI als auch die Dokumente dargestellt werden sollen, damit mittels der Java/UNO Zugänglichkeits-API auf sie zugegriffen werden kann.

Mitwirkung

Viel von unserer Arbeit findet über unsere Mailing-Listen statt. Diese können durch einen Klick auf den "Mailing Lists" Link weiter oben in der Navigationsleiste betrachtet werden. Von dort aus kann man unsere Listen abonnieren und in den Archiven lesen. Die geeignete Mailing-Liste ist dev@ui.openoffice.org. Sie können abonnieren, abmelden und das Archiv der Zugänglichkeits - Mailingliste durchstöbern.

Abkürzungen und Glossar

API, Application Programmers Interface - Programmier-Schnittstelle für Anwendungen
AT, Assistive Technologie - Anwendungen und Geräte, die als alternative Ein- und Ausgabe-Geräte genutzt werden.
GUI, Graphical User Interface - Graphische Benutzerschnittstelle
JAA, Java Accessibility API - Java Zugänglichkeits API. Die Programier-Schnittstelle, die von Java genutzt wird, um den Programmierern Zugriff auf die Zugänglichkeitsinformationen der Java-Klassen und -Objekte zu geben.
MS-AA, Microsoft Accessibility API - Zugänglichkeits-API der Firma Microsoft
UAA, Uno Accessibility Interface - Zugänglichkeits-Schnittstelle, die von UNO genutzt wird, um Entwicklern Zugriff auf die Zugänglichkeits-API von Openoffice.org zu geben.
UI, User Interface
UNO, Universal Network Objects - UNO ist ein Komponeneten-Modell, das Interoperabilität zwischen verschiedenen Programmiersprachen, verschiedenen Objekt-Modellen, verschiedenen Computerarchitekturen und verschiedenen Prozessen bietet.

Links

Allgemeines:

Diverse Interessenverbände:

Gehörlose:

  • Taubenschlag - Portal für Gehörlose und Schwerhörige mit umfangreichen Infos
  • Gehoerlosen-Bund - Seite des Interessensverbandes der Gehörlosen und anderer Hörgeschädigter in Deutschland
  • Körperbehinderte:

  • FGQ e.V. - Fördergemeinschaft der Querschnittgelähmten e.V.
  • Hilfsmittel:

  • Schweizer Seite, die u.a. eine Vielzahl von Hilfsmitteln anbietet - jedoch etwas kompliziert in der Navigation.
  • Kommunikationssysteme für Sehgeschädigte - bieten einige gute Hilfsmittel für die Arbeit am Monitor.

  • Programmiertechnisches:

    APIs:

  • UNO Accessibility API: http://ui.openoffice.org/accessibility/unoapi.html
  • Java Accessibility (version 1.4): http://java.sun.com/j2se/1.4/docs/guide/access/
  • The Gnome Accessibility Project: http://developer.gnome.org/projects/gap/
  • Richtlinien für die Erstellung öffentlich zugänglicher Dokumente

    (teilweise in englischer Sprache):


    Lob, Anregung und Kritik bitte an Andreas Hausmann

    Apache Software Foundation

    Copyright & License | Privacy | Website Feedback | Contact Us | Donate | Thanks

    Apache, the Apache feather logo, and OpenOffice are trademarks of The Apache Software Foundation. OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.