---
title: 'A11yShape: Accessible Shape Analysis & Design'
url: https://www.emergentmind.com/topics/a11yshape
type: topic
---

# A11yShape: Accessible Shape Analysis & Design

Searching arXiv for the cited papers and related uses of “A11yShape” to ground the article.
First, I’ll look up the exact A11yShape system paper for BLV 3-D modeling, then the earlier SHAPE environment-analysis paper, and the shape-palette paper.
Searching arXiv now.
A11yShape is a label used in accessibility-oriented research for several distinct technical artifacts centered on shape, space, and non-visual or human-centric interpretation. In the built-environment literature, the closely related SHAPE framework is defined as a dense, weighted, directed graph representation of a three-dimensional environment for evaluating and planning human movement [2101.10503]. In human-computer interaction, A11yShape denotes a web application for blind and low-vision programmers that integrates OpenSCAD, LLM assistance, semantic hierarchy, version control, and cross-representation highlighting to support understanding, editing, and iteration of 3-D models [2508.03852]. In visualization research, the name has also been attached to an empirically grounded guide for constructing accessible shape palettes by modeling pairwise perceptual dissimilarity among shapes and optimizing palette selection [2408.16079].

## 1. Scope and disambiguation

The term spans multiple research contexts rather than a single unified framework. One line of work addresses environment analysis through a graph of traversable locations and transitions; a second addresses accessible 3-D modeling for blind and low-vision users; a third addresses accessible categorical shape encodings in scatterplots.

| Context | Core representation | Primary purpose |
|---|---|---|
| Built environment | Dense, weighted, directed graph $G=(V,E,W)$ | Human-centric accessibility evaluation and path analysis |
| BLV 3-D modeling | Web application with code, hierarchy, AI description, and rendering | Understanding, editing, and iterating on 3-D models |
| Visualization design | Pairwise dissimilarity matrix and palette-selection model | Recommending accessible shape palettes |

This distribution of meanings matters because the shared label does not imply methodological identity. The common thread is accessibility: physical accessibility in architectural and terrain analysis, non-visual accessibility in 3-D modeling, and perceptual accessibility in visualization. A plausible implication is that the term functions as a convenient umbrella for accessibility problems in which shape or spatial structure is the primary information carrier.

## 2. Graph-based environment accessibility

In the environment-analysis formulation, A11yShape is defined as a graph $G=(V,E,W)$ in which each vertex $v_i \in V$ corresponds to a 3-D sample point $n_i \in \mathbb{R}^3$ on a traversable surface, each directed edge $e_{ij}=(v_i,v_j)\in E$ denotes a feasible one-step transition, and each weight $w_{ij}\in W$ is a vector encoding transition costs [2101.10503]. The weight vector includes Euclidean distance $d=\|n_j-n_i\|$, signed slope $s=(n_j^z-n_i^z)/d$, cross-slope magnitude
$$
c=\max_{e_{ik}\perp e_{ij}} |(n_k^z-n_i^z)|,
$$
energy expenditure $e=E(s)$ using Minetti’s polynomial,
$$
E(s)=280.5s^5-58.7s^4-76.8s^3+51.9s^2+19.6s+2.5,
$$
and a categorical step type $t\in\{\text{DIRECT},\text{OVER},\text{UP},\text{DOWN},\text{INVALID}\}$.

The construction procedure grows the graph by breadth-first search from a user-picked seed point $\tau$ above a known walkable geometry set $\Gamma$. For each visited node, the algorithm enumerates candidate neighbor offsets on a horizontal grid, forms a candidate 3-D query point with a small vertical offset, casts a vertical ray downward to recover the actual surface point, and then invokes `getConnection(p,c′)` to classify the transition. A direct ray with no obstruction yields `DIRECT`; blocked motion is retested with step-height translation to classify `UP` or `DOWN`; equal-height but blocked motion yields `OVER`; failure yields `INVALID`. Only transitions that are not `INVALID` and that satisfy vertical-difference and slope thresholds are accepted into the graph.

Several characteristics distinguish this formulation. It does not need labeled geometry as input, works with multi-level buildings, captures surface variations such as slopes in terrain, and can be used with existing graph theory techniques. The representation is therefore not merely a walkability mask; it encodes how traversal occurs, including slope direction, cross-slope, and step semantics.

## 3. Graph measures, multi-scale deployment, and design interpretation

Once the graph is constructed, classical graph measures are applied directly to accessibility analysis [2101.10503]. Shortest paths can be computed with Dijkstra or A* under any linear combination of edge-weight components. For a compound edge cost,
$$
\mathrm{cost}_{ij}=\alpha d+\beta E(s)+\gamma c,
$$
the minimal-cost path satisfies
$$
\Omega^*=\arg\min_\Omega \sum_{e\in\Omega}\mathrm{cost}_e.
$$
The same graph supports closeness centrality,
$$
C_c(v)=\frac{1}{\sum_{u\in V} d_G(v,u)},
$$
a gravity model score,
$$
G(v)=\sum_{u\in V}\frac{w_u}{d_G(v,u)^\beta},
$$
and betweenness centrality,
$$
B(v)=\sum_{s\neq v\neq t}\frac{\sigma_{st}(v)}{\sigma_{st}}.
$$

The framework operates unchanged across room, building, and terrain scales by varying node spacing $a$, step-height limits $b_u/b_d$, and slope limits $s_u/s_d$. The reported examples use approximately $0.3\,\mathrm{m}$ spacing for rooms, $0.25\,\mathrm{m}$ for entire buildings, and $5\,\mathrm{m}$ for terrain. As $a\to 0$, $|V|$ grows like $\mathrm{Area}/a^2$ and metric fidelity increases; short-path error typically falls below $1\%$ for $a\approx 0.25\,\mathrm{m}$ indoors. At coarse terrain resolution, natural trails or roads appear automatically as low-energy corridors.

The outputs are intended for design evaluation rather than only navigation. Node-wise heatmaps can display scalar measures such as energy cost or minimal distance to exit. Iso-cost contours of time-to-amenity can be computed from
$$
T(v)=\min_{\text{path }v_0\to v}\sum \left(\frac{d}{\hat v(s)}\right),
$$
with slope-dependent walking speed $\hat v(s)$. Competing circulation strategies can be compared by contrasting minimal-distance and minimal-energy routes, for example through
$$
\Delta E=\sum_{e\in\Omega_{\mathrm{dist}}}E(s_e)-\sum_{e\in\Omega_{\mathrm{energy}}}E(s_e).
$$
A single accessibility score between points $p$ and $q$ may also be defined as
$$
A(p,q)=w_d\,d_G(p,q)+w_e\sum_{e\in\Omega(p,q)}E(s_e)+w_c\sum_{e\in\Omega(p,q)}c_e.
$$
This makes the graph suitable for ranking schematic designs according to human-centric travel difficulty.

## 4. AI-assisted 3-D modeling for blind and low-vision programmers

In the 2025 system, A11yShape addresses the difficulty of building 3-D models for blind and low-vision users, especially because existing tools such as Blender and Fusion360 rely on dense graphical interfaces and mouse-driven manipulation, while even code-based modelers such as OpenSCAD lack accessible ways to explore or confirm rendered geometry [2508.03852]. The stated goals are to enable BLV programmers with basic coding skills to understand, edit, and iterate on 3-D models independently; provide multimodal descriptions combining code, LLM-generated text, and rendered images; expose a semantic hierarchy of components; offer version control for human and AI-suggested changes; and introduce a cross-representation highlighting mechanism that synchronizes selection across code, hierarchy, textual description, and rendered view.

The system is implemented as a Flask web application. Its embedded components include an OpenSCAD engine that generates 3-D meshes and six orthographic renderings plus a default $3/4$ view; an LLM backend based on GPT-4o that uses multimodal prompts containing OpenSCAD code, multi-angle rendered images, and natural-language queries; a version-control subsystem tracking human edits through a line-based LCS diff and AI-driven edits from chat commands; a hierarchical model representation derived from parsing OpenSCAD modules and primitives into an AST-inspired semantic tree; and an accessible description generator that consolidates code modules and images into concise summaries, per-component detailed descriptions, and a change list when models are modified.

Cross-representation highlighting is the central interaction pattern. On selection of a code line, hierarchy node, or description segment, the system highlights the corresponding code block, expands or focuses the semantic hierarchy node, colors and semi-transparently emphasizes the mesh component in the rendered view, and can optionally play an audio cue for screen-reader users. The interaction loop is iterative: code edits trigger rerendering and refreshed descriptions; chat commands yield suggestions or patch code and are logged in version history; hierarchy navigation triggers synchronized updates across views. The design treats code, semantic structure, textual explanation, and rendered geometry as mutually linked representations of the same model.

## 5. Algorithms, interface design, and empirical findings in the BLV system

The semantic hierarchy is constructed by parsing OpenSCAD into an AST of modules and primitives, then collapsing nested modules into a tree whose nodes contain a name, parameters, and children [2508.03852]. Synchronization is event-driven: a selection event identifies a component ID or code-line range, after which the editor highlights the relevant lines, the hierarchy selects the corresponding node, the renderer highlights associated mesh regions, and the AI description panel focuses the associated text block. Change tracking maintains code versions $V_0,V_1,\dots,V_n$, computes diffs between successive versions with a standard line-wise LCS procedure, and summarizes each diff chunk with an LLM prompt. The resulting records are represented as JSON entries with `startLine`, `endLine`, and `description`.

The interface is organized into three panels. The Code Editor panel contains an accessible textarea for OpenSCAD code with ARIA landmarks and screen-reader labels, keyboard shortcuts such as `Ctrl+S`, `Ctrl+Shift+1–6` for orthographic views, and `Ctrl+Shift+0` for the default view, as well as an Error Log and human-edit diff list. The AI Assistance Panel provides a chat input box, AI feedback in summary, per-component detail, and code-change-list sections, and a version-history browser. The Model Panel contains the hierarchy tree and the render view. The documented workflow includes entering `sphere(10);`, selecting the sphere in the hierarchy to trigger synchronized highlighting, issuing a chat command such as “Scale to elliptical shape 0.5×1.0×0.5.” to obtain `scale([0.5,1,0.5]) sphere(10);`, and switching to a front view with `Ctrl+Shift+4`.

Evaluation used a multi-session study with four BLV programmers aged 21–32, with varied vision levels, 1–10+ years of coding experience, and no prior OpenSCAD experience. Sessions were remote via Zoom, approximately 2.5 hours each, spaced over 11 days, and consisted of a tutorial, guided tasks, and a free-form project. Quantitative metrics included task completion, SUS score on a 1–100 scale, and log counts of hierarchy navigation, verification loops, and version-control use; qualitative data came from think-aloud transcripts and semi-structured interviews analyzed with a grounded codebook. A separate validation study asked 15 sighted participants to rate LLM-generated descriptions of eight models on five 5-point metrics, yielding mean $\pm$ SD values of 4.12±0.86 for Geometric Accuracy, 4.25±0.84 for Spatial Relationships, 4.28±0.86 for Clarity, 4.11±0.91 for Completeness, and 4.52±0.74 for Hallucination Avoidance.

All four participants successfully completed both guided tasks and free-form projects, producing 12 total models, including a Tanghulu skewer with bite, a standing robot with trailer, a helicopter, a rocket, a circuit board, and a wheeled cart. The mean SUS score was 80.6, with one slightly lower score attributed to OpenSCAD novelty rather than system issues. Structural issues such as misaligned propellers and intersecting landing gear persisted, which the study attributes to the limits of purely textual verification. Three emergent workflows were identified: manual-centric, balanced, and AI-centric, with the balanced mode reported as most common. Participants also developed an incremental AI-verification loop, used semantic hierarchy and version control for backtracking, relied on real-world metaphors to ground descriptions, and calibrated trust by shifting toward component-by-component prompting after early failures with larger prompts. The reported limitations include dependence on GPT-4o, poor scaling to complex primitive-based models, lack of proactive model validation, absence of tactile confirmation, and restricted insight into long-term learning or fatigue. Proposed future directions include tactile displays, rapid prototype printing with audio or haptic tagging, automated spatial validation, domain-specific LLM fine-tuning, low-code extensions, and educational deployment.

## 6. Accessible shape palettes and perceptual optimization

In visualization research, A11yShape denotes an empirically grounded approach to designing accessible shape palettes for multi-class scatterplots, motivated by the fact that shape-only encodings are important for color-impaired viewers yet are not well described by a simple numerical feature space [2408.16079]. The work evaluates 39 shapes through four experiments and then builds a recommendation model based on pairwise relations rather than conventional geometric descriptors such as angles, fill, or convex hull.

Experiment 1 used relative mean judgment tasks with 27 shapes across category counts $N=2$ to $10$, measuring accuracy. Shape-type significantly affected accuracy, with $\chi^2(6)=18.28$, $p=0.006$. Open shapes alone gave the highest mean accuracy, approximately 83%, but only up to $N=7$; three-type palettes combining filled, unfilled, and open shapes were most robust for $N=3$ to $7$, at approximately 88%; two-type palettes helped for small $N$ but degraded rapidly as $N$ grew; and overall accuracy fell from approximately 95% at $N=2$ to approximately 50–60% at $N=10$. Experiment 2 evaluated five tool-provided palettes from D3, Excel, Matlab, R, and Tableau using ten random subsets for each palette and category count. Palette choice significantly affected accuracy, with $\chi^2(4)=4.64$, $p<.0001$; D3 and Excel were most robust, while Matlab excelled for $N\leq 7$. Experiment 3 asked 21 visualization experts to select ideal 10-shape palettes from a pool of 39 shapes; cosine similarity analysis showed high diversity, with mean cosine similarity approximately 0.35 and $\sigma=0.28$, indicating no shared heuristic. Experiment 4 studied correlation estimation and pairwise distances for all category counts from 2 to 10, using progressive sampling over the $\binom{39}{2}=741$ shape pairs. Both category count and specific pair mattered, with $F(2,148497)=4430$, $p<.0001$, and $F(740,147759)=1.46$, $p<.0001$; overall accuracy fell from approximately 96% at $N=2$ to approximately 40% at $N=10$; and low-density open shapes such as a simple cross were unusually robust at high $N$. Final validation showed a strong negative correlation of $r=-0.96$ between predicted rank and actual error.

The formalization begins with overall accuracy,
$$
\mathrm{Acc}=\frac{1}{T}\sum_{t=1}^T \mathbb{1}[\hat y_t=y_t],
$$
pairwise accuracy,
$$
A_{ij}=\frac{C_{ij}^{\text{correct}}}{C_{ij}^{\text{total}}},
$$
and dissimilarity,
$$
D_{ij}=1-A_{ij}.
$$
Palette recommendation is then cast as optimization over a target size $k$ and a shape universe $\mathcal S$ of size 39. Two objectives are specified: maximizing the minimum pairwise dissimilarity within the selected set,
$$
\max_{S\subset\mathcal S,\;|S|=k}\min_{i,j\in S,\;i\neq j} D_{ij},
$$
and maximizing average dissimilarity,
$$
\max_{S\subset\mathcal S,\;|S|=k}\frac{2}{k(k-1)}\sum_{i<j\in S}D_{ij}.
$$
Extensions permit user-fixed seeds $S_0$, weighted objectives $\sum_{i<j\in S} w_{ij}D_{ij}$, and a user-swap step that recomputes the recommendation after a manual substitution. The pseudo-code implements a randomized search over candidate subsets under an iteration budget $M$ and returns the set with the highest score.

The design guidance is scale-dependent in the number of categories. For small $N$ from 2 to 4, mixed-type palettes such as filled plus open yield the highest accuracy, approximately 95% at $N=2$ to $3$. For medium $N$ from 5 to 7, three-type palettes or a strong open-shape bias are most robust, approximately 85–90%, and low-density open shapes such as simple plus and asterisk are recommended. For large $N$ from 8 to 10, two-type palettes combining only filled plus open or unfilled plus open should be avoided, and palette construction should emphasize maximum mutual dissimilarity $D_{ij}$. The accessibility guidance further recommends varying silhouette complexity and density, ensuring differences in number of endpoints or vertices, line density, and symmetry or orientation, and avoiding very small or very thin features because they vanish under low acuity. A plausible implication is that accessible shape-palette design depends less on simple hand-crafted shape taxonomies than on empirically measured pair-specific confusability.

Source: https://www.emergentmind.com/topics/a11yshape