[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3526113.3545620acmconferencesArticle/Chapter ViewAbstractPublication PagesuistConference Proceedingsconference-collections
research-article

Grid-Coding: An Accessible, Efficient, and Structured Coding Paradigm for Blind and Low-Vision Programmers

Published: 28 October 2022 Publication History

Abstract

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.

References

[1]
2018. What’s New in JAWS 2018 Screen Reading Software. Retrieved September 19, 2018 from https://www.freedomscientific.com/downloads/JAWS/JAWSWhatsNew
[2]
2020. Full Grammar specification. https://docs.python.org/3/reference/grammar.html
[3]
2020. NV Access. https://www.nvaccess.org/. (Accessed on 09/20/2018).
[4]
2021. Judge0 CE - API Docs. https://ce.judge0.com/ (Accessed on 07/26/2022).
[5]
2021. Lezer - Incremental Parser System. https://github.com/lezer-parser (Accessed on 07/26/2022).
[6]
2022. Accessible Rich Internet Applications suite of web standards. https://www.w3.org/WAI/standards-guidelines/aria/ (Accessed on 07/26/2022).
[7]
2022. AST Explorer. https://astexplorer.net/
[8]
2022. Blockly | Google Developers. https://developers.google.com/blockly (Accessed on 07/26/2022).
[9]
2022. PYPL PopularitY of Programming Language. https://pypl.github.io/PYPL.html
[10]
2022. Scratch - Imagine, Program, Share. https://scratch.mit.edu/ (Accessed on 07/26/2022).
[11]
2022. Welcome to Snap!https://snap.berkeley.edu/ (Accessed on 07/26/2022).
[12]
Swati Agarwal, Nitish Mittal, Rohan Katyal, Ashish Sureka, and Denzil Correa. 2016. Women in computer science research: What is the bibliography data telling us?Acm Sigcas Computers and Society 46, 1 (2016), 7–19.
[13]
Alfred V Aho, Ravi Sethi, and Jeffrey D Ullman. 1986. Compilers, principles, techniques. Addison wesley 7, 8 (1986), 9.
[14]
Khaled Albusays and Stephanie Ludi. 2016. Eliciting Programming Challenges Faced by Developers with Visual Impairments: Exploratory Study. In Proceedings of the 9th International Workshop on Cooperative and Human Aspects of Software Engineering (Austin, Texas) (CHASE ’16). Association for Computing Machinery, New York, NY, USA, 82–85. https://doi.org/10.1145/2897586.2897616
[15]
Khaled Albusays, Stephanie Ludi, and Matt Huenerfauth. 2017. Interviews and Observation of Blind Software Developers at Work to Understand Code Navigation Challenges(ASSETS ’17). Association for Computing Machinery, New York, NY, USA, 91–100. https://doi.org/10.1145/3132525.3132550
[16]
Khaled L Albusays. 2020. The Role of Sonification as a Code Navigation Aid: Improving Programming Structure Readability and Understandability For Non-Visual Users. Rochester Institute of Technology.
[17]
Hind Alotaibi, Hend S Al-Khalifa, and Duaa AlSaeed. 2020. Teaching Programming to students with vision impairment: impact of tactile teaching strategies on student’s achievements and perceptions. Sustainability 12, 13 (2020), 5320.
[18]
Dagmar Amtmann, Kurt Johnson, and Debbie Cook. 2002. Making web-based tables accessible for users of screen readers. Library Hi Tech (2002).
[19]
Apple Inc.2020. VoiceOver. https://www.apple.com/accessibility/osx/voiceover/.
[20]
Chieko Asakawa and Takashi Itoh. 1999. User interface of a nonvisual table navigation method. In CHI’99 Extended Abstracts on Human Factors in Computing Systems. 214–215.
[21]
Catherine M. Baker, Lauren R. Milne, and Richard E. Ladner. 2015. StructJumper: A Tool to Help Blind Programmers Navigate and Understand the Structure of Code. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems (Seoul, Republic of Korea) (CHI ’15). Association for Computing Machinery, New York, NY, USA, 3043–3052. https://doi.org/10.1145/2702123.2702589
[22]
David Bau, Jeff Gray, Caitlin Kelleher, Josh Sheldon, and Franklyn Turbak. 2017. Learnable programming: blocks and beyond. Commun. ACM 60, 6 (2017), 72–80.
[23]
Jeffrey P Bigham, Maxwell B Aller, Jeremy T Brudvik, Jessica O Leung, Lindsay A Yazzolino, and Richard E Ladner. 2008. Inspiring blind high school students to pursue computer science with instant messaging chatbots. In Proceedings of the 39th SIGCSE technical symposium on Computer science education. 449–453.
[24]
Syed Masum Billah, Vikas Ashok, Donald E. Porter, and I.V. Ramakrishnan. 2017. Speed-Dial: A Surrogate Mouse for Non-Visual Web Browsing. In Proceedings of the 19th International ACM SIGACCESS Conference on Computers and Accessibility. ACM, 3132531, 110–119. https://doi.org/10.1145/3132525.3132531
[25]
Syed Masum Billah, Vikas Ashok, Donald E. Porter, and I.V. Ramakrishnan. 2017. Ubiquitous Accessibility for People with Visual Impairments: Are We There Yet?. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems. ACM, 5862–5868. https://doi.org/10.1145/3025453.3025731
[26]
Syed Masum Billah, Vikas Ashok, Donald E. Porter, and I.V. Ramakrishnan. 2018. SteeringWheel: A Locality-Preserving Magnification Interface for Low Vision Web Browsing. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. ACM, 3173594, 1–13. https://doi.org/10.1145/3173574.3173594
[27]
Stephen A. Brewster. 1998. Using Nonspeech Sounds to Provide Navigation Cues. ACM Trans. Comput.-Hum. Interact. 5, 3 (Sept. 1998), 224–259. https://doi.org/10.1145/292834.292839
[28]
Mechmet Chiousemoglou and Helmut Jürgensen. 2011. Setting the table for the blind. In Proceedings of the 4th International Conference on PErvasive Technologies Related to Assistive Environments. 1–8.
[29]
Jacob Cohen. 1988. Statistical power analysis for the social sciences. (1988).
[30]
Pierre Dragicevic. 2016. Fair statistical communication in HCI. In Modern statistical methods for HCI. Springer, 291–330.
[31]
Bradley Efron. 1992. Bootstrap methods: another look at the jackknife. In Breakthroughs in statistics. Springer, 569–593.
[32]
António Ramires Fernandes, Alexandre Carvalho, José João Almeida, and Alberto Simoes. 2006. Transcoding for Web Accessibility for the Blind: Semantics from Structure. (2006).
[33]
Philip Guo. 2021. Ten Million Users and Ten Years Later: Python Tutor’s Design Guidelines for Building Scalable and Sustainable Research Software in Academia. In The 34th Annual ACM Symposium on User Interface Software and Technology. 1235–1251.
[34]
Alex Hadwen-Bennett, Sue Sentance, and Cecily Morrison. 2018. Making programming accessible to learners with visual impairments: a literature review. International Journal of Computer Science Education in Schools 2, 2(2018), 3–13.
[35]
Earl W Huff, Kwajo Boateng, Makayla Moster, Paige Rodeghero, and Julian Brinkley. 2020. Examining the work experience of programmers with visual impairments. In 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 707–711.
[36]
Joe Hutchinson and Oussama Metatla. 2018. An initial investigation into non-visual code structure overview through speech, non-speech and spearcons. In Extended Abstracts of the 2018 CHI Conference on Human Factors in Computing Systems. 1–6.
[37]
JAWS – screen reading software. 2022. Navigating Web Pages.
[38]
Shaun K Kane and Jeffrey P Bigham. 2014. Tracking @stemxcomet: teaching programming to blind students via 3D printing, crisis management, and twitter. In Proceedings of the 45th ACM technical symposium on Computer science education. 247–252.
[39]
Rushil Khurana, Duncan McIsaac, Elliot Lockerman, and Jennifer Mankoff. 2018. Nonvisual interaction techniques at the keyboard surface. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. 1–12.
[40]
Mario Konecki, Alen Lovrenčić, and Robert Kudelić. 2011. Making programming accessible to the blinds. In 2011 Proceedings of the 34th International Convention MIPRO. IEEE, 820–824.
[41]
Hae-Na Lee and Vikas Ashok. 2022. Customizable Tabular Access to Web Data Records for Convenient Low-vision Screen Magnifier Interaction. ACM Transactions on Accessible Computing (TACCESS) 15, 2 (2022), 1–22.
[42]
Hae-Na Lee, Sami Uddin, and Vikas Ashok. 2020. TableView: Enabling Efficient Access to Web Data Records for Screen-Magnifier Users. In The 22nd International ACM SIGACCESS Conference on Computers and Accessibility(Virtual Event, Greece) (ASSETS ’20). Association for Computing Machinery, New York, NY, USA, Article 23, 12 pages. https://doi.org/10.1145/3373625.3417030
[43]
Yuhan Lin and David Weintrop. 2021. The landscape of Block-based programming: Characteristics of block-based environments and how they support the transition to text-based programming. Journal of Computer Languages 67 (2021), 101075.
[44]
Stephanie Ludi, Lindsey Ellis, and Scott Jordan. 2014. An accessible robotics programming environment for visually impaired users. In Proceedings of the 16th international ACM SIGACCESS conference on Computers & accessibility. 237–238.
[45]
Sean Mealin and Emerson Murphy-Hill. 2012. An exploratory study of blind software developers, In Visual Languages and Human-Centric Computing (VL/HCC), 2012 IEEE Symposium on. Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC, 71–74. https://doi.org/10.1109/VLHCC.2012.6344485
[46]
Lauren R Milne and Richard E Ladner. 2018. Blocks4All: overcoming accessibility barriers to blocks programming for children with visual impairments. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. 1–10.
[47]
Farhani Momotaz, Md Touhidul Islam, Md Ehtesham-Ul-Haque, and Syed Masum Billah. 2021. Understanding Screen Readers’ Plugins. In The 23rd International ACM SIGACCESS Conference on Computers and Accessibility. ACM, 1–10. https://doi.org/10.1145/3441852.3471205
[48]
Lourdes Moreno, Xabier Valencia, J Eduardo Pérez, and Myriam Arrue. 2018. Exploring the Web navigation strategies of people with low vision. In Proceedings of the XIX International Conference on Human Computer Interaction. 1–8.
[49]
Aboubakar Mountapmbeme, Obianuju Okafor, and Stephanie Ludi. 2022. Addressing Accessibility Barriers in Programming for People with Visual Impairments: A Literature Review. ACM Transactions on Accessible Computing (TACCESS) 15, 1 (2022), 1–26.
[50]
NVDA-Project. 2020. GitHub - nvaccess/nvda: NVDA, the free and open source Screen Reader for Microsoft Windows. https://github.com/nvaccess/nvda. Accessed: 2020-06-29.
[51]
Afra Pascual, Mireia Ribera, Toni Granollers, and Jordi L Coiduras. 2014. Impact of accessibility barriers on the mood of blind, low-vision and sighted users. Procedia Computer Science 27 (2014), 431–440.
[52]
Venkatesh Potluri, Priyan Vaithilingam, Suresh Iyengar, Y. Vidya, Manohar Swaminathan, and Gopal Srinivasa. 2018. CodeTalk: Improving Programming Environment Accessibility for Visually Impaired Developers. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (Montreal QC, Canada) (CHI ’18). Association for Computing Machinery, New York, NY, USA, 1–11. https://doi.org/10.1145/3173574.3174192
[53]
Dominic Roberts and Karlton Weaver. 2011. Audio Aids in Source Code. Retrieved September 19(2011), 2017.
[54]
Emmanuel Schanzer, Sina Bahram, and Shriram Krishnamurthi. 2019. Accessible AST-Based Programming for Visually-Impaired Programmers. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education(Minneapolis, MN, USA) (SIGCSE ’19). Association for Computing Machinery, New York, NY, USA, 773–779. https://doi.org/10.1145/3287324.3287499
[55]
Ann C. Smith, Justin S. Cook, Joan M. Francioni, Asif Hossain, Mohd Anwar, and M. Fayezur Rahman. 2003. Nonvisual Tool for Navigating Hierarchical Structures. SIGACCESS Access. Comput.77–78 (Sept. 2003), 133–139. https://doi.org/10.1145/1029014.1028654
[56]
Dimitris Spiliotopoulos, Gerasimos Xydas, Georgios Kouroupetroglou, Vasilios Argyropoulos, and Kalliopi Ikospentaki. 2010. Auditory universal accessibility of data tables using naturally derived prosody specification. Universal Access in the Information Society 9, 2 (2010), 169–183.
[57]
Andreas Stefik, Roger Alexander, Robert Patterson, and Jonathan Brown. 2007. WAD: A feasibility study using the wicked audio debugger. In 15th IEEE International Conference on Program Comprehension (ICPC’07). IEEE, 69–80.
[58]
Andreas Stefik, Andrew Haywood, Shahzada Mansoor, Brock Dunda, and Daniel Garcia. 2009. Sodbeans. In 2009 IEEE 17th International Conference on Program Comprehension. IEEE, 293–294.
[59]
Andreas Stefik, Christopher Hundhausen, and Robert Patterson. 2011. An Empirical Investigation into the Design of Auditory Cues to Enhance Computer Program Comprehension. Int. J. Hum.-Comput. Stud. 69, 12 (Dec. 2011), 820–838. https://doi.org/10.1016/j.ijhcs.2011.07.002
[60]
Andreas Stefik and Richard Ladner. 2017. The quorum programming language. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. 641–641.
[61]
Andreas Stefik and Susanna Siebert. 2013. An empirical investigation into programming language syntax. ACM Transactions on Computing Education (TOCE) 13, 4 (2013), 1–40.
[62]
Andreas M Stefik, Christopher Hundhausen, and Derrick Smith. 2011. On the design of an educational infrastructure for the blind and visually impaired in computer science. In Proceedings of the 42nd ACM technical symposium on Computer science education. 571–576.
[63]
Jaime Sánchez and Fernando Aguayo. 2006. APL: Audio Programming Language for Blind Learners. https://doi.org/10.1007/11788713_192
[64]
Bruce N Walker, Amanda Nance, and Jeffrey Lindsay. 2006. Spearcons: Speech-based earcons improve navigation performance in auditory menus. Georgia Institute of Technology.
[65]
David Weintrop. 2019. Block-based programming in computer science education. Commun. ACM 62, 8 (2019), 22–25.
[66]
Kristin Williams, Taylor Clarke, Steve Gardiner, John Zimmerman, and Anthony Tomasic. 2019. Find and Seek: Assessing the Impact of Table Navigation on Information Look-up with a Screen Reader. ACM Trans. Access. Comput. 12, 3, Article 11 (Aug. 2019), 23 pages. https://doi.org/10.1145/3342282
[67]
Kristin Williams, Taylor Clarke, Steve Gardiner, John Zimmerman, and Anthony Tomasic. 2019. Find and seek: Assessing the impact of table navigation on information look-up with a screen reader. ACM Transactions on Accessible Computing (TACCESS) 12, 3 (2019), 1–23.

Cited By

View all
  • (2024)Effective Inclusion of People with Disabilities in Software Development TeamsProceedings of the 18th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3674805.3690749(447-453)Online publication date: 24-Oct-2024
  • (2024)Speed-of-Light VR for Blind People: Conveying the Location of Arm-Reach TargetsProceedings of the 26th International ACM SIGACCESS Conference on Computers and Accessibility10.1145/3663548.3688533(1-5)Online publication date: 27-Oct-2024
  • (2024)Low Vision Boxing: Participatory Design of Adaptive Kickboxing Experiences with Low Vision PersonProceedings of the 26th International ACM SIGACCESS Conference on Computers and Accessibility10.1145/3663548.3675619(1-18)Online publication date: 27-Oct-2024
  • Show More Cited By

Index Terms

  1. Grid-Coding: An Accessible, Efficient, and Structured Coding Paradigm for Blind and Low-Vision Programmers

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    UIST '22: Proceedings of the 35th Annual ACM Symposium on User Interface Software and Technology
    October 2022
    1363 pages
    ISBN:9781450393201
    DOI:10.1145/3526113
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 28 October 2022

    Permissions

    Request permissions for this article.

    Check for updates

    Badges

    • Best Paper

    Author Tags

    1. Accessibility
    2. Python
    3. assistive technology
    4. blind and low-vision
    5. code reading
    6. code writing
    7. grid-coding
    8. programmers.
    9. programming languages
    10. screen readers
    11. text-based programming languages

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    UIST '22

    Acceptance Rates

    Overall Acceptance Rate 561 of 2,567 submissions, 22%

    Upcoming Conference

    UIST '25
    The 38th Annual ACM Symposium on User Interface Software and Technology
    September 28 - October 1, 2025
    Busan , Republic of Korea

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)192
    • Downloads (Last 6 weeks)20
    Reflects downloads up to 01 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Effective Inclusion of People with Disabilities in Software Development TeamsProceedings of the 18th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3674805.3690749(447-453)Online publication date: 24-Oct-2024
    • (2024)Speed-of-Light VR for Blind People: Conveying the Location of Arm-Reach TargetsProceedings of the 26th International ACM SIGACCESS Conference on Computers and Accessibility10.1145/3663548.3688533(1-5)Online publication date: 27-Oct-2024
    • (2024)Low Vision Boxing: Participatory Design of Adaptive Kickboxing Experiences with Low Vision PersonProceedings of the 26th International ACM SIGACCESS Conference on Computers and Accessibility10.1145/3663548.3675619(1-18)Online publication date: 27-Oct-2024
    • (2024)Handwritten Code Recognition for Pen-and-Paper CS EducationProceedings of the Eleventh ACM Conference on Learning @ Scale10.1145/3657604.3662027(200-210)Online publication date: 9-Jul-2024
    • (2024)Neurodiverse Programmers and the Accessibility of Parsons Problems: An Exploratory Multiple-Case StudyProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630898(491-497)Online publication date: 7-Mar-2024
    • (2024)Assistive Toolkit for Teaching Programming to Visually Impaired ChildrenHCI International 2024 – Late Breaking Posters10.1007/978-3-031-78561-0_12(119-127)Online publication date: 30-Dec-2024
    • (2023)CONVERSATIONS: Conversation with a Prominent Propagator: Carl Haynes-MagyarACM Inroads10.1145/361601614:4(12-16)Online publication date: 27-Nov-2023
    • (2023)Notably Inaccessible — Data Driven Understanding of Data Science Notebook (In)AccessibilityProceedings of the 25th International ACM SIGACCESS Conference on Computers and Accessibility10.1145/3597638.3608417(1-19)Online publication date: 22-Oct-2023
    • (2023)Supporting the Careers of Developers With Disabilities: Lessons From Zup InnovationIEEE Software10.1109/MS.2023.328254440:5(58-65)Online publication date: 1-Sep-2023

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media