Multimodal Accessibility Study

Focus Accessibility, sonification, speech, keyboard navigation
Creator Gary Boodhoo
Status Active development
Document updated September 8, 2026
Website https://roster.garyb.design
Repository https://github.com/skinjester/ROSTER

Experience it

https://roster.garyb.design

ROSTER is currently tested on desktop browsers. Minimum viewport width is 1440 px. Touchscreen interaction has not yet been evaluated. Turn ROSTER Voiceover on and explore with your mouse, keyboard, or both.

Summary

ROSTER began with a question I first explored while working on Madden NFL 2003: could a roster support discovery instead of lookup? Rather than presenting ratings as rows in a table, ROSTER treats players as positions within distributions.

Version 3 extended that question beyond the visual interface: how can those same relationships remain perceivable when vision is not the primary channel?

The experiment combines keyboard navigation, sonification, and speech within the same interaction model rather than creating a separate accessibility mode.

lookup → discovery table → distributions visual → multimodal

Voiceover was not enough

I initially assumed extending ROSTER beyond the visual interface meant adding voiceover: reading the data labels aloud. Within an hour of development, fluid navigation exposed the problem: speech was too slow and too easy to interrupt.

That led to a different approach. Each channel needed a distinct job: pitched audio cues for direction and changing values, modulated ambient noise for proximity, and speech for identity and inspection.

<aside>

Speech identifies and confirms. Sound carries movement.

</aside>

What emerged

The accessibility work changed the interface itself. Solving for keyboard, sound, and speech did not produce a parallel mode; it exposed places where the visual design could be simpler and the interaction model clearer.

Keyboard navigation validated the interaction model. ROSTER v2 had already separated inspection, selection, and comparison after hover-to-compare proved too easy to trigger with a mouse. Because those actions represented distinct states rather than pointer gestures, they translated cleanly to keyboard input. The model survived the change of input because it was based on intent, not device behavior.

ROSTER 2 summary

Sound became navigation, not narration. Ticks mark movement, dyads mark value changes, and the proximity layer indicates whether inspection is moving toward or away from the selected player. Audio carries relationships that would otherwise require more visual checking.

Speech became more useful when it stopped following every move. Waiting until movement settles lets voiceover carry identity, exact values, state, and confirmation without competing with navigation.