Students in introductory classes often struggle to understand why the programs they write behave in the ways they do. Increasingly, faculty find that by helping students develop mental models of the state of the program, they build an infrastructure that both aids students in developing, interpreting, and debugging their own code and provides a groundwork for explaining new aspects of the language. Tools such as Python Tutor have shown the value of providing students with a visual model of program state, showing a simplified version of the contents of the stack and the heap.
Unfortunately, many of these visualizations are inaccessible or have limited utility to blind and low vision learners. Additionally, no visualizers focus on data structures. This provides the opportunity to create new descriptive tools as we build visual models for Scheme.
In this paper, we describe our design and implementation of an accessible visualizer for the state of Scheme programs, particularly representing Scheme structures such as lists, pairs, vectors, and structs. We consider how to provide appropriate navigation for the components of the visualization and the approaches we use to narrate/describe each component.