How to directly access accessibility features

Hello folks,

I’m trying to add screen reader support to my game. I know about Accessibility.Enable=1, and about the built-in TTS and ScreenReader plugins, however they don’t quite suit my needs. What I want is to be able to send data to a third-party screen reader like NVDA, so that my users can keep their customized reader settings.

The problem is that the only documentation I’ve been able to find just says “set Accessibility.Enable=1 and then all of your widgets are automatically accessible! :)” However, that’s not good enough for my needs. I want to be responsible for determining what text gets sent to the screen reader. Since UE has the widget accessibility system, I assume there is an API call I can invoke, buried somewhere in the engine, to send text to the screen reader, reset its buffer, etc. However, my attempts to find the answer by reading the engine source code have been unsuccessful.

Can anyone point me in the right direction? Thank you!

For anyone following up on this: I ultimately failed to just use Unreal Engine for this. Instead, I’m using the Tolk plugin: GitHub - dkager/tolk: Screen reader abstraction library.

Tolk is able to speak directly to a number of screen readers, including NVDA, so I just slotted it into a plugin and I’m good to go. Mind you, I had to modify the plugin to only load the Tolk DLL when gameplay started; otherwise it would hold onto other DLLs that it depends on, keeping open file handles that would prevent packaging from working. It wasn’t entirely straightforward. But the actual “using Tolk itself” part was easy enough.

1 Like