据宾夕法尼亚州立大学的研究人员称,一种新工具可以帮助盲人和低视力计算机程序员更容易和更高效地阅读、导航和编辑代码。
该工具称为网格编辑器,是对程序员在更新软件特性和功能时用来添加代码行的传统代码编辑器的修改。之前的工作重点是让盲人和弱视用户更容易访问编码过程的不同部分,例如阅读或导航代码。GridEditor是第一个强调代码编辑的软件——这是对软件进行持续更新的重要一步,在该软件中,程序员编辑和更新以前由其他程序员编写的现有代码。
“编程的主要部分之一是阅读他人的代码以了解当前实现的内容,”宾夕法尼亚州立大学信息科学与技术学院(IST)博士生、该团队的第一作者MdEhtesham-Ul-Haque说。纸。“然后你必须编写自己的代码,新代码,以在软件中构建新功能。没有现有的编辑器支持盲人或低视力程序员这种类型的结构化编辑。”
现有的代码编辑器使用视觉提示,例如突出显示的关键字和缩进的行,使有视力的程序员能够在大量代码中直观地导航。虽然盲人和视力低下的程序员可以使用屏幕阅读器等自适应工具来对代码进行听觉导航,但这些工具并不是为导航冗长的代码库而构建的。屏幕阅读器有时可能会错过单个字符或代码片段,从而增加了程序员花费的时间和出错的可能性。
“盲人和视力低下的程序员很难跟上视力正常的程序员,”信息科学与技术助理教授、该项目的首席研究员赛义德·比拉(SyedBillah)说。“只有不到1%的盲人用户或学生学习编程,因为他们必须攀登这种不合理的负担。我们开发了GridEditor来帮助盲人和低视力学生克服这些挑战。”
网格编辑器界面类似于电子表格,合并行和列以在二维空间内本地化一段代码。盲人或视力低下的程序员可以从现有代码库中提取代码行并将其导入网格编辑器,然后使用该工具的结构和声音提示更轻松地浏览大量代码行。在网格编辑器中,网格中的行数等于正在更新的代码中的行数,并且网格中的列数与代码中的层数对齐,帮助用户轻松创建思维导图和使用结合声音提示的键盘快捷键和箭头在网格内导航。
根据Billah的说法,这对于盲人和弱视用户在导航空白空间或理解特殊符号(例如缩进或括号)时特别有用,这些符号在代码中具有意义,并在传统代码编辑器中充当有视力的程序员的视觉标记.当与GridEditor一起使用时,屏幕阅读器会以声音提示单元格为空白,向盲人或视力低下的程序员表明存在缩进,并帮助他们感知光标在代码中的位置。
网格编辑器还使用其他有声提示来引导用户,例如宣布光标当前位于哪个单元格,说明用户到达网格边界时是否或嗡嗡声。此外,网格编辑器将色彩鲜艳的高光应用于某些单元格,模仿传统代码编辑器中使用的颜色,以进一步指导低视力用户。
在构建了他们的初始原型后,研究人员在两个月的时间里从盲人或低视力程序员的在线社区征求反馈。然后,为了测试他们最终原型的功能,他们招募了12名盲人或低视力程序员进行受控实验室研究。参与者同时使用纯文本编辑器和网格编辑器来完成各种编码任务。研究人员观察了程序员的活动并测量了准确性和效率。与传统的代码编辑器相比,使用网格编辑器时,参与者的平均速度更快、导航更准确、错误更少。
一位研究参与者说:“将编码想象成在路上行走;对于有视力的人来说,他可以看到道路,但对于盲人来说,道路是黑暗的,因此他可能会摔倒。”“但是,如果我在走路时有一些东西可以抓住,它将帮助我更轻松地走在路上。在我看来,网格编辑器为我提供了我可以在[编码时]坚持的结构,因为我一直知道哪个我所在的线路和水平。”
Billah的专长在于可访问计算,他希望像GridEditor这样的工具将有助于鼓励更多盲人和低视力人士探索计算机编程这一高薪领域作为职业选择。
“盲人已经处于经济劣势,他们中的许多人在音乐和音频转录行业谋求职业,”比拉说。“然而,计算机编程对他们来说可能是一个有益的职业选择,因为编程是一种基于文本的活动,适合他们的辅助技术,如屏幕阅读器或可刷新的盲文显示器。因此,如果他们有足够的资源和工具来学习计算机编程他们可以轻松快速地为自己过上更好的生活。”
Billah和Ehtesham-Ul-Haque与孟加拉国工程技术大学的SyedMostofaMonsur合作完成了这项工作,该工作于本周在ACM用户界面软件和技术(UIST)研讨会上进行了介绍,该研讨会是人类创新的首要场所-计算机接口。该论文获得了该会议的2022年最佳论文奖。
GridEditor可以免费使用,并且可以在线公开获得。它最适合带有NVDA屏幕阅读器的Chrome浏览器。它目前支持Python编程语言,但对其他语言的支持正在进行中。