steinbergmedia / vstgui

A user interface toolkit mainly for audio plug-ins
Other
850 stars 121 forks source link

Requesting accessibility implementation, expose GUI controls to platform specific APIs #276

Open ScottChesworth opened 1 year ago

ScottChesworth commented 1 year ago

Hi,

I'm a totally blind producer who's using keystrokes and screen reader software to compose, record, mix and master audio. FYI, several DAWs have solid accessibility implementations nowadays (REAPER, Pro Tools, Logic, Samplitude). Adoption of good accessibility practices is increasing among plug-in devs too, in large part since JUCE have provided functionality to expose standard and custom controls to native accessibility APIs on Windows, Mac OS, iOS and Android. One recent and very thorough example of an open source accessibility implementation is Surge XT, @baconpaul took the instrument from being an inaccessible blackbox all the way through to being a joy to use with any Windows screen reader and VoiceOver on Mac.

Right now, plug-ins and instruments built using VSTGUI aren't accessible to screen reader users on any platform. I'm opening this issue in the hope that this situation can be improved. I found a request from 2021 on the Steinberg forum, although there hasn't been any followup activity since then best I can tell: https://forums.steinberg.net/t/accessibility-with-vstgui/751087

So I guess the first question is, who do I need to talk with round these parts? :)

Any and all advice/pointers appreciated.

baconpaul commented 1 year ago

Hi @ScottChesworth

Before I ported Surge from VSTGUI to JUCE I took a look at doing this. We decided to port off of VSTGUI for a variety of reasons, but I still have the diffs around I started when I thought I would fork this in myself. I was able to at least get the navigation accessibility tool showing me some basic locations. Didn't get it working though and then we moved off of VSTGUI so didn't invest in finishing it.

https://github.com/surge-synthesizer/vstgui/compare/surge...baconpaul:vstgui:accessibility

I don't know if that's of any help to the team here but didn't want to not mention it.

scheffle commented 1 year ago

Hi @ScottChesworth, VSTGUI is open source software, in contrast to the JUCE library no one is paid to implement features in the VSTGUI library. Maybe software companies making money with VSTGUI can fund a developer to integrate accessibility into VSTGUI. Best would be to write to these companies and make them aware that they have users requesting this.

ScottChesworth commented 1 year ago

I could do a whip round, try to hustle up some financial support. If anyone can suggest specific companies with commercial products built on VSTGUI as starting points, leads would be much appreciated. So far, I think all of the products I've encountered firsthand have been from indie devs.

baconpaul commented 1 year ago

Many (all?) of the Steinberg plugins are built on VSTGUI, and Serum is also still I think, if that helps.

ScottChesworth commented 1 year ago

Gotcha, thanks. If I can find some sponsorship, would you be open to putting more work into that fork you started @baconpaul? Zero pressure of course, just figured it's worth asking seeing as we're here exploring options.

baconpaul commented 1 year ago

I'm happy for anyone to take that code and do whatever they want with it but I'm not working on VSTGUI myself in 2023. I have a bunch of other synths to work on (including making them accessible :) )

baconpaul commented 1 year ago

Also that fork may be junk. Like I said it was just an initial poke at it.