1 of 15

Approaches to A11Y in WebVR

Thoughts and user feedback

Roland Duboisinfo@gravr.io | @rolanddubois

2 of 15

Trend towards spatial hand/gesture motion control

Kinemic

Leap Motion

Gest

Nod

MYO

Bixi

3 of 15

Overview of A11Y interaction

People with Visual Disabilities

  • Zoom, Contrast, Color (Invert)
  • Screen readers (Desktop), VoiceOver (iOS), TalkBack (Android)
  • Keyboard input/output (Braille for Desktop and Mobile)

People with Motor Disabilities

  • Customized input controls (Gamepad API)
  • Voice Controls - Siri (iOS), Bixby (Samsung), Google Assistant, (Alexa)
  • Keyboard input (Brain fingers, Head mouse, Sip-puff Breeze Switch) more here

4 of 15

Accessible Input Devices

5 of 15

Search for commonalities for A11Y input

Most basic navigation

  • Keyboard: Tab(+Shift), Space, Return, Arrow Keys
  • GamePad (API): 1(A), 2(B), 3(X), 4(Y), Stick/Cross
  • TouchScreen (Gestures): Tap, Double tap, Touch & hold, Drag/Swipe/Flick, Pinch/Spread, Twist/Rotate (see VO Gestures)
  • AR Hand Gestures (Hololens): Bloom, Air Tap, Tap & Hold (Gestures in combination with gaze to focus on item)
  • WebVR: Gaze/Fuse, Gaze & Hold, Gaze & Press

Note: Screen readers (Desktop) - JAWS & NVDA (Windows) and VoiceOver (Mac OS X) “command key” option for combinations like CTRL+ALT+U (to bring up the Rotor), CTRL+ALT+H (to jump to the next heading)

6 of 15

Lowest Common Denominator

7 of 15

Challenges

  • Screen Readers can break immersion
  • VoiceOver needs to be turned off (changing default gestures)
  • WAI-ARIA should be built into the framework (A-Frame) see component
  • Objects need to be focusable and show focus selection (but only when raycaster could intersect / visible to the camera)
  • Focused object needs to draw attention even (especially) if not within �the viewer FOV (see screenshot)
  • Loading screen to onboard a11y features
  • Skip Links & Bypass Blocks for VR
  • WCAG (2.1) pointer-events (incl target sizes) for �inputs like mouse/gesture - extend to raycaster

8 of 15

A-Frame GUI Component

9 of 15

@knowbility

10 of 15

11 of 15

12 of 15

13 of 15

14 of 15

“...make a11y features obvious and visible or don’t have them at all...”

- Josh Straub, Editor-In-Chief, D.A.G.E.R System (@DAGERSYSTEM) at OC4

15 of 15

Who am I / and send me feedback

Roland Duboisinfo@gravr.io | @rolanddubois

Whats next:https://rdub80.github.io/gravr-a11y-demo/app/�- Extent test environment and share findings�- Publish a11y component��https://rdub80.github.io/aframe-gui/�- Integrate WAI-ARIA and GRAVR API