Introductory computer programming presents a number of challenges for blind and visually impaired screen reader users. In addition to the challenges of navigating complex code documents using a screen reader, novice programmers who are blind are often unable to experience fun coding projects such as programming games or animations. To address these accessibility barriers, we developed Bonk, an accessible programming environment that enables the creation of interactive audio games using a subset of the JavaScript programming language. Bonk enables novice programmers to create, share, play, and remix accessible audio games. In this paper, we introduce the Bonk programming toolkit and describe its use in a week-long programming workshop with blind and visually impaired high school students. Students in the workshop were able to create and share original audio games using Bonk, and expressed enthusiasm about furthering their programming knowledge.
more »
« less
Accessible to Whom? Bringing Accessibility to Blocks
The introduction of block-based programming has gradually changed the landscape of programming education, particularly for school children. Block languages today, however, have serious technical barriers to students with disabilities. For example, block languages are generally not screen reader accessible, incompatible with braille, and contain serious problems for users with motor impairments. No student with a disability should ever be denied access to learning computer science and they do not have to be. To help rectify this, we present a new approach to the design of block languages called Quorum Blocks. Quorum Blocks uses a custom hardware accelerated graphical rendering pipeline that takes into account how screen readers and other devices work under the hood. We discuss these technical details and demonstrate that accessibility support can be fully achieved without meaningfully losing either the look of modern blocks or their visual output. We present the results from focus groups that highlight the barriers students faced with a variety of disabilities when using the first version of Quorum Blocks. We focus especially on challenges with low vision users, screen reader users, or those using no mouse and only one hand to type. Block languages built using either our techniques, or on top of our libraries, would become accessible out of the box.
more »
« less
- PAR ID:
- 10503926
- Publisher / Repository:
- ACM
- Date Published:
- Journal Name:
- SIGCSE 2024
- ISBN:
- 9798400704239
- Page Range / eLocation ID:
- 1286 to 1292
- Format(s):
- Medium: X
- Location:
- Portland OR USA
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Antona M., Stephanidis C. (Ed.)Block-based programming applications, such as MIT’s Scratch and Blockly Games, are commonly used to teach K-12 students to code. Due to the COVID-19 pandemic, many K-12 students are attending online coding camps, which teach programming using these block-based applications. However, these applications are not accessible to the Blind/Low Vision (BLV) population since they neither produce audio output nor are screen reader accessible. In this paper, we describe a solution to make block-based programming accessible to BLV students using Google’s latest Keyboard Navigation and present its evaluation with four individuals who are BLV. We distill our findings as recommendations to developers who may want to make their Block-based programming application accessible to individuals who are BLV.more » « less
-
Block-based programming, already popular in computer science education, has been successfully used to make programming accessible to end-users in applied domains such as the field of robotics. Most prior work in these domains has examined smaller programs that are usually simple and fit a single screen. However, real block-based programs often grow larger and, because end-users are unlikely to break them down into separate functions, they often become unwieldy. In our study, we introduce a function-centric block-based environment to help end-users write programs that require a large number of blocks. Through a user study with 92 users, we evaluated our approach and found that while users could successfully complete smaller tasks with and without our approach, they were both quicker and more successful with our function-centric method when tackling larger tasks. This work demonstrates that adding scaffolding can encourage the systematic use of functions, enabling end-users to write larger programs with block-based programming environments, which can contribute to the solution of more complex tasks in applied domains.more » « less
-
In a programmer's pursuit of using or creating new programming languages, finding errors in the syntax of code can present many issues. Languages with little to no documentation and incomprehensible exception handling and reports are frustrating to work with and can create confusion when trying to locate where in the code the program has faulted. In this paper we present {\em CodeBlock}, a parser generator and syntax checker for arbitrary programming languages. CodeBlock is a block based grammar builder for any programming language that constructs a parsing expression grammar for the language based on user built expressions. This grammar can then be used within the CodeBlock website or in the CodeBlock Node.JS application to test the syntax of either written code, or files containing code in the language, reporting comprehensible error messages if errors in syntax are found. Our eventual goal is to incorporate CodeBlock into a compiler design tutoring system, called {\em CompiTS}, in which it will play a central role in teaching students how to design new programming languages and test the effectiveness of the new language using rapid prototyping and a translational approach to implementation. This is an emerging research, and in this paper, we only focus on the syntax checking component of the CompiTS system.more » « less
-
Block-based programming languages can support novice programmers through features such as simplified code syntax and user-friendly libraries. However, most block-based programming languages are highly visual, which makes them inaccessible to blind and visually impaired students. To address the inaccessibility of block-based languages, we introduce StoryBlocks, a tangible block-based game that enables blind programmers to learn basic programming concepts by creating audio stories. In this paper, we document the design of StoryBlocks and report on a series of design activities with groups of teachers, Braille experts, and students. Participants in our design sessions worked together to create accessible stories, and their feedback offers insights for the future development of accessible, tangible programming tools.more » « less
An official website of the United States government

