27
Accessibility & WebGL Urban Škudnik [email protected] , @urbanskudnik

H5C3 meetup - Accessibility & WebGL

Embed Size (px)

DESCRIPTION

Presentation on HTML5's accessibility support, what developers can do to enhance experience for people with disabilities, which problems ARIA solves and what kind of goodies are brought by WebGL.

Citation preview

Page 1: H5C3 meetup - Accessibility & WebGL

Accessibility & WebGLUrban Škudnik

[email protected], @urbanskudnik

Page 2: H5C3 meetup - Accessibility & WebGL

Before you get all hyped...

Page 4: H5C3 meetup - Accessibility & WebGL

Everything is only your good will.

Page 5: H5C3 meetup - Accessibility & WebGL

Accessibility

Page 6: H5C3 meetup - Accessibility & WebGL

The State of H5

Page 7: H5C3 meetup - Accessibility & WebGL

The good

Page 8: H5C3 meetup - Accessibility & WebGL

The bad

• FF4 (b6) - 6 elements, partial support for 4

• Opera 10.62 - 7 elements partially supported

• IE 9 - 3 partially supported

• Chrome - null.

www.html5accessibility.com

Page 9: H5C3 meetup - Accessibility & WebGL

WAI - ARIA

Page 10: H5C3 meetup - Accessibility & WebGL

How does that look?<spantabindex="0"role="checkbox"aria-checked="true"onkeydown="return checkBoxEvent(event);"

onclick="return checkBoxEvent(event);">Label</span>

Page 11: H5C3 meetup - Accessibility & WebGL

The best thing?

• Dojo - mature

• YUI

• GWT - partial

• jQuery UI - fully compliant by 2.0

Page 12: H5C3 meetup - Accessibility & WebGL

Landmarks

• role =

• navigation

• complementary

• main

• form

Page 13: H5C3 meetup - Accessibility & WebGL

The bad sadly-must-accept

• FF 4 & IE9 - 31 fully, 2 partially, one unsupported

• Chrome - 2 partially

http://www.html5accessibility.com/index-aria.html

Page 14: H5C3 meetup - Accessibility & WebGL

Live updates

Page 16: H5C3 meetup - Accessibility & WebGL

WebGL

Page 17: H5C3 meetup - Accessibility & WebGL

There’s always Flash...

Page 18: H5C3 meetup - Accessibility & WebGL

...but surely we can do better!

Page 19: H5C3 meetup - Accessibility & WebGL

What we have...• Bitmap (Canvas)

• Vector (SVG)

• OpenGL (Canvas)

Page 20: H5C3 meetup - Accessibility & WebGL

Right tool for the right job

• DOM

• Shapes

• Event handling - easy

• Single HTML element, rendering

• Pixels

• Event handling - hard

• Have to rely on internal buffer

SVG Canvas

Page 21: H5C3 meetup - Accessibility & WebGL

WebGL

• Not very weby - OpenGL ES

• Low level API

• Hard without libraries

• No installation

• Rapid prototyping

Page 22: H5C3 meetup - Accessibility & WebGL

Just how hard?

Page 23: H5C3 meetup - Accessibility & WebGL

We are dealing with OpenGL, after all!

Page 24: H5C3 meetup - Accessibility & WebGL

But we adopted libraries for JS too!

Page 25: H5C3 meetup - Accessibility & WebGL

Warchest

• X3DOM

• GLGE

Page 26: H5C3 meetup - Accessibility & WebGL

GLGE

• Blender-to-WebGL

Page 27: H5C3 meetup - Accessibility & WebGL

X3DOM<x3d width="500px" height="400px"><scene>

<shape><appearance>

<material diffuseColor='red'></material></appearance>

<box></box> </shape> </scene></x3d>