Grid-Coding:一种面向盲人和低视力程序员的易访问、高效且结构化的编程范式

最佳论文
视觉障碍者技术(屏幕阅读器、触觉图形、盲文)运动障碍辅助输入技术通用设计与包容性设计编程教育与计算思维软件工程师与开发者辅助技术专家HCI 研究员

文献标题

Grid-Coding: An Accessible, Efficient, and Structured Coding Paradigm for Blind and Low-Vision Programmers

文献信息

  • 主题领域: 可访问性技术、非视觉编程、辅助技术
  • 关键词: 可访问性, 屏幕阅读器, 编程语言, 非视觉编程, Python, 代码编辑, 网格编程, 盲视障开发者, 结构化编程

研究背景与问题

  • 问题或挑战:

    • 大多数编程环境和集成开发环境 (IDE) 依赖于视觉提示(如语法高亮、括号匹配等),这些对于盲人和低视力(BLV)程序员而言并无意义。
    • 屏幕阅读器进行代码阅读时仅能逐行、逐字符朗读,而无法传递代码的语义层次或视觉结构。
    • BLV 程序员在导航代码和编辑代码时可能面临多种困难,例如代码层次理解、上下文缺失以及容易引入语法错误。
  • 重要性:

    • 编程对于盲视障开发者而言非常困难,尤其涉及层次复杂、缩进敏感的编程语言,例如 Python。
    • 解决代码导航和编辑的可访问性问题能显著提高 BLV 程序员的效率和生产力,并且对他们进入技术领域具有重要意义。
  • 研究动机与相关工作:

    • 现有研究主要集中在代码导航和调试上,但未充分探讨代码编辑的挑战。
    • 辅助技术(如屏幕阅读器)虽然弥补了视觉障碍,但在代码结构理解和编辑方面仍存在不足。
    • 基于表格的数据表示已被证实对盲视障用户有帮助,研究希望借此开发一种新的编程范式。

解决方案

  • 提出的解决方案:

    • 网格编程 (Grid-Coding) 是一种基于二维网格结构的新型编程范式,用于解决 BLV 程序员在代码阅读、导航、编辑中的挑战。
    • 在网格中,每一行代表代码中的一行,每一列代表缩进层级。语法元素如缩进、语句块等通过单元格语义意义明确地表示。
  • 创新点:

    • 将源代码从文本形式转换为二维网格结构,消除传统文本编辑器中导航层次的复杂性。
    • 提供非视觉语义提示,例如通过“within if” 标记语义性缩进。
    • 强调代码编辑的安全性:默认情况下所有网格单元均为只读,只有符合缩进规则的单元可编辑,以避免引入语法错误。
  • 实施步骤与关键技术:

    • 网格编辑器(Grid Editor)实现了网格编程范式,采用网页应用形式用于 Python 编程。
    • 开发一个动态的 AST 表 (Abstract Syntax Table, ASTab),同时支持现有编程语言的 AST 转化,从而实现语言通用性。
    • 提供指针式导航(上下左右箭头键),执行快捷方式,以及语音提示信息。
    • 使用持续交互反馈机制,例如错误提示音、边界警示音等。
    • 与屏幕阅读器协调工作,增强代码阅读与编辑的语义信息。

研究成果

  • 具体成果:

    • Grid Editor 作为网格编程的实现原型,支持 BLV 程序员以更高效、更安全的方式读写代码。
    • 在用户研究中,相较常见文本编辑器,Grid Editor显著提升了 BLV 程序员进行代码导航、语法错误检测与修复、代码上下文理解的速度和准确性。
  • 与现有解决方案相比的优势:

    • 提供结构化的代码表示和语义清晰的导航,减少 BLV 程序员短时记忆的负担。
    • 防止常见错误,例如不正确的缩进或语法错误的代码块。
    • 支持通过快捷键和自定义语音提示更精确地定位代码位置。
  • 实验或评估结果:

    • 实验参与者包括 12 名 BLV 程序员,其完成代码阅读、错误修复、编程任务的时间显著减少。
    • 使用 Grid Editor 的代码理解准确率达 100%,并减少缩进和非缩进错误。
    • 在主观评分中,参与者认为 Grid Editor 在代码结构理解、错误修复和写代码时表现优于传统文本编辑器。
  • 局限性与未来方向:

    • 当前实现仅支持 Python 编程,需扩展支持其他语言。
    • 实验中未包含语义错误(如类型不匹配),在非语法错误处理方面的性能尚未评估。
    • 对低视力程序员和其他辅助技术(如屏幕放大器)的支持需进一步探索。
    • 计划将 Grid Editor 与更广泛的 IDE 集成,例如 Jupyter Notebook,以支持机器学习模块开发。

通过上述成果,该研究为解决盲视障程序员编程中的技术障碍提供了重要参考,有效强化了辅助技术领域的工具应用和设计理论。

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/papers/uist/85008/2022

广告推荐

学习 AI 编程到 CodeNow

open_in_new打开DOI链接
DOI: https://doi.org/10.1145/3526113.3545620
一眼看懂

论文快照

fact_check
dataset
来源
UIST
calendar_month
年份
2022
emoji_events
奖项
最佳论文
group
作者
3 位作者
sell
研究子方向
视觉障碍者技术(屏幕阅读器、触觉图形、盲文)、运动障碍辅助输入技术、通用设计与包容性设计、编程教育与计算思维
work
职业/产业
软件工程师与开发者、辅助技术专家、HCI 研究员
article
内容状态
已索引正文
hub
相关论文
3 篇相关论文