Accessibility engineering project
Pro Tools: building VoiceOver support for professional audio software.
Pro Tools is the industry standard digital audio workstation used by professional engineers, musicians, and producers worldwide. While it has partial VoiceOver support for core mixing functions, significant parts of the interface remain inaccessible, including plugin parameter controls and application startup status. I built a custom macOS accessibility layer to fill those gaps.
What this project shows
Professional software does not always ship with complete accessibility. Sometimes you have to build what is missing.
As a blind audio engineer with over 10 years of Pro Tools experience, I rely on VoiceOver to navigate my sessions. When I hit accessibility gaps that blocked my workflow, I built solutions using macOS Accessibility APIs and framework-level integration to expose hidden interface elements to VoiceOver.
Skills demonstrated
- Objective-C runtime and macOS framework integration
- NSAccessibilityElement hierarchy construction
- Framework method interposition for status capture
- Reverse engineering inaccessible UI component structures
- Deep domain knowledge in professional audio workflows
What I built
Two distinct accessibility improvements for Pro Tools, each solving a different kind of gap.
Plugin parameter access
Third-party audio plugins in Pro Tools expose their visual controls to sighted users but provide no accessibility information to VoiceOver. I built a system that discovers hidden plugin parameters and presents them as VoiceOver-readable sliders with real-time value readback. This turns 39 previously invisible controls into accessible, navigable interface elements.
Startup status announcements
When Pro Tools launches, it displays a splash screen with loading status messages that are invisible to VoiceOver. I built an integration that captures these status messages by intercepting the framework method responsible for updating the splash screen text, then surfaces them to screen reader users during startup so they know what the application is doing.
Why this work matters
Pro Tools is not just any app. It is the tool that professional blind audio engineers depend on to do their jobs. Every inaccessible control is a moment where a blind engineer has to stop, ask for help, or work around a limitation that sighted colleagues never encounter. Making these controls accessible removes friction from real professional workflows.
Technical approach
Platform-level integration using macOS accessibility frameworks.
Accessibility element construction
Each discovered plugin parameter becomes a fully specified NSAccessibilityElement with the correct role (slider), label (parameter name), value (current setting), and position. VoiceOver treats these elements as native controls.
Framework interposition
Startup status messages are captured by interposing on the internal framework method that updates the splash screen. This approach reads the text as it changes without modifying the application's behavior or visual presentation.
Domain-informed design
Decisions about which parameters to surface, how to label them, and how to organize the accessibility hierarchy are informed by over a decade of daily Pro Tools use. The accessibility layer matches the mental model a working audio engineer already has.
Broader context
This is the kind of work that bridges the gap between accessibility evaluation and engineering implementation.
Most accessibility professionals can identify that a control is inaccessible. Fewer can build the fix at the platform level. This project demonstrates both: identifying the accessibility gap from a real user's perspective and engineering the solution using macOS frameworks, Objective-C runtime integration, and deep knowledge of how assistive technologies interact with native applications.
Built with
- Objective-C and macOS Accessibility APIs
- NSAccessibility protocol implementation
- Framework method interposition
- Runtime introspection for UI element discovery
Want to see more of my work?
The portfolio includes web and mobile accessibility audits alongside these engineering projects.