SoftwareentwicklungJava ist für Blinde schwer zu entziffern

Auch Blinde wie Simon Bienle können als Programmierer arbeiten, denn Digitalisierung hat Hürden abgebaut. Doch müssen wir aufpassen, keine neuen zu errichten. von Astrid Herbold

Wenn Simon Bienlein online ist, dann sieht er keine Texte und keine Überschriften, er erkennt keine Videos und keine Bilder. Er nimmt nicht wahr, wie Twittermeldungen im Sekundentakt tickern und auch die um Aufmerksamkeit heischenden Banner sieht er nicht. Simon Bienlein, 29, ist seit seiner Geburt blind. Trotzdem bewegt er sich mit größter Selbstverständlichkeit durchs Netz, liest, schreibt, informiert sich und kommuniziert. Und nicht nur das: Er hat schon Anwendungen programmiert und Webseiten gestaltet, als die meisten Deutschen noch nicht mal ein Modem besaßen. "Die ersten Erfahrungen habe ich in den späten neunziger Jahren gesammelt, als ich 14 oder 15 war", sagt er. "Damals habe ich in QBasic programmiert.

"Blinde nutzen zwei Hilfsmittel, um mit digitalen Oberflächen zu arbeiten: zum einen die Braillezeile, zum anderen ein Programm zur Sprachausgabe. Die Braillezeile, die vor rund dreißig Jahren entwickelt wurde, ist ein Ausgabegerät, das digitalisierte Texte in Brailleschrift übersetzt. Sie sieht aus wie eine Art vorgelagerte Fühl-Tastatur. Der Text, der auf dem Bildschirm zu sehen ist, wird von der Braillezeile durch kleine Stifte dargestellt, die piezo-elektronisch angehoben werden.

Anzeige

Die Anschaffung dieses relativ teuren Geräts wird in Deutschland meistens von der Krankenkasse übernommen. "Man kann mit der Braillezeile allerdings immer nur einen kleinen Ausschnitt des Bildschirmes lesen", sagt Bienlein. Wenn man weiter lesen will, muss man den Ausschnitt nach oben, unten, rechts oder links verschieben. Schlimm sei das nicht, "man gewöhnt sich schnell daran."

Simon Bienlein
Simon Bienlein

Programmierer Simon Bienlein  |  © Günter Fremuth

Das andere Hilfsmittel, das Bienlein täglich nutzt, ist der Screenreader, eine Software, die ihm alle Texte vorliest, die auf dem Bildschirm zu sehen sind, egal ob er ein E-Mail-Programm auf seinem Desktop geöffnet hat oder Inhalte im Internet aufruft. Das Programm ist in der Regel nicht vorinstalliert, blinde Nutzer müssen es für ihre PCs oder Laptops extra kaufen. Zum Glück, sagt Bienlein, gibt es mittlerweile eine kostenlose Open-Source-Alternative, den Screenreader NVDA.

Mit der Braillezeile und dem Screenreader kann Bienlein seinen Computer ähnlich nutzen wie ein sehender Programmierer. Er kann Codes mit der Tastatur schreiben, er kann sie mithilfe der Braillezeile Korrektur lesen, er kann in E-Books oder Hilfeforen nach Informationen suchen und sie sich vom Screenreader vorlesen lassen.

Doch wie behält er den Überblick bei Codes, die viele tausend Zeilen lang sind? 
"Entweder man hat es im Kopf", sagt Bienlein, "oder man pickt sich einen Teilbereich raus, den man analysiert. Bei der objektorientierten Programmierung kann das eine Klasse sein oder einige Methoden einer Klasse." Man müsse sich eben auf kleine Teilbereiche fokussieren.

Schwierig für blinde Programmierer ist es dagegen, Diagramme zu erfassen, zum Beispiel Programmablaufpläne, die optisch dargestellt werden können. "Da muss man sich dann halt andere Herangehensweisen überlegen."

Bienlein ist im IT Systemhaus der Bundesagentur für Arbeit in Nürnberg beschäftigt, entwickelt dort in einem Team Softwarebausteine, die dann in den Arbeitsagenturen in ganz Deutschland zum Einsatz kommen. Seine Programmiersprache heißt jetzt Java. "Allerdings nutze ich Java nur beruflich, privat habe ich da einige Vorbehalte." Für Sehende mache es keinen Unterschied, für Blinde sind Anwendungen, die auf Java basieren, viel mühsamer zu entziffern. "Selbst mit der Braillezeile ist ein auf Java basierendes Interface schlechter lesbar. "Man bekommt keine Umgebungsinformationen angezeigt, sondern immer nur das jeweils fokussierte Element." Das erschwert das Ausfüllen von Formularen oder die Orientierung auf einer komplexen grafischen Oberfläche.

Leserkommentare
  1. Ich unterrichte einige Jugendliche in Web-Design, also HTML, CSS, PHP etc.

    Unter den Jugendlichen ist auch ein Junge, der nahezu blind ist und Braillezeile sowie Screenreader verwendet. Obwohl dieser Junge zusätzlich noch der zweitjüngste ist und durch seine Behinderung natürlich ein paar Einschränkungen hat, gehört er zu den Fähigsten und Schnellsten in der Gruppe.

    Mir ist durch ihn klar geworden, wie wichtig die Standards im Web-Design sind, welche schon speziell auf ein barrierefreies Internet ausgerichtet ist und wie oft ich selbst diese in der Vergangenheit unterlaufen habe, wenn es mir um Bequemlichkeit und Schnelligkeit bei der Programmierung einer Webseite ging.

    Es ist schön, wenn auch die Zeit auf die Bedeutung von barrierefreiem Programmieren hinweist.

    4 Leserempfehlungen
  2. Aus dem Artikel wird nicht klar, warum blinde Programmierer mit Java besondere Probleme haben. Vielleicht kann das jemand erlaeutern. Welche Programmiersprachen sind fuer blinde Programmierer besser geeignet. Und warum ?

    3 Leserempfehlungen
    Reaktionen auf diesen Kommentar anzeigen

    ...ist das Problem nicht der Java-Code, sondern die Benutzeroberfläche von Anwendungen, die in Java geschrieben sind.
    Ich habe kurz recherchiert und herausgefunden, dass der Zugriff auf die Oberfläche von Java-Anwendungen durch Screenreader o.ä. wohl in der Tat ein Problem darstellt.
    Es gibt eine Lösungsansätze dafür, die müssen aber meinem Verständnis nach beim Entwickeln der Java-basierten Software berücksichtigt werden. D.h. wenn der Entwickler sich darum nicht kümmert, kann der sehgeschädigte Benutzer später nicht mit der Software arbeiten.
    http://www.oracle.com/tec...
    http://de.wikipedia.org/w...

    Ich bin mir nicht sicher, ob die Sprache oder damit erzeugte Oberflächen gemeint sind. Letzteres wäre etwas unglücklich, da man diverse Möglichkeiten der Oberflächengestaltung hat, die alle ihre eigenen Tücken und Eigenschaften haben. So kann man Java-eigene Bibliotheken nutzen ("Swing"), die zwar auch Accessibility-Features haben, aber von fremder Software seltener erkannt wird. Genausogut kann man die Standardoberflächenelemente des Betriebssystems nutzen (SWT, auch QT), die dann genauso gut oder schlecht erkennbar sind wie die Oberflächen anderer Programme. Heute üblicher sind aber Webapplikationen mit "normaler" HTML/CSS/Javascript-Oberfäche, bei denen man die zugrunde liegende Technik, also Java, nicht erkennen kann. Hier hängt es rein von den Fähigkeiten des Oberflächengestalters ab.

    Wenn es um reinen Code geht: Java ist eine C-ähnliche Sprache. Diese Sprachen zeichnen sich durch exzessive Nutzung aller möglichen Symbole und Klammern aus (als etwa $, %, {, }, [, ], &&, &, |, ||), oft tief verschachtelt. Solcher Code ist natürlich miserabel zu lesen. Code in anderen Sprachen wie Basic-Dialekten oder etwa Python nutzt stattdessen besser lesbare Symbole in Textform (etwa AND statt &&) und verzichtet weitgehend auf Klammerung zur Kennzeichnung von Blöcken. Solcher Code kann deutlich besser vorgelesen werden, da er eher englische "Sätze" als halbe mathematische Formeln bildet.

  3. Leider stimmt es, dass vielen Programmierern tatsächlich die rein technischen Fähigkeiten und Kenntnisse fehlen, um barrierefreie Oberflächen zu bauen. Allzu oft stößt man sogar auf aktive Ablehnung semantischer Auszeichnung: Es wird eine Art WYSIWYG für die Datenausgabe gefordert. Was für den absoluten Endanwender richtig sein mag, ist für den Programmierer aber schlicht falsch. Leider geht durch viele visuelle Entwicklungstools der Trend zum "Malen" selbst komplexer Systeme (völlig abgesehen von prinzipiell "simpler" semantischer Datenausgabe). Eigentlich sind die notwendigen Werkzeuge und Techniken ubiquitär; selbst Oberflächen in Java lassen sich entsprechend auszeichnen (wobei ich mir dennoch nicht sicher bin, ob hier Java und Javascript verwechselt wurden, denn Oberflächen in Java gibt es nur noch selten, oder ob gar der Vergleich der Programmiersprache Java selbst mit anderen, nicht genannten wie etwa Python, die weitaus besser "lesbar" sind, gemeint ist).

    Aber selbst wenn die Werkzeuge die richtigen sind und wenn die Kenntnisse und das Bewusstsein vorhanden sind, gibt es natürlich noch eine weitere Schwelle. Es kostet; sowohl Zeit als auch Geld. Und damit muss man erst einmal an den wirtschaftlichen Kontrollinstanzen eines Projektes vorbei kommen. Und diese Hürde ist hoch, in gewinnorientierten Unternehmen höher als in Behörden, die eigentlich gesetzlich verpflichtet sind.

    Eine Leserempfehlung
  4. ...ist das Problem nicht der Java-Code, sondern die Benutzeroberfläche von Anwendungen, die in Java geschrieben sind.
    Ich habe kurz recherchiert und herausgefunden, dass der Zugriff auf die Oberfläche von Java-Anwendungen durch Screenreader o.ä. wohl in der Tat ein Problem darstellt.
    Es gibt eine Lösungsansätze dafür, die müssen aber meinem Verständnis nach beim Entwickeln der Java-basierten Software berücksichtigt werden. D.h. wenn der Entwickler sich darum nicht kümmert, kann der sehgeschädigte Benutzer später nicht mit der Software arbeiten.
    http://www.oracle.com/tec...
    http://de.wikipedia.org/w...

    2 Leserempfehlungen
    Reaktionen auf diesen Kommentar anzeigen

    Lieber DerMrich,

    danke für die Erläuterungen und die gute Nach-Recherche!
    Simon Bienlein und ich habe uns tatsächlich genau darüber unterhalten, dass für blinde NUTZER - nicht für blinde Programmierer! - die mit Java erzeugten Oberflächen schwerer zu "lesen" sind, weil die Braillezeile oder der Screenreader die Inhalte oft nicht optimal wiedergeben kann. Falls das im Artikel missverständlich formuliert war, geht das auf meine Kappe.

    Herzlich,
    Astrid Herbold

  5. Ich bin mir nicht sicher, ob die Sprache oder damit erzeugte Oberflächen gemeint sind. Letzteres wäre etwas unglücklich, da man diverse Möglichkeiten der Oberflächengestaltung hat, die alle ihre eigenen Tücken und Eigenschaften haben. So kann man Java-eigene Bibliotheken nutzen ("Swing"), die zwar auch Accessibility-Features haben, aber von fremder Software seltener erkannt wird. Genausogut kann man die Standardoberflächenelemente des Betriebssystems nutzen (SWT, auch QT), die dann genauso gut oder schlecht erkennbar sind wie die Oberflächen anderer Programme. Heute üblicher sind aber Webapplikationen mit "normaler" HTML/CSS/Javascript-Oberfäche, bei denen man die zugrunde liegende Technik, also Java, nicht erkennen kann. Hier hängt es rein von den Fähigkeiten des Oberflächengestalters ab.

    Wenn es um reinen Code geht: Java ist eine C-ähnliche Sprache. Diese Sprachen zeichnen sich durch exzessive Nutzung aller möglichen Symbole und Klammern aus (als etwa $, %, {, }, [, ], &&, &, |, ||), oft tief verschachtelt. Solcher Code ist natürlich miserabel zu lesen. Code in anderen Sprachen wie Basic-Dialekten oder etwa Python nutzt stattdessen besser lesbare Symbole in Textform (etwa AND statt &&) und verzichtet weitgehend auf Klammerung zur Kennzeichnung von Blöcken. Solcher Code kann deutlich besser vorgelesen werden, da er eher englische "Sätze" als halbe mathematische Formeln bildet.

    2 Leserempfehlungen
  6. Lieber DerMrich,

    danke für die Erläuterungen und die gute Nach-Recherche!
    Simon Bienlein und ich habe uns tatsächlich genau darüber unterhalten, dass für blinde NUTZER - nicht für blinde Programmierer! - die mit Java erzeugten Oberflächen schwerer zu "lesen" sind, weil die Braillezeile oder der Screenreader die Inhalte oft nicht optimal wiedergeben kann. Falls das im Artikel missverständlich formuliert war, geht das auf meine Kappe.

    Herzlich,
    Astrid Herbold

Bitte melden Sie sich an, um zu kommentieren

  • Artikel Auf einer Seite lesen
  • Quelle ZEIT ONLINE
  • Schlagworte Java | Apps | Barrierefreiheit | Digitalisierung | Mozilla | iPhone
Service