Mobile Accessibility Principles, Guidelines & Techniques
Add descripHve text to user interface controls in 1 your applicaHon -‐ (images, sound, video) Why? User cannot perceive important informaHon or loses informaHon due to lack of alternaHve/descripHve text.
1 Who does it helps? Func%onal Disability Context: • User who is blind cannot perceive content that include non-‐text objects. • User whose browser, assisHve technology, other user agent doesnt support object.
1 Who does it helps? Situa%onal Disability Context: • User can be billed for download volume so images might be turned oﬀ to save costs. • Some mobile user agents have limited support for non-‐text objects • Some user agents also shrunk images in size to ﬁt the devices screen which can make images meaningless
How do we achieve that? 1 Using Alt and Title HTML EXAMPLE <img src=“meta.png” alt=“This is meta refresh image” /> Using android:contentDescripHon ANDROID EXAMPLE <ImageBuoon android:id=”@+id/add_note_buoon” android:src=”@drawable/add_note” android:contentDescripHon=”@string/add_note”/>
Label Short word or phrase Describes the object or view i.e. ‘Play’ Does not describe the type i.e. ‘Play buoon’ Trait Describes the type i.e. link, buoon, checkbox, selected, adjustable More than one trait can be used i.e. checkbox, selected Hint Use sparingly ExplanaHon not a command i.e. ‘Plays video’ not ‘Play video’
Label: Done, Label: [Program name, Label: SubHtles Label: Enter/back to…. Episode number] On/Oﬀ Exit Full screen Trait: Buoon Trait: StaHc text Trait: Buoon Trait: Buoon Label: Play / Label: [ 00.07 of 59.37 ] swipe up or Label: Show/Pause down to adjust Hide more Trait: Buoon Trait: Adjustable Trait: Buoon
1 DescripHve text guidelines • Add contextual informaHon to images, such as the image name, to communicate the meaning and context of the images • Don’t do keyword stuﬃng for alternate/descripHve text for SEO ranking • Localize text
2 Do not rely on color alone to convey meaning Why? User perceives color incorrectly or not at all, and so misses or misunderstands informaHon or makes mistakes.
2 Who does it helps? FuncHonal DisabiliHes Context User who are blind or colorblind perceives color incorrectly or not at all
2 Who does it helps? Situa%onal Disability Context Many screens have limited color paleoe and color diﬀerence is not presented. Device is used in poor lighHng (for example, outdoors), so colors are not clearly perceived.
2 How do we achieve that? Use blocks of color rather than vague outlines/shades
2 • Contrast between foreground and background AA (minimum): 4.5:1 AAA (enhanced): 7:1
2 HOW TO? Why 4.5:1? Compensates for the loss in contrast that results from • moderately low visual acuity, • congenital or acquired color deﬁciencies, • the loss of contrast sensiHvity that typically accompanies aging. Why 7:1? Compensates for the loss in contrast sensiHvity usually experienced by • users with vision loss equivalent to approximately 20/80 vision. • users with low vision who do not use assisHve technology. • provides contrast enhancement for color deﬁciency.
2 Color guidelines • Ensure that foreground and background color combinaHons provide suﬃcient contrast. • Ensure that informaHon conveyed with color is also available without color
3 Minimize text input in the interface Why? User has diﬃculty entering text so text is entered incorrectly or mistakes are made.
3 Who does it helps? FuncHonal DisabiliHes Context User with motor disability (for example, parHal paralysis, hand tremor, lack of sensiHvity, coordinaHon) has diﬃculty entering informaHon.
3 Who does it helps? SituaHonal Disability Context • Device has small keypad which has limited funcHonality • The context of mobile could be unpredictable
3 How do we achieve that? • Provide alternaHve means to enter text if possible • Avoid free text entry where possible. • Provide pre-‐selected default values where possible. • Specify a default text entry mode, language and/or input format, if the device is known to support it. • Use keyboard shortcuts if supported by the device and browser
4 Use SemanHc Markup Why? If the page markup is invalid this will result in unpredictable and possibly incomplete presentaHon of the content.
4 Who does it helps? FuncHonal DisabiliHes Context: AssisHve technology or browser cannot handle invalid markup. Easier for disabled users using screen readers to understand the purpose of elements and quickly jump between diﬀerent types of elements.
4 Who does it helps? SituaHonal Disability Context: Some older mobile browsers do not display content with invalid markup.
4 How do we achieve that? HTML EXAMPLE <form acHon="hop://example.com/donut" method="post"> <p> <input type="checkbox" name="ﬂavor" id="choc" value="chocolate" /> <label for="choc">Chocolate</label><br/> <input type="checkbox" name="ﬂavor" id="cream" value="cream"/> <label for="cream">Cream Filled</label><br/> <input type="checkbox" name="ﬂavor" id="honey" value="honey"/> <label for="honey">Honey Glazed</label><br/> <input type="submit" value="Purchase Donuts"/> </p> </form>
4 How do we achieve that? ANDROID EXAMPLE android.view.accessibility.AccessibilityNodeProvider This semanHc structure allows accessibility services to present a more useful interacHon model for users who are visually impaired.
5 Have a concise page content and page size User only sees small Why? areas at a Hme, is unable to relate diﬀerent areas of a page, and so becomes disoriented or has to scroll excessively.
5 Who does it helps? FuncHonal DisabiliHes Context User with restricted ﬁeld of vision or using screen magniﬁer gets only small part of page or image at a Hme.
5 Who does it helps? SituaHonal Disability Context Mobile device has small screen, so not all inform can be displayed
5 How do we achieve that? • Clear and concise language, as mobile users are looking for a quick access to informaHon. • Limit scrolling to one axis throughout the app (verHcal or horizontal axis) a • Avoid image larger than the screen size • Divide pages into usable but limited size porHons. • PosiHon important things higher up and less important things lower down in scrolling views • Create large clickable areas
Do not insert funcHons that can only be managed 6 via gestures. Always add a buoon/link Why? • Most gestures are not intuiHve • Not recognized by many users
6 Who does it helps? FuncHonal DisabiliHes Context • Blind users cannot use gestures at all • Users with temporary disability cannot use gestures • Gestures are guess work for most users
6 Who does it helps? SituaHonal DisabiliHes Context Gestures cannot be used in most of the outdoor or indoor context
6 How do we achieve that? • Use gestures which can be used even with buoon or link • Don’t rely completely on gestures for the interacHon, have alternate interacHve mechanisms
7 Ensure that it is possible to zoom the interface Why? Due to small screen, readability goes for a toss
7 Who does it helps? Zooming helps users who cannot read or see Hny leoers or have sight disability
7 How do we achieve that? HTML <meta name="viewport" value="iniHal-‐scale=1.0, minimum-‐scale=1.0, maximum-‐scale=2.0">
Mobile is for every . Think about it in your next applicaHon!
Guidelines related to mobile accessibility Web Content Accessibility Guidelines (WCAG) Mobile Web Best PracHces (MWBP) RelaHonship between WCAG and MWBP Widget Accessibility Guidelines Widget Usability Best PracHces Mobile Website Guidelines (University of AusHn)
Device speciﬁc mobile accessibility guidelines Android Designing for Accessibility Android Accessibility Blackberry Best PracHce Designing Accessible ApplicaHons iOS: Accessibility Programming Guide Nokia/Symbian: User Experience checklist for Touch and Keypad (PDFs)