Unity Accessibility Plugin – Update 8 – Supported UI Elements

Contract Work has been keeping me busy the past two months, so I haven’t found the time to post any updates on this blog until today.

Still Alive, just not Blogging!

The internet is short lived – and people ask if you gave up on a project the moment you aren’t blogging about it daily (and spend your time working on it instead for example).
So here is a quick check-in-slash-update-slash-still-alive ping!

The post will be short and possibly full of typos – I’m still knee deep in contracting work and hard pressed to divide my time equally between work, play, work on side projects and sleep. The latter is drawing the short straw almost every night.

Full Windows Screen Reader Support

I recently added proper Screen Reader support for Windows to my feature wishlist after reading this excellent article by Ian Hamilton: Screen Readers and Game Engines

Ian and I had a great chat on Twitter and thanks to his article I learned about Tolk. Tolk is a screen reader abstraction library.

See, on Windows there is more than just one screen reader – users get to choose which one they prefer. Or which one they can afford. JAWS for example has a price tag around $1000.

Instead of writing custom code to support every potential screen reader out there, software could simply include Tolk. This greatly reduces the amount of code one has to write. Tolk then does the actual interfacing with the various screen readers. It currently supports six different screen readers.

This is on my future wishlist for now and I will have to investigate it further. Most likely I will release the plugin only for mobile first and then add Windows support at a later time. And then I will have to look into screen reader support for MAC. (No Linux planned at this point.)

Most UI elements now supported

As for the core of the plugin, the basic functionality of the plugin is complete for mobile. That doesn’t mean the plugin is ready to be released, just that it is working and usable. While that sounds like almost the same thing, it really is not. There is lots of code cleanup and refactoring to be done.

A screenshot of my test user interface.

Here is a complete list of UI elements that are now supported:

Labels

Drop-down Lists

Buttons

Toggles

Sliders

Scroll Lists

Text Edit Boxes (Windows and iOS only at the moment)

The scroll lists actually turned out to be quite tricky and need a little more coding love to handle special use cases. But that might actually deserve a blog post all on its own.

That’s it for today.
Still alive, still eating cake and still working on this plugin!

Share this:

Like this:

Post navigation

Hello Michelle,
There is a small group of blind programmers who are attempting to use Unity for game development:https://feedback.unity3d.com/suggestions/screen-reader-accessibility
We have nowhere near enough votes yet to even get the Unity developers interested, but for the most part, it is possible to develop in unity by just using the GUI for running the game with ctrl+p.
The next step in making the Unity development process as smooth as possible for blind developers is by having something like your accessibility plugin so we can easily interface with our screen readers and make UI elements that we can interact with.
I am wondering though:
Can your accessibility plugin wrap around the Unity GUI itself and not just the game? The unity interface is pretty usable, but there are just a few places that need some tweaking. (You can read my review of the interface above).
BTW, making something like tolk for OSX and Linux is much easier than on Windows. There is really only one screen reader on both those systems that games would need to deal with. For Linux it is Speech Dispatcher which runs Orca and is like tolk for Linux:https://devel.freebsoft.org/speechd
and on OSX there is Voice Over that I think just requires a say command, but I’ve never used a Mac.
If there was also support for Web browsers, the say command is super easy. Just add an element somewhere in the body like with a role=”status” tag then update the text in that element when ever you wish the screen reader to talk. There is also the speech API for the web browser and a couple TTS engines in Javascript.
There are also the speech clouds like Ivona and almost all TTS developers have that allow one to download compressed audio files of speech for all platforms.

Hi. I’m interested in having some more information about this plugin. I work for a dev studio using Unity and we have some customers who use VoiceOver that we would like to support. Would you be able to email me to discuss your plugin?