UI Accessibility Plugin
Version 1.1.1
Make your UI accessible for visually impaired users
|
UAP ships with a Navigation Example scene (for uGUI and NGUI) and a complete playable accessible Match 3 sample game.
Note: If you want to release your app or have no more need for the examples, it is safe to remove the entire Examples folder without affecting the plugin's functionality.
The Examples folder contains a complete accessible Match 3 game which demonstrates the use of the plugin.
The UI used in the Match 3 game example was created by Vasili Tkach. It is available for free here: Funtique UI by Vasili Tkach
To make the gameplay more streamlined for blind players, who cannot see the entire board, the remaining moves and the goal listing, the demo project adds a few helpful usability features.
Usually, all screen elements are navigated with left and right swipes, one by one.
This one-dimensional navigation doesn't make sense for a game that is based on a two dimensional grid.
In a Match 3 game, gems can be swapped with their direct neighbors in all directions. So it makes sense to let blind players explore the play area in two dimensions, too.
The navigation type can be set individually for each UI Group.
To make a group use 2D navigation instead of the regular left and right grid, enable the checkbox 2D Navigation in the Navigation section in the group's properties.
When this is enabled, swiping up and down will not jump to the next group, but to the UI element below the current one. On Windows, the navigation is done with the left, right, up and down arrows.
When the bottom of the play grid is reached, and the user swipe right or down again, the plugin would jump to the next UI Group.
This could be irritating because a blind player doesn't know when the border is reach and will accidentally leave the play grid.
Instead you can constrain the navigation to stick to the group in each direction. When this is enabled, a sound effect will play when the user has reached the borders of the grid and navigation will stop.
Note that with this the only way for the player to leave the UI group is by using Touch Explore to find the other elements on the screen.
If you constrain the navigation make sure to offer other options for the users to leave your game again, such as a Magic Gesture.
Whenever gems are destroyed, the game plays an animation and updates the level goals.
To avoid clashing with input from the player during this time, the game asks the plugin to temporarily suspend accepting input. Once all animations have finished, the suspension is lifted and the game can continue.
You can block input temporarily using UAP_AccessibilityManager::BlockInput().
This function will suspend input, but will not disable accessibility altogether, meaning features like Text-To-Speech will still work.