视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。

如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?

(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)


当前回答

I am a blind developer and I work under Windows, GNU Linux and MacOS X. Each of platform has different workflows for blind users. This depends on the screen reader that the blind developer uses. Development tools are not completely accessible for blind developers. I can type code and use compiling functions in all IDEs but there are many problems if I have to design an interface using designing tools as Interface Builder, XGlade or other. When I was developing with Borland Delphi I could add a control, a Button for example, and I could modify each visual attribute of the control using object inspector window. Many IDEs use object inspector windows to modify visual and non visual attributes but the problem for a blind developer is add new controls because the method to add a new control consists of dragging and dropping a control from the palette to the canvas. Visual studio 200x uses alternative methods to do this but the interface of the IDE changes in each new version and this is a big problem because screen readers for Windows need special support, using scripts, to identify each area of some non standar applications. A blind developer can use Visual studio 2008 with his screen reader but when a new version of this IDE appears he has to wait for a new version of scripts for this version of the IDE. Xcode with Interface builder has no alternative for dragging and dropping tasks yet. I asked it to Apple many times but they are working in other things. I published 3 apps in the App store (Accessible minesweeper, accessible fruitmachine and Programar a ciegas RSS) and I had to design all the interface by code. It's a hard work but I can manage all features of each control. Eclipse has an accessible code editor but other development tools as debug console,plugins for designing or documentation area present problems for assistive tools for blind users.

对于盲目的开发人员来说,文档也是一个问题。许多示例和演示使用图像来显示解释(在图片中设置环境设置)

我认为问题不在于盲目。问题是,公司和开发团队认为可访问性会影响最终的软件,但它不会影响开发软件。他们认为盲人用户可以成为客户,但盲人用户不能成为开发伙伴。

盲人协会要求产品和服务的可访问性,但他们忘记了盲人开发者。盲人可以当律师、记者、教师,但盲人开发者即使对盲人来说也是一个奇怪的概念。很多时候我感到孤独,因为我的一些盲人朋友不能理解我的工作。

你可以在这篇西班牙文的文章中阅读我对这个问题的看法,在我的博客http://www.programaraciegas.net/2010/11/05/la-accesibilidad-en-crisis-para-los-desarrolladores-ciegos/ 网页中有一个翻译工具。对不起,我没有翻译。

其他回答

这篇博文有一些关于Visual Studio团队如何使他们的产品易于访问的信息:

Visual Studio核心团队的无障碍实验室参观活动

许多程序员使用Emacspeak:

Emacspeak—完整的音频桌面

在新西兰的时候,我认识一个患有黄斑变性的人,所以是部分视力。他是一个非常有才华的程序员,他最终使用了Delphi,因为他可以通过识别单词形状来工作。使用类似pascal的语法比使用类似c的弯弯曲曲的括号更容易做到。他有个网站,但好像根本没提到黄斑变性,所以我就不点名了。

NVDA是一个很好的开源屏幕阅读器。

一个开始的地方是linux项目:

http://leb.net/blinux/

该项目描述了如何获得Emacspeak(文本到语音的编辑器),并提供了许多其他资源。

我曾经和一个人一起工作,他的视力几乎阻止了他们使用显示器——他们用屏幕阅读器软件做得很好,花了很多时间使用基于文本的应用程序和shell。

维基百科的屏幕阅读器包列表是另一个开始的地方:http://en.wikipedia.org/wiki/List_of_screen_readers

我是盲人,几个月来我一直在使用VINUX(一个基于Ubuntu的linux发行版)和SODBEANS(一个netbeans版本,带有一个名为SAPPY的插件,添加了TTS支持)。 这个解决方案工作得很好,但有时我更喜欢启动Win XP和NVDA来启动FireFox上的许多页面,因为当你试图打开超过3个FireFox窗口时,Vinux工作得不太好……