Coding Non-Visually in Visual Studio Code: Collaboration Towards Accessible Development Environment for Blind Programmers
JooYoung Seo, Megan Rogge · 2023 · ASSETS 2023: The 25th International ACM SIGACCESS Conference on Computers and Accessibility · doi:10.1145/3597638.3614550
Summary
This paper documents a sustained collaboration between JooYoung Seo, a blind assistant professor and lifelong non-visual programmer, and Megan Rogge, a sighted software engineer on the Visual Studio Code team at Microsoft, aimed at improving VSCode accessibility for blind developers. The collaboration began when Seo filed his first accessibility issue on the VSCode GitHub repository in May 2020, eventually contributing 164 items including 87 issues, 76 comments, and 1 pull request. The paper uses this real-world partnership as a case study in how blind and sighted developers can work together through co-design and expert review to identify and resolve accessibility barriers in open-source software. Their methodology combined asynchronous GitHub communication with regular Zoom sessions where Seo demonstrated his screen reader workflow and Rogge observed, questioned, and documented issues. The paper situates IDE accessibility as a sociotechnical barrier rather than an individual problem, drawing on the social model of disability and the interdependent framework that views accessibility as a shared responsibility. VSCode serves as a particularly promising platform because it is built on the Chromium-based Electron Framework using web technologies, includes the Monaco editor with a dedicated screen reader compatibility mode, and has an open-source development model that enables community participation through GitHub issues and insider releases.
Key findings
The collaboration produced several concrete accessibility improvements now shipped in VSCode stable releases. The most significant is the accessible terminal buffer, introduced in VSCode 1.75, which replaced the previously inaccessible terminal output with a text editor buffer built on VSCode's native Monaco editor, enabling standard arrow-key navigation for blind users without switching between screen reader modes. This took over a year of technical experimentation, as earlier approaches using aria list, document, and textbox roles, as well as contenteditable areas, all proved inadequate across different screen readers and platforms. Git Diff audio cues were added with three distinct earcons for inserted, deleted, and modified lines, providing non-speech sound feedback analogous to the color coding sighted developers rely on. The sounds went through iterative refinement with Microsoft's sound designer after initial versions were too similar to distinguish. Adaptable verbosity settings were implemented to reduce screen reader noise by controlling aria content repetition, and contextual accessibility help menus were added to the terminal and other panels to surface useful keyboard commands discoverable by screen reader users. A formal accessibility testing initiative was established requiring screen reader testing for all new features before release.
Relevance
This paper provides a practical blueprint for how open-source projects can systematically improve accessibility through collaboration with disabled users. The co-design model demonstrated here, where a blind expert user partners directly with a core developer, is replicable across other open-source tools and offers a more effective alternative to compliance-driven accessibility audits. For accessibility practitioners, the detailed account of technical challenges in making terminal output screen-reader accessible illustrates the gap between theoretical ARIA compliance and real-world usability across different screen readers. The audio cues work demonstrates how non-speech sound can supplement screen reader output to convey information that is otherwise only available visually. The paper also highlights the broader impact of accessibility work in foundational open-source platforms: improvements to VSCode cascade to millions of derivative tools and extensions, making IDE accessibility a high-leverage intervention point for the entire developer ecosystem.
Tags: nonvisual programming · integrated development environment · visual studio code · screen readers · blind programmers · open source accessibility · co-design · audio cues · terminal accessibility
Standards referenced: WCAG · ARIA