Hello everyone,
I hope you are doing well.
I would like to ask if there is currently a way (or any plans) to provide an API in Orca similar to what NVDA offers on Windows through nvdaControllerClient.dll.
In NVDA, developers can send text directly to the screen reader to be spoken immediately, regardless of what is currently focused on screen. NVDA temporarily pauses normal screen reading and speaks the provided text instead. This is extremely useful for accessibility-focused applications.
My use case:
I am currently developing an educational application designed for blind users to learn typing skills.
In this type of application, I need to send very specific instructional messages to the screen reader, such as:
- “Press the letter A using your left pinky”
- “Press the letter J using your right index finger”
- “Press the letter Q above the left pinky”
These instructions are not necessarily tied to UI elements or focus changes, so relying on standard accessibility events is not sufficient.
What I am looking for:
Ideally, I would like:
- A way to send arbitrary text directly to Orca’s speech output
- The ability to interrupt current speech
- Consistent behavior regardless of the currently focused UI element
Questions:
- Is there an existing API, DBus interface, or method in Orca that allows this?
- If not, what would be the recommended approach to achieve similar behavior?
- Are there any plans to support something like this in the future?
Additional notes:
I am aware of tools like spd-say (Speech Dispatcher), but they do not integrate tightly with Orca’s speech management (e.g., interrupting, prioritization, respecting Orca settings, etc.).
What I am looking for is deeper integration with Orca itself, similar to how NVDA exposes control through its controller client.
Thank you very much for your time and for the amazing work on Orca.