UNIVERSITY PARK, Pa. — A new tool could help make code reading, navigating and editing more accessible and efficient for blind and low-vision computer programmers, according to Penn State researchers.
The tool, called Grid Editor, serves as a modification to traditional code editors that programmers use to add lines of code when updating features and functions in software. Prior work has focused on making different parts of the coding process more accessible for blind and low-vision users, such as reading or navigating code. Grid Editor is the first to place emphasis on code editing — an important step in making continuous updates to software, in which programmers edit and update existing code that was previously written by other programmers.
“One of the main parts of programming is reading others’ code to understand what is currently implemented,” said Md Ehtesham-Ul-Haque, doctoral student at the Penn State College of Information Sciences and Technology (IST) and first author on the team’s paper. “Then you have to write your own code, new code, to build new features in the software. No existing editor supports this type of structured editing for blind or low-vision programmers.”
Existing code editors use visual cues such as highlighted keywords and indented lines that enable sighted programmers to visually navigate their way through extensive code. While blind and low-vision programmers can use adaptive tools like screen readers to audibly navigate the code, those tools aren’t built to navigate lengthy codebases. Screen readers could occasionally miss individual characters or pieces of code, increasing the programmer’s time spent and the potential for error.
“Blind and low-vision coders have a difficult time keeping pace with sighted programmers,” said Syed Billah, assistant professor of information sciences and technology and principal investigator on the project. “Less than one percent of blind users or students learn programming because of this unreasonable burden they have to climb. We developed Grid Editor to help blind and low-vision students overcome these challenges.”
The Grid Editor interface resembles a spreadsheet, incorporating rows and columns to localize a piece of code within the two-dimensional space. A blind or low-vision programmer can extract lines of code from an existing codebase and import it into Grid Editor, then use the tool’s structure and audible cues to more easily navigate the numerous lines of code. In Grid Editor, the number of rows in the grid are equal to the number of lines in the code being updated, and the number of columns in the grid aligns with the number of levels in the code, helping users easily create a mental map and navigate within the grid using keyboard shortcuts and arrows combined with audible cues.