-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ENHANCEMENT] Integrate with the OSARA plugin, make Ultraschall accessible to blind podcasters #396
Comments
CC @jcsteh for info. |
I just checked the OSARA repo - and I can't find a "how to contribute" section that tells me, how we can be of service in terms of support for Ultraschall? |
OSARA uses MSAA direct annotation in a few cases to better label or describe some controls. However, this technique only works on Windows. When possible, it'd be better to use other techniques (more standard controls, etc.) in the GUI code. For situations where there is a very visual UI which is very difficult to make accessible using standard accessibility conventions (e.g. REAPER's track view or MIDI editor), OSARA reports messages in response to REAPER actions. You can make OSARA report a message via the osara_outputMessage function registered with the REAPER API. The function signature is:
I don't know anything about Ultraschall, so I have no idea what the best approach would be here. I'm happy to answer questions specific to OSARA, but I'm not able to help with work on this beyond that. |
I think what is most important is to get Ultraschall's various windows into an accessible state. I couldn't figure out which UI framework is being used. It doesn't look like standard C resources to me, which on Windows translates to the Win32 MFC dialogs. OSARA itself annotates a few REAPER windows with better accessibility, using Microsoft's IAccessibleProvider interface, see the big file https://github.com/jcsteh/osara/blob/master/src/reaper_osara.cpp starting on line 3802. Also, for an example of a framework that is now making its controls accessible, see the Juce accessibility effort announcement. |
Thank you both for clarification. |
Ah. You're correct: if you're using REAPER gfx, there's no way you can make that accessible. :( The only thing you could do is push messages to OSARA, but that would be very suboptimal accessibility. |
It's currently not possible, due a lot of issues on Reaper's side. The used UI-framework in Ultraschall doesn't support tabbing through UI-elements which is an essential element for navigating through it. It's also important to keep in mind, that the various workflows would need to be improved for accessibility as well, as a lot of them probably rely to heavily on being able to see what's happening. Means: a proper GUI-framework is needed, AND people who need and know how to work with accessibility to design this properly. It's probably enough work to justify a release dedicated just to this. |
New gui-framework that is accessible is in the works... |
Will be worked on in Ultraschall 6 over a period of releases. |
Is your feature request related to a problem? Please describe.
Ultraschall is currently not very accessible to blind podcasters. All the benefits therefore aren't available to us that Ultraschall offers.
Describe the solution you'd like
The OSARA plugin allows blind people to use Reaper. It enhances the UI in several ways, adds custom actions and keyboard shortcuts to make working with Reaper an absolute breeze.
It also shows several techniques that could be used in Ultraschall to make it accessible. It is a safe bet to assume that, if OSARA is installed, there is a visually impaired user using Reaper. Therefore, Ultraschall could include conditional enhancements and use the annotations techniques in reaper_osara.cpp to roll their own annotations for controls that are currently inaccessible.
Describe alternatives you've considered
There are really none. For accessibility to work, there must be certain APIs used that communicate otherwise purely visual meaning to screen readers and other assistive technologies.
Additional context
Putting this here in English even though I am German and the project is mostly in German, so the original author of OSARA can be included in the discussion if need be. He's from Australia and doesn't speak German.
The text was updated successfully, but these errors were encountered: