Wie können Sie programmieren, wenn Sie blind sind?


685

Das Sehen ist einer der Sinne, die die meisten Programmierer für selbstverständlich halten. Die meisten Programmierer würden Stunden damit verbringen, auf einen Computermonitor zu schauen (insbesondere in Zeiten, in denen sie sich in der Zone befinden ), aber ich weiß, dass es blinde Programmierer gibt (wie TV Raman, der derzeit für Google arbeitet).

Wenn Sie eine blinde Person wären (oder langsam blind werden), wie würden Sie Ihre Entwicklungsumgebung einrichten, um Sie beim Programmieren zu unterstützen?

(Ein Vorschlag pro Antwort bitte. Der Zweck dieser Frage ist es, die guten Ideen nach oben zu bringen. Außerdem können Bildschirmleser die guten Ideen früher lesen.)

Antworten:


1017

Ich bin ein völlig blinder Student, der mehrere Programmierpraktika absolviert hat, daher basiert meine Antwort auf diesen. Ich verwende Windows XP als Betriebssystem und Jaws, um zu lesen, was mir in synthetischer Sprache auf dem Bildschirm angezeigt wird. Für die Java-Programmierung verwende ich Eclipse, da es sich um eine voll funktionsfähige IDE handelt, auf die zugegriffen werden kann.

Nach meiner Erfahrung sind Java-Programme, die SWT als GUI-Toolkit verwenden, in der Regel zugänglicher als Programme, die Swing verwenden, weshalb ich mich von Netbeans fern halte. Für jede .net-Programmierung verwende ich Visual Studio 2005, da es die Standardversion meines Praktikums war und mit Jaws und einer Reihe von Skripten, die entwickelt wurden, um Dinge wie den Formulardesigner leichter zugänglich zu machen, sehr gut zugänglich ist.

Für die C- und C ++ - Programmierung verwende ich cygwin mit gcc als Compiler und emacs oder vim als Editor, je nachdem, was ich tun muss. Ein Großteil meines Praktikums umfasste das Programmieren für Z / OS. Ich habe eine Anmeldesitzung über Cygwin verwendet, um auf das USS-Subsystem auf dem Mainframe zuzugreifen, und C3270 als meinen 3270-Emulator, um auf den ISPF-Teil des Mainframes zuzugreifen.

Normalerweise verlasse ich mich auf synthetische Sprache, habe aber eine Braillezeile. Ich arbeite normalerweise schneller mit Sprache, benutze aber die Braillezeile in Situationen, in denen Interpunktion wichtig ist und kompliziert wird. Beispiele hierfür sind Anweisungen mit vielen verschachtelten Klammern und JCL, bei denen Interpunktion unglaublich wichtig ist.

Aktualisieren

Ich spiele mit Emacspeak unter cygwin http://emacspeak.sourceforge.net. Ich bin nicht sicher, ob dies als Programmiereditor verwendet werden kann, da es etwas nicht reagiert, aber ich habe mir keine der Konfigurationsoptionen angesehen noch.


275
wirklich erstaunlich . Herzliche Glückwünsche !
lauert

31
Nachdem ich einen blinden Vater hatte, der sehr computerbewusst war und wusste, was er durchgemacht hat, um Windows zugänglich zu machen, überrascht mich Ihr Setup. Glückwunsch! :)
Geocoin

118
Angenommen, Sie verwenden auch Laptops: Schalten Sie das Display jemals aus, um die Akkulaufzeit zu verlängern? Weil das aus so viel Gewinn gemacht würde.
Jens Roland

99
Dies ist das erste Mal auf SO, dass mir eine Antwort den Kiefer fallen lässt.
Amy

65
Ich hatte keine Ahnung, dass dies möglich war. Ich werde die Zugänglichkeit nicht länger vergessen.
ChaosPandion

400

Ich bin blind und programmiere seit ungefähr 13 Jahren unter Windows, Mac, Linux und DOS in Sprachen von C / C ++, Python, Java, C # und verschiedenen kleineren Sprachen. Obwohl die ursprüngliche Frage die Konfiguration der Umgebung betraf, sollte sie meiner Meinung nach am besten beantwortet werden, indem untersucht wird, wie eine blinde Person einen Computer verwenden würde.

Einige Leute benutzen eine Sprechumgebung, wie TV Raman und die Emacspeak-Umgebung, die in anderen Antworten erwähnt werden. Die bei weitem üblichere Lösung besteht darin, einen Bildschirmleser zu haben, der im Hintergrund ausgeführt wird, um die Aktivität des Betriebssystems zu überwachen und den Benutzer über synthetische Sprache oder eine physische Braillezeile zu benachrichtigen (in der Regel werden zwischen 20 und 80 Zeichen gleichzeitig angezeigt). Dies bedeutet dann, dass eine blinde Person jede zugängliche Anwendung verwenden kann.

Daher verwende ich Visual Studio 2008 heutzutage persönlich und führe es mit sehr wenigen Änderungen aus. Ich deaktiviere bestimmte Funktionen wie das Anzeigen von Fehlern während der Eingabe, da ich dies als störend empfinde. Bevor ich zu Microsoft kam, wurde meine gesamte Entwicklung in einem Standard-Texteditor wie Notepad durchgeführt, also wieder keine Anpassungen.

Es ist möglich, einen Bildschirmleser so zu konfigurieren, dass Einrückungen angekündigt werden. Ich persönlich benutze dies nicht, da Visual Studio sich darum kümmert und C # geschweifte Klammern verwendet. Dies wäre jedoch in einer Sprache wie Python sehr wichtig, in der Leerzeichen wichtig sind. Schließlich verwendet Emacspeak verschiedene Stimmen / Tonhöhen, um verschiedene Teile der Syntax (Schlüsselwörter, Kommentare, Bezeichner usw.) anzugeben.


5
Notizblock, wow. Haben Sie jemals einen physischen Notizblock zum Schreiben von Code verwendet (z. B. mit einem Braille-Stift?)? Verwenden Sie IntelliSense? Wie schnell spricht Ihr Bildschirmleser?
Kragen Javier Sitaker

6
Hallo Saqib, ich habe dein Interview auf hanselminutes genossen (vorausgesetzt du bist der gleiche Typ :). Der Strg-Shift-Escape-Tipp war neu für mich!
UpTheCreek

5
UpTheCreek bezieht sich auf: channel9.msdn.com/blogs/dan/…
idbrii

26
Wie viel von dem Programm haben Sie aus Interesse im Kopf und wie viel müssen Sie während der Arbeit aktualisieren? Wie eine sehende Person, die hin und her rollt.
Thorbjørn Ravn Andersen

Wow, das ist wirklich interessant, dass Emacspeak Tonhöhe und Ton verwendet!
Hamish

107

Ich bin blind und seit ungefähr 12 Jahren Programmierer. Derzeit bin ich leitender Architekt und arbeite bei der Sapient Corporation (einem in Cambridge ansässigen Beratungsunternehmen, das sowohl webbasierte als auch Thick Client-basierte Unternehmenslösungen entwickelt). Ich benutze mehrere Bildschirmleser, bleibe aber meistens bei Jaws für Windows und NVDA.

Ich habe hauptsächlich an der Microsoft-Plattform und dem Visual Studio als meiner Umgebung gearbeitet. Ich verwende auch Tools wie das MS Sql Enterprise Studio und andere für den DB-Zugriff, die Netzwerküberwachung usw. Ich habe versucht, einige Zeit mit Emacspeak zu verbringen, aber da meine Arbeit hauptsächlich auf der MS-Plattform basierte, habe ich dort nie wirklich viel Zeit verbracht. Ich habe auch ein paar Jahre an C ++ unter Linux gearbeitet - meistens Notepad oder Visual Studio unter Windows für die gesamte Codierung und dann Samba, um Dateien mit der Linux-Umgebung zu teilen. Auch Borland C für einige experimentelle Sachen verwendet. Ich habe kürzlich mit Python herumgespielt, was, wie andere oben erwähnt haben, für einen blinden Benutzer besonders unfreundlich ist, da es mit Einrückung als Verschachtelungsmechanismus geschrieben wurde. Davon abgesehen, NVDA, Der beliebteste Open-Source-Bildschirmleser wurde vollständig mit Python geschrieben, und einige der Commiter in diesem Projekt sind selbst blind. Eine besonders interessante Frage, die mir als Architekt häufig gestellt wird, ist, wie ich mit Diagrammen umgehe - UML und Visio und Rational Rose usw. Visio ist wahrscheinlich das am besten zugängliche Diagrammwerkzeug auf dem Markt. Ich konnte Kiefer-Skripte schreiben, um rationale Rosendiagramme für mich zu lesen. Ich habe ein Tool namens T-Dub (technisches Diagrammverständnis für Blinde) verwendet, das von einer deutschen Universität für den Zugriff auf UML 2.0-Diagramme entwickelt wurde. Habe ein Java-basiertes hässliches Tool namens Magic Draw für die modellgetriebene Entwicklung verwendet und war Commiter beim androMDA-Projekt und half bei der Entwicklung des .Net-Codegenerators aus einem UML-Modell. Eine besonders interessante Frage, die mir als Architekt häufig gestellt wird, ist, wie ich mit Diagrammen umgehe - UML und Visio und Rational Rose usw. Visio ist wahrscheinlich das am besten zugängliche Diagrammwerkzeug auf dem Markt. Ich konnte Kiefer-Skripte schreiben, um rationale Rosendiagramme für mich zu lesen. Ich habe ein Tool namens T-Dub (technisches Diagrammverständnis für Blinde) verwendet, das von einer deutschen Universität für den Zugriff auf UML 2.0-Diagramme entwickelt wurde. Habe ein Java-basiertes hässliches Tool namens Magic Draw für die modellgetriebene Entwicklung verwendet und war Commiter beim androMDA-Projekt und half bei der Entwicklung des .Net-Codegenerators aus einem UML-Modell. Eine besonders interessante Frage, die mir als Architekt häufig gestellt wird, ist, wie ich mit Diagrammen umgehe - UML und Visio und Rational Rose usw. Visio ist wahrscheinlich das am besten zugängliche Diagrammwerkzeug auf dem Markt. Ich konnte Kiefer-Skripte schreiben, um rationale Rosendiagramme für mich zu lesen. Ich habe ein Tool namens T-Dub (technisches Diagrammverständnis für Blinde) verwendet, das von einer deutschen Universität für den Zugriff auf UML 2.0-Diagramme entwickelt wurde. Habe ein Java-basiertes hässliches Tool namens Magic Draw für die modellgetriebene Entwicklung verwendet und war Commiter beim androMDA-Projekt und half bei der Entwicklung des .Net-Codegenerators aus einem UML-Modell. Ich konnte Kiefer-Skripte schreiben, um rationale Rosendiagramme für mich zu lesen. Ich habe ein Tool namens T-Dub (technisches Diagrammverständnis für Blinde) verwendet, das von einer deutschen Universität für den Zugriff auf UML 2.0-Diagramme entwickelt wurde. Habe ein Java-basiertes hässliches Tool namens Magic Draw für die modellgetriebene Entwicklung verwendet und war Commiter beim androMDA-Projekt und half bei der Entwicklung des .Net-Codegenerators aus einem UML-Modell. Ich konnte Kiefer-Skripte schreiben, um rationale Rosendiagramme für mich zu lesen. Ich habe ein Tool namens T-Dub (technisches Diagrammverständnis für Blinde) verwendet, das von einer deutschen Universität für den Zugriff auf UML 2.0-Diagramme entwickelt wurde. Habe ein Java-basiertes hässliches Tool namens Magic Draw für die modellgetriebene Entwicklung verwendet und war Commiter beim androMDA-Projekt und half bei der Entwicklung des .Net-Codegenerators aus einem UML-Modell.

Im Allgemeinen finde ich, dass ich in einer Teamumgebung, in der ich an meinen Stärken arbeiten kann, am meisten Erfolg habe. Während beispielsweise ein Diagramm äußerst nützlich ist, um ein Design zu kommunizieren / zu dokumentieren, erfordert der eigentliche Designprozess viel Nachdenken und Brainstorming. Wenn das Design durchdacht ist, kann Ihnen einer Ihrer Teamkollegen dabei helfen, schnell ein ordentlich gezeichnetes Design zusammenzustellen Bild raus. Die Leute interpretieren das oben Genannte fälschlicherweise als Mangel an Unabhängigkeit oder Fähigkeit, während ich dies als reine gegenseitige Abhängigkeit betrachte - da ich sicher bin, dass der Teamkollege allein dieses Design niemals alleine und in sich selbst hätte entwickeln können - Wenn ich mich darauf verlasse, dass er das Design dokumentiert, soll es so sein. Die meisten Hürden, denen ich gegenüberstehe, sind werkzeugbasierte Unzugänglichkeiten.


6
Sind Sie in Indien ansässig? Und wohin bist du verschwunden? Nach diesem einen Beitrag scheinen Sie verschwunden zu sein.
Mamta D

1
Als Programmierer tut es mir einfach so leid, dass ich der Barrierefreiheit nie genug Aufmerksamkeit geschenkt habe ... Es tut mir so leid ...
Ohne Titel

53

Ich bin ein blinder Entwickler und arbeite unter Windows, GNU Linux und MacOS X. Jede Plattform hat unterschiedliche Workflows für blinde Benutzer. Dies hängt vom Bildschirmleser ab, den der blinde Entwickler verwendet. Entwicklungswerkzeuge sind für blinde Entwickler nicht vollständig zugänglich. Ich kann Code eingeben und Kompilierungsfunktionen in allen IDEs verwenden, aber es gibt viele Probleme, wenn ich eine Schnittstelle mit Entwurfstools wie Interface Builder, XGlade oder anderen entwerfen muss. Als ich mit Borland Delphi entwickelte, konnte ich ein Steuerelement hinzufügen, beispielsweise eine Schaltfläche, und ich konnte jedes visuelle Attribut des Steuerelements mithilfe des Objektinspektorfensters ändern. Viele IDEs verwenden Objektinspektorfenster, um visuelle und nicht visuelle Attribute zu ändern. Das Problem für einen blinden Entwickler besteht jedoch darin, neue Steuerelemente hinzuzufügen, da die Methode zum Hinzufügen eines neuen Steuerelements darin besteht, ein Steuerelement aus der Palette auf die Zeichenfläche zu ziehen und dort abzulegen. Visual Studio 200x verwendet dazu alternative Methoden, aber die Benutzeroberfläche der IDE ändert sich in jeder neuen Version. Dies ist ein großes Problem, da Bildschirmleseprogramme für Windows spezielle Unterstützung mithilfe von Skripten benötigen, um jeden Bereich einiger nicht standardisierter Anwendungen zu identifizieren. Ein blinder Entwickler kann Visual Studio 2008 mit seinem Bildschirmleser verwenden. Wenn jedoch eine neue Version dieser IDE angezeigt wird, muss er auf eine neue Version von Skripten für diese Version der IDE warten. Xcode mit Interface Builder bietet noch keine Alternative zum Ziehen und Ablegen von Aufgaben. Ich habe es Apple oft gefragt, aber sie arbeiten in anderen Dingen. Ich habe 3 Apps im App Store veröffentlicht (Accessible Minesweeper, Accessible Fruitmachine und Programar a Ciegas RSS) und musste die gesamte Benutzeroberfläche per Code gestalten. Es ist eine harte Arbeit, aber ich kann alle Funktionen jedes Steuerelements verwalten. Eclipse verfügt über einen zugänglichen Code-Editor, aber andere Entwicklungstools wie die Debug-Konsole, Plugins für den Entwurfs- oder Dokumentationsbereich stellen Probleme für Hilfstools für blinde Benutzer dar.

Dokumentationen sind auch für blinde Entwickler ein Problem. Viele Beispiele und Demonstrationen verwenden Bilder, um die Erklärung zu zeigen (stellen Sie die Umgebungseinstellungen so ein, wie Sie es auf dem Bild sehen können).

Ich denke, die Frage ist nicht blind. Die Frage ist, ob Unternehmen und Entwicklungsgruppen der Meinung sind, dass die Barrierefreiheit die endgültige Software beeinflusst, die Entwicklungssoftware jedoch nicht. Sie denken, ein blinder Benutzer sollte ein Kunde sein, aber ein blinder Benutzer kann kein Entwicklungspartner sein.

Blinde Verbände fragen nach der Zugänglichkeit von Produkten und Dienstleistungen, haben aber blinde Entwickler vergessen. Blinde können als Anwälte, Journalisten und Lehrer arbeiten, aber ein blinder Entwickler ist selbst für Blinde ein seltsames Konzept. Oft fühle ich mich allein, weil einige meiner blinden Freunde meine Arbeit nicht verstehen können.

Sie können meine Meinung zu diesem Thema in diesem Artikel auf Spanisch in meinem Blog http://www.programaraciegas.net/2010/11/05/la-accesibilidad-en-crisis-para-los-desarrolladores-ciegos/ lesen. Auf der Webseite befindet sich ein Übersetzungstool. Entschuldigung, aber ich habe es nicht übersetzt.


47

Emacs verfügt über eine Reihe von Erweiterungen, mit denen blinde Benutzer Textdateien bearbeiten können. Sie müssten einen Experten zu diesem Thema konsultieren, aber emacs verfügt über Text-to-Speech-Funktionen. Und wahrscheinlich mehr.

Außerdem gibt es BLinux:

http://leb.net/blinux/

Linux für Blinde. Schon sehr lange da. Mehr als zehn Jahre denke ich und sehr reif.


43

Denken Sie daran, dass "blind" eine Reihe von Bedingungen ist - es gibt einige, die legal blind sind und einen wirklich großen Monitor oder mit Hilfe der Vergrößerung lesen können, und dann gibt es diejenigen, die überhaupt keine Sicht haben. Ich erinnere mich an eine Klassenkameradin im College, die ein spezielles Gerät zum Vergrößern von Büchern und eine spezielle Software hatte, mit der sie einen Teil des Bildschirms vergrößern konnte. Sie arbeitete hart, um das College zu beenden, weil sich ihr Sehvermögen verschlechterte und sie vollständig verschwinden würde.

Das Programmieren hat auch ein Spektrum von Anforderungen - einige Leute sind gut darin, sehr viel Code herauszuholen, und einige Leute sind besser darin, das Gesamtbild und die Architektur zu betrachten. Ich würde mir vorstellen, dass Blindheit angesichts der Schwierigkeiten, die die Bildschirmoberfläche mit sich bringt, Ihre Fähigkeit verbessern kann, das Gesamtbild zu erfassen ...



31

Ich habe drei Jahre lang für die Greater Detroit Society for the Blind gearbeitet und eine BBS geleitet, die auf blinden Zugang zugeschnitten ist, und mit einer Reihe von blinden Benutzern zusammengearbeitet, um ihre Bedürfnisse besser zu erfüllen, und mit neu blinden Benutzern, um sie an die verfügbare Hardware und zu gewöhnen Software-Angebote, die zu diesem Zeitpunkt verfügbar waren. Wenn nichts anderes, habe ich zumindest gelernt, Braille als Absicherung gegen den Fall zu lesen, in dem ich jemals in der gleichen Situation gelandet bin!

Die Mehrheit der blinden Computerbenutzer und Programmierer verwendet einen Bildschirmleser. Besonders Kiefer sind beliebt. Glücklicherweise bieten die meisten wichtigen Anwendungen heutzutage eine Form des behindertengerechten Zugriffs. Möglicherweise müssen Sie Ihre Umgebung leicht anpassen, um das Chatter zu reduzieren. Deaktivieren Sie beispielsweise Intellisense in Visual Studio.

Eine Braillezeile ist weniger verbreitet und vergleichsweise viel teurer. Sie kann 40 oder 80 Textspalten anzeigen und kann verwendet werden, wenn eine genaue Positionierung / Interpunktion wichtig ist. Während ein Bildschirmleser so konfiguriert werden kann, dass er Interpunktion abrüttelt, empfinden ihn viele Menschen als ablenkend, und in vielen Fällen ist es einfacher, sich darin zurechtzufinden. Jaws können so konfiguriert werden, dass sie das Display steuern, sodass Sie nicht mit Anwendungen für Barrierefreiheit jonglieren.

Außerdem haben viele legal blinde Benutzer noch ein gewisses Maß an Sicht. Die Verwendung von kontrastreichen Hintergründen und die Vergrößerungsfunktion können vielen dieser Benutzer helfen.

Wenn Sie ToggleKeys in Windows verwenden, hören Sie, wenn Sie versehentlich auf eine der modalen Tasten "Feststelltaste", "Num-Sperre", "Bildlaufsperre" usw. tippen.

Ich kenne mindestens einen Haskell-Programmierer, der einen Bildschirmleser verwendet und explizit programmiert, ohne die Layoutregeln von Haskell zu verwenden, und stattdessen die eher nicht idiomatischen, aber unterstützten {;}verwendet, weil es für ihn einfacher / weniger ablenkend ist, sie zu erhalten sein Bildschirmleser, um Interpunktion abzulesen, als um die genaue Einrückung herauszufinden, die den Layoutregeln von Haskell entspricht. In diesem Sinne habe ich von einigen blinden Programmierern gemurrt, wann sie Python schreiben müssen.

Letztendlich lernst du, mit deinen Stärken zu spielen.


23

Ich kann mich nicht an die Quelle erinnern, aber ich habe von einer Form der hörbaren Syntax "Färbung" gehört / gelesen - so dass anstelle einer Zeichenfolgenzuweisung als gelesen wird

foo entspricht quote Dies ist ein String-Zitat

Der Saitenteil wird mit einer anderen Tonhöhe oder Stimme gelesen, um die Trennung der Elemente klarer zu machen.


13
Emacspeak wird dies tun.
Edward KMETT

14

Ein Ausgangspunkt ist das Blinux-Projekt:

http://leb.net/blinux/

Dieses Projekt beschreibt, wie man Emacspeak (Editor mit Text-to-Speech) erhält und verfügt über viele andere Ressourcen.

Ich habe mit einer Person zusammengearbeitet, deren Sehvermögen sie jedoch daran gehindert hat, einen Monitor zu verwenden. Sie haben sich gut mit der Screenreader-Software geschlagen und viel Zeit mit textbasierten Anwendungen und der Shell verbracht.

Die Liste der Screenreader-Pakete von Wikipedia ist ein weiterer Ausgangspunkt: http://en.wikipedia.org/wiki/List_of_screen_readers


14

Ich bin ein Doktorand in Peking, China. Ich studiere Informatik und ein Großteil meiner Arbeit ist Programmieren. Ich bin mit Sehbehinderung geboren. Ich muss Vergrößerungswerkzeuge verwenden, um Schriftarten auf dem Bildschirm klar zu sehen. Ich verwende die mgnify-Tools von Microsoft unter Windows und verwende das Vergrößerungs-Plug-In von compiz unter Linux. Normalerweise habe ich das Werkzeug so eingestellt, dass es dreimal so groß ist wie die ursprüngliche Schriftgröße. Für mich ist das Maginifizieren von Werkzeugen in Ordnung. Das Hauptproblem ist die Geschwindigkeit. Ich muss die Maus bewegen, damit die Cursor dem Text folgen, den ich gerade betrachte. Die Vergrößerung von Microsoft bietet die Option "Automatisch den Textbearbeitungspunkten folgen", von der aus ich eingestellt bin Kontinuierliche Mausbewegung beim Bearbeiten oder Codieren. Dies funktioniert jedoch nicht immer, da die Bearbeitungssoftware oder die IDE dies möglicherweise nicht unterstützt. Vergrößerungswerkzeuge unter Linux sind schwer zu verwenden. Das mit KDE gelieferte KMag hat eine schreckliche Bildwiederholfrequenz, die meine Augen unangenehm macht. Die Vergrößerungsstopfen von compiz, die ich jetzt verwende, sind in Ordnung, haben jedoch keine Funktion des Autofokus (Fokus-Auto-Following). iOS bietet für mich eine perfekte Lösung mit Vollbildvergrößerung, insbesondere auf dem 9,7-Zoll-Bildschirm des iPad. Dort ist kein Autofokus erforderlich, da ich sie kaum zum Codieren oder für andere Bearbeitungsaufgaben verwende. Android bietet nur sehr wenige Eingabehilfen, nur Shake-Feedback, was für mich nutzlos ist. Es gibt keine guten Vergrößerungswerkzeuge unter Android, ganz zu schweigen von der erweiterten Funktion wie der Vollbildvergrößerung unter iOS. Ich habe Qt studiert und möchte ein nützliches Vergrößerungswerkzeug unter Linux erstellen, sogar unter Android. Aber kaum Fortschritte. hat aber keine Funktion des Autofokus (Fokus automatisch folgen). iOS bietet für mich eine perfekte Lösung mit Vollbildvergrößerung, insbesondere auf dem 9,7-Zoll-Bildschirm des iPad. Dort ist kein Autofokus erforderlich, da ich sie kaum zum Codieren oder für andere Bearbeitungsaufgaben verwende. Android bietet nur sehr wenige Eingabehilfen, nur Shake-Feedback, was für mich nutzlos ist. Es gibt keine guten Vergrößerungswerkzeuge unter Android, ganz zu schweigen von der erweiterten Funktion wie der Vollbildvergrößerung unter iOS. Ich habe Qt studiert und möchte ein nützliches Vergrößerungswerkzeug unter Linux erstellen, sogar unter Android. Aber kaum Fortschritte. hat aber keine Funktion des Autofokus (Fokus automatisch folgen). iOS bietet für mich eine perfekte Lösung mit Vollbildvergrößerung, insbesondere auf dem 9,7-Zoll-Bildschirm des iPad. Dort ist kein Autofokus erforderlich, da ich sie kaum zum Codieren oder für andere Bearbeitungsaufgaben verwende. Android bietet nur sehr wenige Eingabehilfen, nur Shake-Feedback, was für mich nutzlos ist. Es gibt keine guten Vergrößerungswerkzeuge unter Android, ganz zu schweigen von der erweiterten Funktion wie der Vollbildvergrößerung unter iOS. Ich habe Qt studiert und möchte ein nützliches Vergrößerungswerkzeug unter Linux erstellen, sogar unter Android. Aber kaum Fortschritte. Android bietet nur sehr wenige Eingabehilfen, nur Shake-Feedback, was für mich nutzlos ist. Es gibt keine guten Vergrößerungswerkzeuge unter Android, ganz zu schweigen von der erweiterten Funktion wie der Vollbildvergrößerung unter iOS. Ich habe Qt studiert und möchte ein nützliches Vergrößerungswerkzeug unter Linux erstellen, sogar unter Android. Aber kaum Fortschritte. Android bietet nur sehr wenige Eingabehilfen, nur Shake-Feedback, was für mich nutzlos ist. Es gibt keine guten Vergrößerungswerkzeuge unter Android, ganz zu schweigen von der erweiterten Funktion wie der Vollbildvergrößerung unter iOS. Ich habe Qt studiert und möchte ein nützliches Vergrößerungswerkzeug unter Linux erstellen, sogar unter Android. Aber kaum Fortschritte.


13

Als ich in der Graduiertenschule war, hatten wir ein Mitglied unseres Forschungsteams, das blind war. Er war etwas älter, vielleicht Mitte 40. Er erzählte uns, wie er seinen ersten Computer programmierte (lange bevor Text-to-Speech üblich war), um den Inhalt des Bildschirms in Morsecode auszugeben. Um das offensichtliche Henne-Ei-Problem zu lösen, musste er den Code jedes Mal von Grund auf neu schreiben, bis er gut genug funktionierte, damit er ihn ihm vorlesen konnte.

Jetzt verwendet er Text-to-Speech, obwohl er den Code sehr gründlich plant, bevor er ihn tatsächlich schreibt, um die Debug-Schleife zu minimieren.

Er war auch ziemlich gut darin, PowerPoint-Präsentationen zu halten, die trotz seiner Sehschwäche genauso gut formatiert waren wie die von sehenden Moderatoren.



8

Zurück in Neuseeland kannte ich jemanden, der eine Makuladegeneration hatte und daher sehbehindert war. Er ist ein sehr talentierter Programmierer und hat Delphi verwendet, weil er Wortformen erkennen konnte. Dies war mit einer Pascal-ähnlichen Syntax einfacher als mit einer C-ish-Klammer. Er hat eine Website, scheint aber die Makuladegeneration überhaupt nicht zu erwähnen, deshalb werde ich ihn nicht nennen.


8

Ich bin blind und verwende seit einigen Monaten VINUX (eine auf Ubuntu basierende Linux-Distribution) mit SODBEANS (eine Version von Netbeans mit einem Plug-In namens SAPPY, das eine TTS-Unterstützung hinzufügt). Diese Lösung funktioniert recht gut, aber manchmal bevorzuge ich Win XP und NVDA, um viele Seiten in FireFox zu starten, da Vinux nicht sehr gut funktioniert, wenn Sie versuchen, mehr als 3 Fenster von FireFox zu öffnen ...


6

Wie viele betont haben, war emacspeak für viele der älteren Hacker die dauerhafte plattformübergreifende Lösung. Da es Linux und Mac sofort unterstützt, ist es mein bevorzugtes Mittel zur Entwicklung von Windows-Egnostikprojekten.

In Bezug auf das Problem, die Syntax tatsächlich durch eine auditive im Gegensatz zu einer visuellen zu reduzieren, habe ich festgestellt, dass es eine Vielzahl von Techniken gibt, um eine nahe zu kommen, wenn nicht auf demselben Spielfeld.

Auditorische Symbole können beispielsweise für verbale Deskriptoren eingesetzt werden. Sie können Töne festlegen, wie weit eine Linie eingerückt ist. Je länger der Ton, desto weiter der Einzug. Da Töne parallel zu Text zu Sprache abgespielt werden können, werden die Informationen im selben Zeitrahmen übertragen und serialisieren nicht die Kommunikation von etwas so Grundlegendem.

Braille kann dem Benutzer schnell und präzise die genaue Syntax einer Zeile entschlüsseln. Dies ist nützlicher für Menschen, die im täglichen Leben Braille verwenden. Der größte Vorteil ist der zufällige Zugriff auf den Inhalt der Anzeige. Aktualisierbare Einheiten haben normalerweise Routerschlüssel über jeder Zeichenzelle, mit denen der Cursor auf diese Zelle gesetzt werden kann. Kein Fummeln mit den Pfeiltasten O (n) op vs O (1) Zugriff.

Die auditive Dimensionalität (Tonhöhe, Frequenz, Lautstärke, Beugung, Reichtum, Stress usw.) kann ein Konzept (Schlüsselwort, Klasse, Variable, Fehler usw.) vermitteln. Zum Beispiel können Kommentare in einer monotonen Beugung gelesen werden ... passend, wenn ich so sagen darf :).

Emacs und andere Editoren in geringerem Umfang (Visual Studio) ermöglichen es einem Codierer, ein Programm symantisch zu lesen (nächster Block, Block falten, defun runter, def def springen, den Analysebaum hochgehen usw.). Auf diese Weise erhalten Sie sehr schnell ein "Gesamtbild" der Struktur eines gesamten Projekts. Mit Erweiterungen wie Cedet können Sie die Vorteile von VS / Eclipse / etc plattformübergreifend und in einem Texteditor nutzen.

Könnte wahrscheinlich weiter und weiter gehen, aber das ist die Grundlage dafür, warum einige von uns da draußen in der Industrie, bei Adacdemia oder in unseren Kellern herumhacken :).



5

harald van Breederode ist ein bekannter niederländischer Oracle DBA-Experte, Trainer und Moderator, der blind ist. Sein Blog enthält einige nützliche Tipps für sehbehinderte Menschen.


2

Was in aller Welt wäre eine Braille-Tastatur überhaupt?

Es gibt solche Dinge wie Braille-Schreiber, aber Sie würden niemals einen als Eingabegerät für einen Computer verwenden.

Wenn Sie einfach über eine Tastatur mit den Braille-Symbolen sprechen, wäre dies auch eine sehr schlechte Idee. Sie müssen beim Tippen viel mehr Tasten erreichen, und es wäre immer noch langsamer.

Das Tippen mit der Berührung ist KEINE visuelle Fähigkeit, eine blinde Person kann es genauso gut wie eine sehende Person.


3
Eine Braille-Tastatur verfügt über sechs Tasten, die jeweils einen der sechs Punkte eines Braille-Zeichens darstellen. Die meisten Braille-Tastaturen verfügen außerdem über zusätzliche Tasten für Leerzeichen, Löschen, Vorwärts, Zurück usw. Viele Bilder von Braille-Tastaturen finden Sie in Google Bilder.
Barry Brown

Das ist die Steuerung eines Braille-Schriftstellers. Sie verwenden dies, um eine Braille-Ausgabe zu erzeugen. Sie würden ein solches Gerät niemals als Eingabegerät verwenden, da es VIEL langsamer ist als eine normale Tastatur.
Loren Pechtel

5
Es ist keine Braille-Tastatur erforderlich. Es gibt Braille-Schreiber, um Braille zu schreiben, nicht um zu drucken. Mein Vater war blind und konnte schneller tippen als die meisten sehenden Menschen. Braille Ausgabe Tastaturen vorhanden ist, wie es ist einfacher , als in manchen Situationen Sprachausgabe. In diesem Zusammenhang
fällt

Ich kannte einige blinde Benutzer in der späten BBS-Ära, die ein "Braille 'n Speak" verwendeten, das an ein Modem angeschlossen war, um Zugang zu Bulletin Boards zu erhalten, aber ich habe seit 1992 oder so keines mehr gesehen und keines davon Leute waren Entwickler. Touch-Typing ist wesentlich effektiver.
Edward KMETT

Warum gibt es überhaupt eine Braille-Tastatur? Ich kann tippen, ohne auf meine Tastatur zu schauen ... benutze einfach die Punkte auf (f), (j) und (5), um dir ein wenig zu helfen
ajax333221

2

Ich denke, dass dies bei extremer Programmierung mit dem Paarprogrammierungsprinzip gut funktionieren würde. Wenn Sie Software für Blinde entwickeln, die es besser machen kann als jemand, der buchstäblich mit den Geschäftsanforderungen in Kontakt steht, denke ich, dass sie überhaupt nicht weit hergeholt ist.

Was das Schreiben von Code angeht, denke ich, dass eine Person möglicherweise Probleme mit der Syntax hat, es sei denn, es gab irgendeine Art von Feedback. Audio-Feedback kann jedoch bis zu einem gewissen Punkt hilfreich sein.


6
Wenn Sie Webseiten schreiben, entwickeln Sie wahrscheinlich für Blinde!
Loofer

Ich habe (indirekt) mit einem blinden Programmierer bei meiner letzten Zusammenarbeit bei IBM Anfang der neunziger Jahre an ScreenReader / 2 (Erweiterung zur Unterstützung von Blinden bei der Verwendung von OS / 2) gearbeitet. Dies ist möglich und es ist keine Paarprogrammierung erforderlich.
M1EK

7
@ John Millikin: Während das markig und amüsant ist, sind Sie wahrscheinlich weit weniger mit der Interpretation der Eingabeaufforderungen ihrer Bildschirmlese-Software und dem, was eine intuitive, behindertengerechte Benutzeroberfläche ausmacht, als mit dem tatsächlichen blinden Benutzer vertraut. Ich versuche, einen blinden Benutzer in Benutzerakzeptanztests einzubeziehen, wenn ich Webdesign mache. Blinde Entwickler können jedoch weit mehr als nur UAT.
Edward KMETT

interessante Idee über akustisches Feedback. Vielleicht wäre ein System hilfreich, das über das Lesen der Wörter auf dem Bildschirm hinausgeht.
Seamus Connor

@ Edward: Der Wechsel von einem grafischen zu einem Audio-Interface ist eigentlich gar nicht so schwierig. Während (offensichtlich) eine vollständig blinde Person mehr Erfahrung im Umgang mit assistiver Technologie hat, können "normale" Menschen ziemlich gut abschneiden, indem sie einfach ihre Monitore ausschalten.
John Millikin


1

Was ist mit der Erfindung eines Geräts, das Sie an einen USB-Anschluss anschließen und das im Grunde genommen eine "Gummiplatte" ist, die sich selbst modifiziert, um den Code Ihres Codes anzuzeigen, sodass Blinde ihn lesen und stattdessen hören können?



1

Als ich Sam Hartman kennenlernte, ist er seit 2000 ein berühmter Debian-Entwickler und blind. In diesem Interview spricht er über die Barrierefreiheit für einen Linux-Benutzer. Er benutzt Debian und Gnome-Orca als Bildschirmleser, es funktioniert mit Gnome und "spricht relativ gut Iceweasel / Firefox und Libreoffice".

Speziell über das Programmieren sagt er:

Während [gnome-orca] gnome-terminal spricht, ist es nicht gut genug, Terminal-Programme zu sprechen, damit ich es gerne benutze. Also starte ich Emacs mit dem Emacspeak-Paket. Darin starte ich den Emacs-Terminalemulator und darin neige ich dazu, Screen auszuführen. Für zusätzlichen Spaß führe ich häufig zusätzliche Instanzen von Emacs in den inneren Bildschirmen aus.


1
Pff, klingt kompliziert und faszinierend zugleich. Menschen sind sehr erfinderisch bei der Überwindung von Schwächen ihrer Computersoftware. :-)
Willem Meints
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.