Accessibility/Mobile/GestureInterface

From MozillaWiki
Jump to: navigation, search

Design Principals

  • Single handed operation whenever possible
  • Shallow learning curve
  • Portable knowledge from other platforms (iOS VoiceOver and Android TalkBack)
  • Avoid timing-sensitive input, and have little assumptions of user dexterity
  • Provide a large margin of error (help the user avoid mistakes), and empower them to explore

Gesture Mappings

Screen Reader

One Finger
Double tap Activate item
Swipe left/right Move cursor to next/previous item
Touch/move on the screen Move cursor to item under finger ("explore by touch")
Swipe up/down Move cursor by granularity* or adjust value
Double tap-hold Simulate long tap/drag*
Triple tap-hold Open granularity menu*
Two Fingers
Swipe up/down Scroll by page length
Swipe left/right Scroll or switch page

TBD Gestures

  • Make cursor selection
  • Add cursor to selection
  • Move cursor to first or last item
  • Read from cursor position
  • Suspend screen reader gestures (passthrough mode)

Magnifier

Two Fingers
Double tap-hold drag down/up Zoom in/out
Pan/Drag Pan

Feature Notes

Explore By Touch

On most items, the user will simply have moved the cursor to the item under their finger. In the case of special "key" items, like alphanumeric keys in a keyboard, or dialpad keys, once the user lifts their finger, that key will be entered. This is to ease and streamline typing in a lot of text or numbers.

Navigate By Granularity

A user could move the cursor to certain types of items, like headers, controls, links, words, characters, etc. This allows more efficient exploration of a large interface or more granular comprehension of text. The type of item the user will navigate by is selected via the granularity menu (triple tap-hold), once the menu is invoked the users finger is on the screen. Moving up and down will highlight the different granularity options, lifting the finger will select. Once a granularity option is selected (say "links"), the user can swipe up and down to move to the next/previous link. If the user is on an adjustible item, like a range input, up and down will adjust the value instead.

Granularity settings examples:

  • character
  • word
  • line
  • heading
  • link
  • visited link
  • landmark
  • form control
  • table
  • table cell