Accessibility/Mobile/GestureInterface: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "This is a mapping of all functionality an accessible touch interface needs, and proposed gestures for each. This is a mapping of all functionality an accessible touch interface ...")
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is a mapping of all functionality an accessible touch interface needs, and proposed gestures for each.
== Design Principals ==


This is a mapping of all functionality an accessible touch interface needs, and proposed gestures for each.
* 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


{| border="1" cellpadding="2" width="100%"
== Gesture Mappings ==
|+Accessibility Feature Mapping
=== Screen Reader ===
{| width="100%"
| colspan="2" align="center" style="background:#ffdead;" | '''One Finger'''
|-
|-
! Function !! Gesture !! Keyboard
| Double tap || Activate item
|-
|-
| colspan="3" align="center" style="background:#ffdead;" | '''Screen Reader'''
| Swipe left/right || Move cursor to next/previous item
|-
|-
| Activate item under cursor || ||
| Touch/move on the screen || Move cursor to item under finger ("explore by touch")
|-
|-
| Move cursor by item || ||
| Swipe up/down || Move cursor by granularity* or adjust value
|-
|-
| Move cursor to first or last item || ||
| Double tap-hold || Simulate long tap/drag*
|-
|-
| Move cursor by character || ||
| Triple tap-hold || Open granularity menu*
|-
|-
| Move cursor by word || ||
| colspan="2" align="center" style="background:#ffdead;" | '''Two Fingers'''
|-
|-
| Move cursor by line || ||
| Swipe up/down || Scroll by page length
|-
|-
| Move cursor by heading || ||
| Swipe left/right || Scroll or switch page
|-
|}
| Move cursor by link || ||
 
|-
==== TBD Gestures ====
| Move cursor by visited link || ||
* Make cursor selection
|-
* Add cursor to selection
| Move cursor by landmark || ||
* Move cursor to first or last item
|-
* Read from cursor position
| Move cursor by form control || ||
* Suspend screen reader gestures (passthrough mode)
|-
 
| Move cursor by table || ||
=== Magnifier ===
|-
{| width="100%"
| Move cursor by table cell || ||
| colspan="2" align="center" style="background:#ffdead;" | '''Two Fingers'''
|-
| Make cursor selection || ||
|-
|-
| Add cursor to selection || ||
| Double tap-hold drag down/up || Zoom in/out
|-
|-
| Scroll to next or previous screen || ||
| Pan/Drag || Pan
|-
| Read from cursor position || ||
|-
| Switch tab || ||
|-
| Open awesomebar || ||
|-
| Suspend special gestures (passthrough mode) || ||
|-
| colspan="3" align="center" style="background:#ffdead;" | '''Magnifier'''
|-
| Toggle magnifier || ||
|-
| Pan region || ||
|-
| Zoom in and out || ||
|-
| colspan="3" align="center" style="background:#ffdead;" | '''Contrast Control'''
|-
| Toggle enabled modes || ||
|}
|}
== 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

Latest revision as of 21:23, 10 July 2014

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