TY - GEN
T1 - Grid-Coding
T2 - 35th Annual ACM Symposium on User Interface Software and Technology, UIST 2022
AU - Ehtesham-Ul-Haque, Md
AU - Monsur, Syed Mostofa
AU - Billah, Syed Masum
N1 - Publisher Copyright:
© 2022 ACM.
PY - 2022/10/29
Y1 - 2022/10/29
N2 - Sighted programmers often rely on visual cues (e.g., syntax coloring, keyword highlighting, code formatting) to perform common coding activities in text-based languages (e.g., Python). Unfortunately, blind and low-vision (BLV) programmers hardly benefit from these visual cues because they interact with computers via assistive technologies (e.g., screen readers), which fail to communicate visual semantics meaningfully. Prior work on making text-based programming languages and environments accessible mostly focused on code navigation and, to some extent, code debugging, but not much toward code editing, which is an essential coding activity. We present Grid-Coding to fill this gap. Grid-Coding renders source code in a structured 2D grid, where each row, column, and cell have consistent, meaningful semantics. Its design is grounded on prior work and refined by 28 BLV programmers through online participatory sessions for 2 months. We implemented the Grid-Coding prototype as a spreadsheet-like web application for Python and evaluated it with a study with 12 BLV programmers. This study revealed that, compared to a text editor (i.e., the go-to editor for BLV programmers), our prototype enabled BLV programmers to navigate source code quickly, find the context of a statement easily, detect syntax errors in existing code effectively, and write new code with fewer syntax errors. The study also revealed how BLV programmers adopted Grid-Coding and demonstrated novel interaction patterns conducive to increased programming productivity.
AB - Sighted programmers often rely on visual cues (e.g., syntax coloring, keyword highlighting, code formatting) to perform common coding activities in text-based languages (e.g., Python). Unfortunately, blind and low-vision (BLV) programmers hardly benefit from these visual cues because they interact with computers via assistive technologies (e.g., screen readers), which fail to communicate visual semantics meaningfully. Prior work on making text-based programming languages and environments accessible mostly focused on code navigation and, to some extent, code debugging, but not much toward code editing, which is an essential coding activity. We present Grid-Coding to fill this gap. Grid-Coding renders source code in a structured 2D grid, where each row, column, and cell have consistent, meaningful semantics. Its design is grounded on prior work and refined by 28 BLV programmers through online participatory sessions for 2 months. We implemented the Grid-Coding prototype as a spreadsheet-like web application for Python and evaluated it with a study with 12 BLV programmers. This study revealed that, compared to a text editor (i.e., the go-to editor for BLV programmers), our prototype enabled BLV programmers to navigate source code quickly, find the context of a statement easily, detect syntax errors in existing code effectively, and write new code with fewer syntax errors. The study also revealed how BLV programmers adopted Grid-Coding and demonstrated novel interaction patterns conducive to increased programming productivity.
UR - http://www.scopus.com/inward/record.url?scp=85141552955&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85141552955&partnerID=8YFLogxK
U2 - 10.1145/3526113.3545620
DO - 10.1145/3526113.3545620
M3 - Conference contribution
AN - SCOPUS:85141552955
T3 - UIST 2022 - Proceedings of the 35th Annual ACM Symposium on User Interface Software and Technology
BT - UIST 2022 - Proceedings of the 35th Annual ACM Symposium on User Interface Software and Technology
PB - Association for Computing Machinery, Inc
Y2 - 29 October 2022 through 2 November 2022
ER -