Nonvisual Tool for Navigating Hierarchical Structures
Ann C. Smith, Justin S. Cook, Joan M. Francioni, Asif Hossain, Mohd Anwar, M. Fayezur Rahman · 2004 · Proceedings of the 6th International ACM SIGACCESS Conference on Computers and Accessibility (Assets 04) · doi:10.1145/1028630.1028654
Summary
This paper presents the Aural Tree Navigator, an Eclipse IDE plug-in that enables blind programmers to navigate hierarchical program structures (such as package explorers, class hierarchies, and file systems) using keyboard commands and speech/sound output. The research emerged from the Computer Science Curriculum Accessibility Program (CSCAP), which over three years worked with six students with visual disabilities learning computer science. The researchers observed that navigating through code via existing screen readers was significantly harder for blind students than for sighted peers, particularly in Advanced Data Structures courses where understanding hierarchical program structure is essential. The core problem is that screen readers translate tree views by reading what is on screen without conveying the logical hierarchical relationships — the same up-arrow command can have completely different logical meanings depending on whether a node is expanded or collapsed, and this inconsistency makes navigation by logical structure impossible. The Aural Tree Navigator addresses this by adopting a sideways tree orientation where arrow keys map consistently to hierarchical relationships: left goes to parent, right goes to children, up/down move among siblings (as a circular list). The tool provides ten functional requirements including: all nodes visible from the start, error sounds for illegal moves, "where am I" information, relative subtree size via a Geiger counter sound, visited/unvisited node tracking, and anchor points (a navigation stack for saving and returning to positions).
Key findings
Usability testing with 12 computer science students (2 blind, 10 sighted blindfolded) across three tests of increasing tree complexity confirmed the strategy's effectiveness. Test 1 used a medium-complexity program tree (7 first-level nodes, 203 total nodes, maximum leaf path length 13); Test 2 asked participants to draw the tree from Figure 1; Test 3 used the very large NetBeans package structure (over 1000 nodes, height greater than 20). All participants were able to navigate without difficulty. The most used commands were arrow keys, with sighted participants generally relying more on arrow keys while blind participants also used the "where am I" and anchor point commands frequently. The "where am I" command was used frequently and considered very useful by participants. Anchor points were valued by almost all participants, particularly during Test 3 when navigating the massive NetBeans tree — participants reported they helped avoid getting lost. The Geiger counter feedback (a continuous clicking sound whose frequency indicates subtree size) received mixed reviews: about half found it distracting, while a few found it helpful. Participants recommended it be optional rather than default. The ability to check visited/unvisited nodes was particularly valued during exhaustive searches. Participants requested additional features including search, alphabetical jump shortcuts, and the ability to see the full path name of a node.
Relevance
This research addresses a critical gap in programming accessibility: while screen readers can make text-based content accessible, they fundamentally fail at conveying the spatial and hierarchical structures that are central to modern software development environments. For accessibility practitioners, the paper offers a well-defined set of transferable requirements for any accessible tree navigation system. The sideways orientation model (left=parent, right=children, up/down=siblings) provides a consistent logical mapping that eliminates the confusion caused by screen readers' visual-position-based navigation. The focus+context approach — providing both detailed information about the current node (focus) and contextual information about its position in the hierarchy (context) — is a broadly applicable design pattern for non-visual interaction with structured data. The Geiger counter concept for conveying subtree density is novel, though the mixed reception suggests that ambient sonification needs careful calibration. A key limitation is the small number of blind participants (2 of 12), with the sighted-blindfolded methodology providing an imperfect proxy for the experience of blind programmers who have developed different cognitive strategies for understanding hierarchical structures.
Tags: IDE accessibility · visual impairment · programming · screen reader · tree navigation · auditory interface · software development · Eclipse · earcon · STEM accessibility