视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。
如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?
(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)
视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。
如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?
(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)
当前回答
请记住,“失明”是一系列的情况——有一些人在法律上是盲人,他们可以阅读一个非常大的显示器或在放大设备的帮助下,还有一些人根本没有视力。我记得大学时的一个同学有一种可以放大书本的特殊设备,还有一种可以放大屏幕一部分的特殊软件。她正在努力完成大学学业,因为她的视力越来越差,几乎要完全消失了。
编程也有一系列的需求——有些人擅长写出大量的代码,有些人更擅长看大局和架构。我可以想象,考虑到屏幕界面所施加的难度,失明可能会增强你获得大局的能力……
其他回答
我在大底特律盲人协会工作了三年,经营一个专为盲人访问而设计的BBS,并与许多盲人用户合作,以更好地满足他们的需求,并与新盲人用户合作,让他们适应当时可用的硬件和软件产品。如果不出意外的话,我至少学会了阅读盲文,以避免自己陷入同样的境地!
大多数盲人电脑用户和程序员使用某种屏幕阅读器。《大白鲨》尤其受欢迎。幸运的是,目前大多数主要应用程序都提供了某种形式的残疾人访问。你可能需要稍微调整你的环境来减少杂音,例如考虑在Visual Studio中禁用智能感知。
盲文显示器不太常见,而且相对昂贵得多,可以显示40或80列文本,并且可以在精确定位/标点符号很重要的情况下使用。虽然屏幕阅读器可以配置成快速读出标点符号,但很多人觉得这会分散注意力,而且在很多情况下,你更容易自己摸索。Jaws可以配置为驱动显示,因此您不必同时处理辅助应用程序。
此外,许多合法失明的用户仍有一定程度的视力。使用高对比度背景和放大功能可以帮助这些用户。
在Windows中使用ToggleKeys会让你听到当你不小心点击一个模式“caps lock”,“num lock”,“scroll lock”等键。
I know at least one Haskell programmer who uses a screen reader and who explicitly programs without using Haskell's layout rules, and instead opts to use the rather non-idiomatic, but supported {;}'s instead, because it is easier/less distracting for him to get his screen reader to read off punctuation than for him to figure out exact indentation that complies with Haskell's layout rules. On that same note, I've heard some grumbling from a couple of blind programmers about when they have to write Python.
最终,你学会了发挥自己的优势。
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/ 网页中有一个翻译工具。对不起,我没有翻译。
请记住,“失明”是一系列的情况——有一些人在法律上是盲人,他们可以阅读一个非常大的显示器或在放大设备的帮助下,还有一些人根本没有视力。我记得大学时的一个同学有一种可以放大书本的特殊设备,还有一种可以放大屏幕一部分的特殊软件。她正在努力完成大学学业,因为她的视力越来越差,几乎要完全消失了。
编程也有一系列的需求——有些人擅长写出大量的代码,有些人更擅长看大局和架构。我可以想象,考虑到屏幕界面所施加的难度,失明可能会增强你获得大局的能力……
Hanselman最近与一位盲人开发人员进行了一次非常有趣的播客。
一个开始的地方是linux项目:
http://leb.net/blinux/
该项目描述了如何获得Emacspeak(文本到语音的编辑器),并提供了许多其他资源。
我曾经和一个人一起工作,他的视力几乎阻止了他们使用显示器——他们用屏幕阅读器软件做得很好,花了很多时间使用基于文本的应用程序和shell。
维基百科的屏幕阅读器包列表是另一个开始的地方:http://en.wikipedia.org/wiki/List_of_screen_readers