asb2m10 / dexed

DX7 FM multi plaform/multi format plugin
GNU General Public License v3.0
2.78k stars 241 forks source link

DEXED for Windows and screen reader accessibility for blind users #238

Open Luke-Robinett opened 3 years ago

Luke-Robinett commented 3 years ago

Hi. I'm blind and rely on special software called a screen reader to access my computer. In simple terms, a screen reader speaks aloud the contents of the screen as the user navigates using the keyboard. I find that the DEXED VST plugin for Windows does not support screen readers nor keyboard navigation, from what I can tell. I don't need access to all the deep editing parameters because I can easily map those to physical controls on my MIDI controller, but I do need the ability to load cartridges and programs easily and I cannot figure out how to do this without being able to see the DEXED UI. Is there some way the program can be enhanced to allow blind users to load carts and programs? Even if there's a way I can open the Cartridges folder in Windows, right-click the cartridge I want and maybe have a "Load in DEXED" context menu option appear, for example. Thank you for any help/ideas.

asb2m10 commented 3 years ago

The entire user interface is based on JUCE, which is a common framework used by developers to make plugins. Adding those features would require me to modify this framework and afterward maintain it.

I've double check and JUCE doesn't yet support screen readers but they are aware that users are asking for this feature. I would suggest that you add your voice to some of the issue that is already opened.

Also, I see that "Pro Users" of JUCE are taking seriously accessibility in this survey for 2019. Let's hope they are working on this.

Once it is included in JUCE, I will make sure we support the accessibility API correctly.

Is there some way the program can be enhanced to allow blind users to load carts and programs? Even if there's a way I can open the Cartridges folder in Windows, right-click the cartridge I want and maybe have a "Load in DEXED" context menu option appear, for example.

I can add a keyboard shortcut that would open the Windows file chooser in the Dexed cartridge folder and from there you could load the file (cartridge). This is easy to implement.

Luke-Robinett commented 3 years ago

Hi Pascal, I truly appreciate this thorough and helpful response! I will take your advice on reaching out to the developers of that software framework for more assistance. I also like the idea you have for providing keyboard access to loading cartridges. Frankly I don’t plan on messing around much with the FM parameters, and I can already access those by mapping them to my physical controller, so it’s really just loading modules. I really just want to throw in some DX7 factory sounds and call it good, as that fits the needs of the project I’m working on.

Thanks again!

On Sep 30, 2020, at 8:31 PM, Pascal Gauthier notifications@github.com wrote:

 The entire user interface is based on JUCE, which is a common framework used by developers to make plugins. Adding those features would require me to modify this framework and afterward maintain it.

I've double check and JUCE doesn't yet support screen readers but they are aware that users are asking for this feature. I would suggest that you add your voice to some of the issue that is already opened.

Also, I see that "Pro Users" of JUCE are taking seriously accessibility in this survey for 2019. Let's hope they are working on this.

Once it is included in JUCE, I will make sure we support the accessibility API correctly.

Is there some way the program can be enhanced to allow blind users to load carts and programs? Even if there's a way I can open the Cartridges folder in Windows, right-click the cartridge I want and maybe have a "Load in DEXED" context menu option appear, for example.

I can add a keyboard shortcut that would open the Windows file chooser in the Dexed cartridge folder and from there you could load the file (cartridge). This is easy to implement.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Luke-Robinett commented 2 years ago

Hi, @asb2m10 ,

It's been a while but I was messing around with Dexed again recently and wondered if you're aware of any updates to the framework? You mentioned in your older reply about adding a keyboard shortcut to show the file browse dialog for loading a model - did you have a chance to add that? Thanks again!

pbsinnett commented 2 months ago

Hi,

Figured I'd comment here instead of opening a new issue for the same thing. The latest version of Juce has definitely implemented accessibility.

Would it be possible to look into making this wonderful plug-in accessible? I've included a link to the Juce accessibility docs below.

https://docs.juce.com/master/group__juce__gui__basics-accessibility.html

I'd be more than happy to help test any accessibility related changes.

Thanks!

asb2m10 commented 2 weeks ago

Hi @pbsinnett and @Luke-Robinett

I'm currently implementing accessibility for Dexed and your input will be essential since I have no background in this field. I will soon provide "developer builds" that you will be able to use and off course provide feedback.

From what I understood, keyboard navigation is essential right ? What platform should I focus on testing, macOS or Windows ? What is the right "accessibility" that I should enable on my side depending on the OS ?

The guys at Surge-Synth project were kind enough to provide a #dexed channel on their discord server in the "Surge Synth Friends" category. Feel free to discuss this over there.

https://discord.com/invite/spGANHw

I'm waiting for your feedback.

pbsinnett commented 2 weeks ago

Fantastic news!

My primary OS is Windows. Windows has a built-in screen reader called Narrator which can be activated with the shortcut Ctrl+Win+Enter. It isn't the best though, but it'll let you see what it's like to use a screen reader. Turning it off can be accomplished with the same shortcut.

Many of us download something better. There are two screen readers most people use. One is NVDA, the other is JAWS. Considering JAWS is around $1000 and NVDA is free, testing with NVDA makes the most sense.

You can get NVDA from here.

On macOS, the built-in screen reader is called VoiceOver. It's the only option for now. VoiceOver can be enabled with Command-F5. If your keyboard has Touch ID, hold the Command key and press Touch ID three times fairly quickly.

I'll be monitoring the Discord channel if you have any other questions and do my best to answer, or at least point you in the right direction.

HTH