a tall building lit up at night

微软亚洲研究院

Vibe Coding能否赋予屏幕阅读器开发者“编程超能力”?

已发布

编者按:生成式人工智能的持续发展正在改变人与数字系统交互、执行任务及协同工作的模式。在众多领域中,软件开发无疑是变革最为显著的一个。AI 编程工具大大提升了编码效率,尤其对依赖屏幕阅读器的视力受损开发者而言,新兴的“Vibe Coding(氛围编程)”模式更是带来了前所未有的可能。

然而,屏幕阅读器用户如何与 AI 编程工具协作?这些工具又将如何赋能他们?他们在使用 AI 编程工具时是否会遇到新的挑战?带着这些疑问,微软亚洲研究院的研究员们基于 GitHub Copilot,研究了屏幕阅读器用户在实际编程场景中与 AI 编程工具的互动,剖析了这些工具对其工作流程的影响,并探讨了面临的各类挑战,相应提出了切实可行的设计优化建议。


根据 Stack Overflow 2022 年的调研数据显示,在全球的程序员群体中,约1.7%的人存在视力受损问题,他们依赖屏幕阅读器进行编程。但屏幕阅读器用户使用开发工具时,在导航、理解、编辑、调试和略读代码等方面都面临着重重挑战。

屏幕阅读器用户以4倍速度审查代码

人工智能技术的飞速发展,为这一群体带来了新的可能。全新的 “Vibe Coding(氛围编程)”交互范式,让开发者能够通过自然语言表达编码意图,由人工智能协助完成需求分析和代码实现。像 GitHub Copilot 这样的 AI 编程助手,正在逐步打破传统编程的限制,实现更加智能、高效的编程方式。

为了深入了解屏幕阅读器用户在使用 AI 编程工具时的真实体验,微软亚洲研究院的研究员们基于 Visual Studio Code(VS Code)中的 GitHub Copilot,开展了一项关于屏幕阅读器用户与 AI 编程工具交互行为的研究。结果表明,AI 编程助手不仅提升了屏幕阅读器用户的编程能力,还在 UI 开发等领域弥合了无障碍开发中的体验差距。

屏幕阅读器用户对GitHub Copilot的真实使用体验:

““过去我只能做后端开发,视觉障碍让我难以处理 UI 任务。现在,我将用户反馈转化为提示语让 GitHub Copilot 修改,随后要求它检查生成的代码,并发送界面截图进行复核,我也能亲自复查代码。这极大地简化了我的工作流程。”

——开发者1(全盲)

“无障碍体验不仅在于添加标签或快捷键。更多类型的提示,如音效确实能帮助我更好地理解变更。若混杂过多文字提示,反而可能干扰我对代码的理解。”

——开发者2(全盲)

“我喜欢先在 Ask 模式下讨论计划或寻求解释,再让 GitHub Copilot 处理我的文件。”

——开发者3(低视力)

“我直接用自然语言让 GitHub Copilot 撤销操作,结果成功了。”

——开发者4(全盲)

“有了 GitHub Copilot 这样的代码助手,编程入门变得轻松许多。日常生活中,我们总有各种需求,而更便捷的编程能力能帮助我们更好地满足个性化定制的需求。”

——开发者5(全盲)

人工智能带来的全新交互模式与使用流程,不仅拓展了人机协作的潜力,同时也为提升无障碍体验指明了优化方向。基于这些洞察,研究员们提出了一系列优化人工智能辅助编程的建议,为构建更加包容、高效的人机交互与协作模式提供了有价值的实践参考。

三阶段实验揭示屏幕阅读器用户与AI协作的真实图景

GitHub Copilot 是一款 AI 编程助手,它严格遵循万维网联盟(W3C)提供的无障碍规范,为屏幕阅读器用户提供了诸多便利:

  • 以音效替代视觉提示:在 VS Code 中,代码的增、删、改操作分别配有不同的音效,屏幕阅读器用户可以通过声音感知代码的动态变化,弥补了视觉高亮信息的缺失。
  • 辅助视图实现文本平铺:通过将所有界面元素以纯文本形式展开(类似记事本视图),屏幕阅读器用户可以从上至下逐行阅读,提高信息获取的效率。
  • 多模态能力扩展应用场景:GitHub Copilot 支持上传图像等文件,可将网页截图、硬件引脚图等视觉信息转化为文字解读,实现更智能、更灵活的编程。
text
图1:GitHub Copilot 功能示意图。核心功能包括代码补全、内联聊天和专用聊天面板。聊天面板包含三种不同模式:Ask 模式、Edit 模式、Agent 模式。

为全面了解用户体验,研究员们招募了16名不同性别、不同资历及不同视力受损程度的开发人员,进行了为期两周的三阶段研究。

第一阶段为期两小时,研究员们为参与者提供 GitHub Copilot 入门培训,并引导其完成一个预定义的编程任务,从中观察用户在真实场景下遇到的问题。第二阶段,参与者在两周的日常编程工作中使用 GitHub Copilot,并通过日记模板记录使用体验,包括积极反馈与负面问题。第三阶段,通过半结构化访谈,收集参与者的长期使用反馈,全面了解 GitHub Copilot 在实际工作中的表现及用户真实感受。

实际使用 GitHub Copilot 的界面录屏

“通过实际场景中的使用,参与者一致认为,AI 编程工具提高了效率、增强了编程技能,并降低了学习新技术的门槛,使编程过程更轻松。更重要的是,这类工具能够借助大模型的多模态能力,协助开发人员进行视觉元素相关的处理和确认,拓展了他们的能力边界。”微软亚洲研究院(上海)项目经理邱可昕表示。

从“能用”到“好用”:AI编程工具的无障碍设计,潜力无限

AI 编程工具在无障碍设计方面已取得显著进展,为屏幕阅读器用户带来了重要价值。基于此次研究,研究员们系统梳理了当前工具的四个关键维度(AI 交互、审查生成的响应、多视图间切换,以及系统状态和下一步操作),发现了八类可优化的机会点,并针对性地提出了优化建议,持续推动无障碍体验的全面提升。

AI交互体验

1、统一快捷键与反馈增强屏幕阅读器用户常遇到快捷键冲突(如上下箭头误触)、会话状态反馈缺失(如难以查询上下文配置)等问题。部分用户需要通过剪贴板编辑复杂指令来规避快捷键干扰。

设计统一且可预测的快捷键体系,减少界面不必要的导航;提供及时、无障碍的会话设置,确保视觉元素能以其他方式被感知。

2、提示与模型选择引导AI 编程助手给出的提示过于简洁,甚至有时会做出错误的假设,迫使用户不断提供更详细的描述和反复修改,增加了提示构思和优化的时间成本。这种现象源于用户对编程助手能力边界的不明确——无法判断适配任务的模型类型,也难以预测模型的出错场景。

随着用户对编程助手能力熟悉度的提升,工具应主动提供交互支持。例如,检测到提示含糊或存在歧义时,主动引导用户补充信息;为用户提供清晰的模型选择指引,或根据提示自动推荐适配模型,促进人机协同进化与流畅沟通。

审查生成的响应

3、增强响应审查的可感知性对于视力正常的开发者来说,在编辑器中直接审查代码是最直观的方式,人工智能生成代码中的注释也能帮助他们快速理解逻辑,减少视图切换。然而,对于屏幕阅读器用户而言,尽管编程助手提供了声音提示功能,但这些音效有时不够清晰或容易混淆,有时还会干扰用户判断。此外,当新增、删除和未修改的代码混杂在一起时,用户很难准确跟踪每一处变更,也无法了解当前代码块的数量、位置及状态。

通过声音提示或文本提示支持更改跟踪,提供简洁的文本描述作为可选功能,帮助用户理解更改;将相关信息分组以减少导航流程和认知负担。

4、结构化消息导航消息列表的结构化格式让用户能够清晰地管理用户消息和助手响应,但其导航仍然存在问题。例如,导航到消息列表中的块时,信息是线性的,难以理解;助手响应时间过长,用箭头键浏览不方便;输入框难以退出等。此外用户指出,在使用 Agent 模式进行多轮自动迭代时,所有结果和更改均呈现在单个响应块中,结构不佳且难以定位信息。

以结构化、可导航的方式呈现消息,例如对相关消息进行分组、添加标题或目录,帮助用户快速定位相关内容。减少模型幻觉,并提供更多参考信息,帮助用户验证信息可信度,增加用户对编程助手建议的信任感。

5、优化无障碍视图:GitHub Copilot 的无障碍视图是在单个纯文本窗口中呈现信息,允许用户仅使用基本箭头键来导航浏览所有细节。但这种便利伴随着表达性上的简化,例如以难以解读的方式呈现表格等格式化信息,而且信息完整性也不足,有时显示的信息少于消息列表。

简洁即美。元素较少的用户界面通常更易于屏幕阅读器用户操作,使其能够访问更多信息,但简化设计需以不损失信息完整性为前提。

6灵活自动播放GitHub Copilot 的另一项无障碍功能是支持生成响应后自动播放,通过自动朗读帮助屏幕阅读器用户理解内容,减少了额外的操作。然而,一些用户反馈说,自动播放的长段落会打断他们的思考节奏,而且一口气听完一大段文字并不容易理解,最后还是得再逐行慢慢听,才能真正消化信息。

将自动播放设为可选功能,允许用户根据个人偏好选择适合的交互方式。

多视图切换

7、信息整合与焦点管理在编辑器、聊天面板、终端等视图切换时,用户常因焦点丢失,导致操作失误。切换视图后需花费额外时间理解助手反馈,尤其在 Agent 模式下,需同时关注代码修改、终端输出和消息列表解释。此外,验证结果时需要在多个视图之间频繁切换,增加了用户的操作负担。

将关键信息与操作整合到单个面板,提升任务处理效率;引入自我验证机制并提供可靠反馈,减少用户手动交叉检查的需求。

系统状态和下一步操作

8、清晰系统状态提示向代码助手提交请求后,用户需等待响应生成,及时的状态通知对用户理解当前系统状态、缓解不确定性至关重要。但在 Agent 模式下,状态种类多且通知不清晰,导致屏幕阅读器用户无法明确下一步操作。用户希望这个过程更透明,以提前判断助手的操作是否符合预期。

提供清晰的状态通知,让用户能够明确区分 AI 执行操作和需要用户干预的操作;增加“请勿打扰”模式,仅在需要用户输入时发送通知,减少不必要的干扰。

研究中发现的这些问题表明,当前的 AI 编程工具在无障碍设计方面拥有巨大的提升空间和发展潜力。对于屏幕阅读器用户而言,工具的易用性不仅取决于功能是否齐全,更在于交互逻辑是否清晰、信息呈现是否合理、系统反馈是否及时等多个维度。

“AI 编程工具正在不断扩展功能,但对于屏幕阅读器用户而言,‘功能更多’并不意味着‘使用更好’。复杂的界面、繁复的操作步骤或不可预测的反馈,反而降低了信息获取效率。”微软亚洲研究院研究工程师陈楠指出,“他们真正需要的是在‘更少’的操作中获得‘更多’的功能价值。这种‘多’与‘少’之间的平衡,正是我们未来在无障碍设计中必须面对的重要命题。”

AI个性化或将赋予屏幕阅读器用户“编程超能力”

从被动“适应工具”到主动“定制需求”,个性化交互已成为提升无障碍编程体验的关键突破口。而不同屏幕阅读器用户对工具的功能设计和信息呈现方式有着截然不同的偏好:一部分用户倾向于极简的文本形式,以便快速获取关键信息;另一部分用户则需要丰富、详细的信息,更好地理解代码逻辑与结构。

人工智能技术的持续进步,正在为屏幕阅读器用户在编程领域的体验拓展更多可能。“借助大模型的学习与适配能力,AI 编程工具可以根据每位用户的自身特点和使用习惯,提供量身定制的交互体验,真正成为开发者的‘专属助理’。”邱可昕表示。

在此项研究中,研究员们还进一步提出了针对无障碍编程体验的具体优化建议。技术层面,无障碍设计应该更前移(Shift Left),从开发源头就被纳入设计流程,而不是作为产品完成后的“补丁”。开发者需要在产品设计初期就考虑屏幕阅读器用户的使用场景,让无障碍能力贯穿产品的每一个环节,打造更加流畅、高效、包容的开发环境。

从人文视角出发,应强化配套支持。包括推出专为屏幕阅读器用户设计的学习材料,突破传统“视觉优先”的技术文档形式,降低学习成本,提升学习效率,让更多人能够无障碍地掌握和运用 AI 编程工具,从而真正参与到技术的变革过程中。

相关链接:

Screen Reader Users in the Vibe Coding Era: Adaptation, Empowerment, and New Accessibility Landscape

https://arxiv.org/abs/2506.13270 (opens in new tab)

继续阅读

查看所有博客文章