Table of Contents
Fetching ...

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

Nan Chen, Luna K. Qiu, Arran Zeyu Wang, Zilong Wang, Yuqing Yang

TL;DR

The paper addresses how screen reader programmers interact with advanced AI code assistants in the vibe-coding era, using a two-week longitudinal study of 16 blind or low-vision participants with GitHub Copilot in VS Code. It documents empowerment in coding efficiency and accessibility gains alongside persistent challenges in communicating with AI, reviewing outputs, managing multiple views, and maintaining situational awareness, as well as learning barriers. The authors propose design principles and concrete recommendations to foster accessible, transparent, and controllable human-AI collaboration for screen reader users. The work contributes a rich, longitudinal view of onboarding and adoption in a real-world setting, with implications for inclusive design of agentic AI coding tools and future research on accessible vibecoding practices.

Abstract

Generative AI agents are reshaping human-computer interaction, shifting users from direct task execution to supervising machine-driven actions, especially the rise of "vibe coding" in programming. Yet little is known about how screen reader programmers interact with AI code assistants in practice. We conducted a longitudinal study with 16 blind and low-vision programmers. Participants completed a GitHub Copilot tutorial, engaged with a programming task, and provided initial feedback. After two weeks of AI-assisted programming, follow-ups examined how their practices and perceptions evolved. Our findings show that code assistants enhanced programming efficiency and bridged accessibility gaps. However, participants struggled to convey intent, interpret AI outputs, and manage multiple views while maintaining situational awareness. They showed diverse preferences for accessibility features, expressed a need to balance automation with control, and encountered barriers when learning to use these tools. Furthermore, we propose design principles and recommendations for more accessible and inclusive human-AI collaborations.

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

TL;DR

The paper addresses how screen reader programmers interact with advanced AI code assistants in the vibe-coding era, using a two-week longitudinal study of 16 blind or low-vision participants with GitHub Copilot in VS Code. It documents empowerment in coding efficiency and accessibility gains alongside persistent challenges in communicating with AI, reviewing outputs, managing multiple views, and maintaining situational awareness, as well as learning barriers. The authors propose design principles and concrete recommendations to foster accessible, transparent, and controllable human-AI collaboration for screen reader users. The work contributes a rich, longitudinal view of onboarding and adoption in a real-world setting, with implications for inclusive design of agentic AI coding tools and future research on accessible vibecoding practices.

Abstract

Generative AI agents are reshaping human-computer interaction, shifting users from direct task execution to supervising machine-driven actions, especially the rise of "vibe coding" in programming. Yet little is known about how screen reader programmers interact with AI code assistants in practice. We conducted a longitudinal study with 16 blind and low-vision programmers. Participants completed a GitHub Copilot tutorial, engaged with a programming task, and provided initial feedback. After two weeks of AI-assisted programming, follow-ups examined how their practices and perceptions evolved. Our findings show that code assistants enhanced programming efficiency and bridged accessibility gaps. However, participants struggled to convey intent, interpret AI outputs, and manage multiple views while maintaining situational awareness. They showed diverse preferences for accessibility features, expressed a need to balance automation with control, and encountered barriers when learning to use these tools. Furthermore, we propose design principles and recommendations for more accessible and inclusive human-AI collaborations.

Paper Structure

This paper contains 37 sections, 7 figures, 5 tables.

Figures (7)

  • Figure 1: Overview of the three-phase study design. The study included an initial study with 16 participants, a two-week phase where participants used Copilot in regular programming and recorded their experiences (31 cases collected), and a follow-up study.
  • Figure 2: Overview of GitHub Copilot features. (a) Code Completion provides real-time code suggestions as users type. (b) Inline Chat enables seamless conversational interaction directly within the editor or terminal. (c) Chat Panel supports multi-turn conversations with three modes (i.e., Ask mode, Edit mode, and Agent mode). Users can review responses in three ways: (1) reviewing and editing generated code in the editor, (2) navigating the message list in the chat panel, and (3) accessing responses in the accessible view.
  • Figure 3: Self-reported Likert scores from the initial and follow-up studies, showing changes over the two-week exploration. Only the 15 participants who completed the follow-up study are included. Q10 was not rated by some participants due to unfamiliarity with code completion. See Appendix \ref{['tab:likert']} for full questions.
  • Figure 4: (a) Time participants spent on programming-related activities during the task. "Waiting" indicates time spent waiting for AI to generate responses. (b) Breakdown of time spent by participants and the code assistant on three specific coding activities. For the code assistant, the time reflects response generation.
  • Figure 5: Four users' timelines---P1 (task: T2), P2 (task: T4), P10 (task: T1), and P15 (task: T3)---during their programming task. Code Assistant indicates when the assistant generated a response or performed an action after receiving a user's prompt or acceptance. Accessibility Issues denote points where users encountered difficulties that hindered smooth operation during the activity. Blank intervals represent periods of non-programming activities (e.g., seeking assistance for issues, troubleshooting network issues).
  • ...and 2 more figures