视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。
如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?
(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)
视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。
如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?
(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)
当前回答
Hanselman最近与一位盲人开发人员进行了一次非常有趣的播客。
其他回答
盲文键盘到底是什么?
有像盲文书写器这样的东西,但你永远不会用它作为计算机的输入设备。
如果你只是在谈论一个带有盲文符号的键盘,这也是一个非常糟糕的主意。当你打字的时候,你会有更多的键要触到,而且它仍然会变慢。
触摸打字不是一种视觉技能,盲人也能做到和正常人一样好。
我是个盲人,已经在Windows、Mac、Linux和DOS上编程了大约13年,使用的语言包括C/ c++、Python、Java、c#和各种较小的语言。虽然最初的问题是关于配置环境的,但我认为最好的回答是看看盲人如何使用计算机。
有些人使用谈话环境,比如在其他答案中提到的拉曼和Emacspeak环境。到目前为止,更常见的解决方案是有一个屏幕阅读器,它在后台监控操作系统活动,并通过合成语音或物理盲文显示(通常一次显示20到80个字符)提醒用户。这意味着盲人可以使用任何可访问的应用程序。
因此,我个人现在使用Visual Studio 2008,并且运行它时只做了很少的修改。我关闭了某些功能,比如在打字时显示错误,因为我觉得这会让人分心。在加入微软之前,我所有的开发都是在一个标准的文本编辑器(如记事本)中完成的,所以同样没有定制。
可以配置屏幕阅读器来宣布缩进。我个人不使用这个,因为Visual Studio会处理这个问题,而c#使用大括号。但这在Python这样的语言中是非常重要的,因为这里有空格。最后,Emacspeak使用不同的声音/音调来表示语法的不同部分(关键字、注释、标识符等)。
我不记得来源,但我听说过/读过一种可听语法“着色”的形式-这样,而不是字符串赋值被读为
Foo = quote这是一个字符串引号
字符串部分将用不同的音高或声音来读,以使元素的分离更清晰。
这篇博文有一些关于Visual Studio团队如何使他们的产品易于访问的信息:
Visual Studio核心团队的无障碍实验室参观活动
许多程序员使用Emacspeak:
Emacspeak—完整的音频桌面
有一次我遇到了Sam Hartman,他是一个著名的Debian开发人员,从2000年开始,他是盲人。在这次采访中,他谈到了Linux用户的可访问性。他使用Debian和Gnome -orca作为屏幕阅读器,它与Gnome一起工作,并且“在Iceweasel/Firefox和Libreoffice方面做得相对不错”。
在谈到编程时,他说:
虽然[地精-虎鲸]会说地精终端,但它真的不够好 说终端程序,我很舒服地使用它。所以,我跑了 Emacspeak包。在其中,我运行Emacs 在终端模拟器中,我倾向于运行Screen。为了增加 有趣的是,我经常在内部运行额外的Emacs实例 屏幕。