VoiceOver Support

I’ve used GUI.Button in my iphone game. I just checked and the buttons are not recognised or usable when VoiceOver is turned on. Is there a way to get them supported by VoiceOver?

VoiceOver Information: Introduction

thanks,

Brenda

Unity does not support voiceover nor should it be touched by it.

I would expect that it is more a matter of a UIView that was pushed over as modal for example which then will catch 100% of the touch events even if it isn’t visible for example

I’m currently involved in developing a tablet/mobile game that has its own (more game-like) interface made to be usable by both visually impaired and other users without being obstructive for either. Problem is that having VoiceOver active on the device cancels all touch input once we’re inside the Unity application. You can clearly hear the standard VoiceOver touch sounds but our touch input does not affect the game. We’re using no third-party assets aside from NGUI (and we’re only using NGUI sparingly for rendering). Is this something that we could fix in the generated xcode project?

This is also an issue in our Android builds but I’m guessing that’s another can of worms.

Sorry for necromancing an old thread but I couldn’t really find any other information about this issue. Is it better to create a new topic for issues like this?

It’s better to provide custom voice over support for you Unity game rather than rely on accessibility. Here is an example of how to do this using our plugin: http://unity3d.tutsmobile.com/paco-the-taco-teaches-spanish-speech-synthesis-text-to-speech-with-unity3d/

We are providing our own custom voice over support though but the problem is that with accessibility VoiceOver active on the device our touch handling gets overridden. This is pretty much a showstopper for us since without the normal accessibility features on our players won’t be able to navigate the normal iOS menus and start the game.

Ah okay. I wonder if the issue is at the OS layer or Unity. Either way, would it benefit you to have the raw touch objects from the OS as events? That means you’ll need to marshall them to whatever GUI package you are using.

Hmm. I guess that could solve the problem, depending on where the problem lies. If I’m interpreting Dreamora correctly and what happens is that Unity creates some kind of UIView that catches all the touch events before they affect Unity then I would assume that we could use the raw touch objects but we would still have the problem of the VoiceOver touch sounds playing as if the user is not touching anything interactive. Is this correct? Would feeding data to the device through your plugin override this UIView in some way?

Just replying for anyone else with this issue. This has been confirmed as bug by Unity and they’ve provided me with the following fix while waiting for it to go into a future version of Unity. Modify the Unity generated xCode project as follows.

"As of Unity 4.5 you can fix this issue by adding the following:

self.isAccessibilityElement = TRUE;
self.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction;

to Classes/UI/UnityView.mm in UnityView initWithFrame function. The fix for 4.3 is similar."

I know this thread is old, but I thought it is worth posting, since everybody with the same question will probably end up here thanks to Google - it’s how I ended up here too.

For the past year I worked on a plugin that recreates screen reader functionality for Unity UI. It works like VoiceOver and TalkBack, and uses the native VoiceOver speech for text-to-speech output. It’s already supporting iOS and Android and I’m now focusing on making it work on Windows with the most common screen readers as well.

It just got approved by Unity last night:

Thanks for the post! @mikrima

@mikrima - I’ve just happened upon this thread thanks to Google :slight_smile:

I look forward to integrating your plugin into my app in the coming weeks - thanks so much for making it!

BTW: This is the updated UnityStore link to your plugin: UI Accessibility Plugin (UAP) | GUI Tools | Unity Asset Store

Apart from this plugin, are there any improvements developed by Unity? Almost ten years have passed, I wonder if there are any changes.

does this work with UI toolkit?