Blog Accessibility 10 min read

Blind Producer — Screen-Reader-Friendly Gamepad MIDI

A production-grade workflow for blind producers. Reaper + OSARA, gamepad-driven transport, MIDI CC for mixing by ear, haptic confirmation. Specific keystrokes.

By Aidxn Design

A blind producer gamepad rig solves a specific problem that mouse-driven DAWs do not — it gives a physical, predictable input surface whose buttons and sticks are in the same place every time, regardless of what is on the screen. Combine that with Reaper + OSARA and a screen reader (NVDA, JAWS, or VoiceOver) and you have a working production setup that does not depend on sighted UI navigation. This guide covers the specific software stack, the exact keystrokes that matter, and the gamepad bindings that complement the screen reader without fighting it.

TL;DR
  • DAW: Reaper + OSARA. Free with the OSARA extension; the most accessible DAW available.
  • Screen reader: NVDA (free, Windows), JAWS (paid, Windows), VoiceOver (built-in, macOS).
  • Gamepad role: tactile transport + continuous MIDI CC for mixing by ear, complementing the screen reader rather than competing with it.
  • Bridge: Universal Controller MIDI, fully keyboard-accessible UI, every preference reachable by Tab.

The accessibility stack that actually works

The hard truth in 2026 is that most DAWs are not screen-reader-friendly, and the ones that are usable required years of community work to get there. OSARA is the project maintained by James Teh and contributors that adds the announcements and command coverage Reaper needs to be usable with NVDA, JAWS, and VoiceOver. It is the de-facto standard for screen-reader-driven DAW work.

DAWScreen-reader supportVerdict
Reaper + OSARAExcellent (maintained, active)Use this
Logic Pro + VoiceOverWorkable, uneven across versionsMac-only fallback
Pro Tools 2023+Improved, still incompleteStudio-environment fallback
Ableton LiveEffectively noneAvoid
FL StudioEffectively noneAvoid
BandLabBrowser-level only, not music-awareAvoid for serious work

The choice is essentially Reaper. The rest of this guide assumes that stack. Logic with VoiceOver works for some producers but the experience is brittle — a Logic update can break a workflow that worked yesterday, and Apple has not published a screen-reader API contract for Logic the way the OSARA team has for Reaper.

OSARA — the specific commands worth memorising

OSARA's command surface is large. These ten cover most session work and are the right starting set. Run Help → User Manual in Reaper after installing OSARA for the full list.

# Core OSARA / Reaper keystrokes
Tab            Move focus to next control
J / K          Previous / Next track
Down / Up      Move down / up tracks (alternate)
Space          Play / stop
R              Record toggle
Cmd+S          Save project
Cmd+Z          Undo
M              Mute selected track
S              Solo selected track
F2             Rename selected track / item
Cmd+Shift+M    Report mixer state (volumes, mutes)
Cmd+Shift+T    Report tempo / timebase
Cmd+Shift+P    Report play position in bars+beats

The "report state" commands are the screen-reader-specific affordances OSARA adds. Cmd+Shift+M reads out every track's volume and mute state in sequence. Cmd+Shift+P announces the current play head position to the nearest tick. These replace the visual mixer panel and the timeline ruler.

Universal Controller MIDI — keyboard-first UI

The bridge UI was built keyboard-accessible from the ground up because mapping a controller while blind is a chicken-and-egg problem if the mapping UI is mouse-only. Every preference field has a labelled control. Tab order is logical (top to bottom, left to right). The mapping editor announces "Cross button mapped to MIDI note 36, channel 1" when focus lands on a mapping row.

On Windows the bridge announces via UI Automation (NVDA, JAWS). On macOS it announces via the standard AppKit accessibility tree (VoiceOver). The bridge ships with three pre-built screen-reader-friendly presets so you do not have to build one from scratch on day one.

Gamepad mapping — transport on buttons, CCs on sticks

The mapping principle: buttons fire discrete actions (which the screen reader announces); sticks send continuous CCs (whose effect is audible, no announcement needed).

{
  "preset": "blind-producer-reaper",
  "channel": 1,
  "buttons": {
    "cross":    { "type": "shortcut", "key": "space",   "label": "Play/Stop" },
    "circle":   { "type": "shortcut", "key": "r",       "label": "Record" },
    "square":   { "type": "shortcut", "key": "m",       "label": "Mute track" },
    "triangle": { "type": "shortcut", "key": "s",       "label": "Solo track" }
  },
  "dpad": {
    "up":    { "type": "shortcut", "key": "j",   "label": "Prev track" },
    "down":  { "type": "shortcut", "key": "k",   "label": "Next track" },
    "left":  { "type": "shortcut", "key": "left",  "label": "Cursor back 1 beat" },
    "right": { "type": "shortcut", "key": "right", "label": "Cursor forward 1 beat" }
  },
  "sticks": {
    "left_x":  { "type": "cc", "number": 7,  "label": "Selected track volume" },
    "left_y":  { "type": "cc", "number": 10, "label": "Selected track pan" },
    "right_x": { "type": "cc", "number": 1,  "label": "Filter cutoff (focused plugin)" },
    "right_y": { "type": "cc", "number": 71, "label": "Resonance (focused plugin)" }
  },
  "haptics": {
    "record_armed": { "trigger": "L2", "resistance": 0.7 },
    "playback":     { "rumble": "low", "intensity": 0.2 },
    "track_muted":  { "rumble": "pulse", "duration_ms": 80 }
  }
}

D-pad up/down moves between tracks — the screen reader announces the new track name. Cross plays and pauses, no announcement needed (the audio is the feedback). Sticks ride continuous controls whose effect is heard immediately.

Mixing without meters

Visual meters are a shortcut, not a requirement. Blind engineers have mixed records since multi-track tape, well before any visual meter existed. The techniques scale to a modern DAW:

Listen to peaks numerically. OSARA announces peak values on demand. Bind Cmd+Shift+M to a controller button and you get the full mixer state on one button press.

A/B against a reference. Load a reference track on a muted track, bind a button to "swap mute states between selected and reference track". A/B switching by ear is more accurate than reading a LUFS meter anyway.

Use Reaper-native plugins. ReaEQ, ReaComp, ReaXComp, ReaVerb all expose their parameters as labelled controls. Every parameter is reachable by Tab, every value is announced. Third-party plugins with custom UIs (UAD, Waves, FabFilter) often skip the screen reader entirely — for those, bind the parameters to MIDI CCs and ride them with the sticks. The audible result is the feedback.

The plugin accessibility gap

This is the unsolved problem. Most commercial VST plugins use custom-drawn UIs that have no screen-reader hooks. The AccessibleVST initiative is pushing plugin vendors to expose parameter names and values via the VST3 API, but adoption is slow. In the meantime the workaround is mapping every plugin parameter you care about to a MIDI CC and controlling it via the gamepad — the screen reader does not need to read the plugin UI if the parameter is hooked to a labelled hardware control.

Pair this with the Reaper gamepad workflow guide for the MIDI Learn details, and the one-handed setup if mobility is also a factor. The Universal Controller MIDI bridge is free to download; the Pro tier adds the custom-mapping and haptic-feedback features that make the blind-producer workflow above complete.

Keep reading

More setup walkthroughs