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 menu screen with a label, buttons, a dropdown list, a toggle, a slider, a text edit box and a scroll list.

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!

3 thoughts on “Unity Accessibility Plugin – Update 8 – Supported UI Elements

  1. 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.

    Like

  2. Lauren says:

    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?

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s