DEVELOPING MOBILE APPS FOR THE VISUALLY IMPAIRED

advertisement
DEVELOPING MOBILE APPS FOR
THE VISUALLY IMPAIRED
HEARTLAND COMMUNITY COLLEGE
Nicolaas tenBroek
Todd Simeone
WHO ARE YOU?
•
And why are you here?
HCC’S MOBILE CURRICULUM
Computer
Science I
Apps
Windows
Phone
Android
iOS
Games
Comm
Apps for
BLV
HOW WE BECAME INVOLVED IN
DEVELOPING APPS FOR THE BLIND
•
Independence Science
•
Desire for classroom apps on iOS
•
Chemistry
•
Basic Mathematics
•
Graphing
•
Advanced Mathematics
•
Other Educational Apps
ISSUES CONVERTING VISUAL INTERFACES
TO SUPPORT VOICEOVER
•
The amount of information conveyed by a visual interface is tremendous. Graphics and the
relationship between controls instantly convey functional information that would take
paragraphs of text to explain.
•
Animation and graphical gloss are often used to explain what is happening within an app.
•
Many common idioms simply do not transfer. For instance:
•
What does a “Back” button mean to someone who did not see the screen move “forward”?
•
“Pull down to refresh” is only meaningful because you saw the hidden setting when the
table bounced after scrolling to the top.
•
Items partially obscured by a translucent control instantly tell a sighted person that more
things are available, but overlapping controls will confuse a screen reader
ISSUES CONVERTING VISUAL INTERFACES
TO SUPPORT VOICEOVER
•
Most apps are designed to be used quickly and in non-ideal
circumstances, but screen readers take a long time to read, and can
interfere with a blind user’s interaction with the app, increasing
frustration and confusion.
•
Gestures that make sense when tied to the visual display (i.e. those
that mimic real world interactions) have to change when the screen
reader is active, and often lose all real world meaning. For instance,
if you used a swipe gesture to push a ball around a screen, that
would mimic a real-world interaction. With the screen reader turned
on, that same gesture will cycle between elements on the screen
(from top to bottom and left to right).
HOW PEOPLE WITH BLV INTERACT
WITH MOBILE DEVICES
•
Often listen to screen reader
•
Explore app by moving finger around
•
Use “List Mode” to cycle between items on screen
•
Tap off the selected control to use it
COMMON DESIGN APPROACHES AND
THE PROBLEMS WE FOUND
•
Just add screen reader support to existing design
•
Can make it very difficult to reliably hit controls
•
Lack of spacing can cause incorrect controls to be selected
•
List Mode often rearranges the controls which can quickly remove
all meaning as positioning of labels and images are often used to
inform the user of the meaning of other controls
•
Constant screen reading slows down the user’s interaction with
the app, making it even more difficult to use
COMMON DESIGN APPROACHES AND
THE PROBLEMS WE FOUND
•
Add menus
•
Complicates the interaction of the app
•
Tends to lead to desktop style designs which do not work in
the mobile world
•
Nested menus can cause users to become lost in the
structure, and makes finding features even more difficult
•
Contextual menus require users to see when and where
they appear
COMMON DESIGN APPROACHES AND
THE PROBLEMS WE FOUND
•
•
Add vibration
•
Used too often it will lose its meaning
•
Causes user’s fingers to go numb
Speak commands
•
Not an ideal computer interface in a classroom, nor frankly, any
public location
•
Computer comprehension of speech is not good enough to work on
its own. When it fails we fall back to on-screen controls, which a blind
person might easily miss.
BETTER DESIGN CHOICES
•
Create two completely separate interfaces, one for use with the screen reader,
and another for use without. This can drastically reduce the need to
compromise on the design. It also simplifies coding by reducing the need to
constantly test the environment and select the appropriate display or action
based on the state of the screen reader.
•
Always test with screen off!
•
Larger controls and much more space between controls than used with designs
for the sighted
•
Reduce colour, increase contrast
•
Reduce the amount of information read by the screen reader. If possible, add
beginner and pro modes that change the amount of information read.
BETTER DESIGN CHOICES
•
Do everything you can to speed the user’s interaction with the app. Remove
steps whenever possible.
•
Add sound, but carefully
•
•
Best used with headphones
•
Map sounds to 3D space (we use OpenAL)
•
Use sparingly
•
Don’t make user learn meanings of random sounds. Sounds should
convey meaning and match the physical world as much as is practical.
Add vibration, but sparingly
BETTER DESIGN CHOICES
•
Invert the position of important items. Layouts for the sighted often
place important items on the top of the view, but they should be at the
bottom for the blind.
•
Contextual menu display must be optimised to reduce the distance
from the control that initiated it. This can cause issues when scrolling
leaves a control near the edge of the screen.
•
Consider adding unique actions to the interface for the blind user. For
instance, you might relocate the currently selected item so that it is
always where the user taps if they tap an empty part of the screen.
•
Sleeves which cover the bezel are very useful.
INTERESTING APPROACHES THAT
SURPRISED US BY WORKING
•
Drawing - Used within a constrained environment,
‘drawing’ elements onto the screen works well, but
introduces issues if the drawn item does not exactly
match the finger movements.
•
Scrolling - When paired with other elements like
sound, user-driven scrolling can be effective.
However, you must ensure that scrolling ends with
complete elements still on the screen.
ISSUES WE ENCOUNTERED
•
There are some serious issues with VoiceOver
•
An item always selected, there is no ability to have nothing selected,
which means that something will always respond. This is not the
behaviour when VO is off
•
You cannot locally disable accessibility. Often things we needed to
do within our apps would have been much easier to do ourselves
rather than try to work within the constraints of VO
•
VO intercepts every user interaction before passing it to the app.
This makes overriding default gestures impossible, even when they
don’t make sense.
BENEFITS OF THE COURSES
•
Educational Community
•
Heartland Community College
•
Students
•
Employers
Download