html5 & wai-aria - happy families

29
HTML 5 & WAI ARIA Steve Faulkner TPG [email protected] Accessibility 2.0, September 22, 2009

Upload: steven-faulkner

Post on 08-May-2015

6.913 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: HTML5 & WAI-ARIA - Happy Families

HTML 5 & WAI ARIA

Steve FaulknerTPG [email protected]

Accessibility 2.0, September 22, 2009

Page 2: HTML5 & WAI-ARIA - Happy Families

HTML 5 - the Future• It’s the next version of HTML• Many new features are not yet implemented

or decided upon.• Many new features that will make it easier

for developers to provide accessible and inaccessible content

• Its huge! 808 pages

Page 3: HTML5 & WAI-ARIA - Happy Families

WAI-ARIA NOW• Allows the adding of name, role, state and property

information to any element using attributes<div role=“slider”><input aria-required=“true”><img role=“presentation”><input type=“text” aria-haspopup=“true”>

• Its still in development, but many features are stable and implemented in browsers and AT

• It can be used with HTML, XHTML, SVG, XUL and others.

Page 4: HTML5 & WAI-ARIA - Happy Families

Future Potential

• Semantic elements– <nav> <article> <footer> etc.

• Will provide semantic structure• Not implemented in browsers• Not supported by AT

Page 5: HTML5 & WAI-ARIA - Happy Families

Future PotentialOld Way HTML 4 New Way HTML5

Page 6: HTML5 & WAI-ARIA - Happy Families

Future NOW• Landmark roles

– Banner, mainNavigation etc.• Chunk pages into large perceivable regions• Navigation of page in a few keystrokes• Implemented in browsers• Supported by AT (JAWS, NVDA, ORCA)• Compatible with HTML 4,5 & XHTML• Do not serve the same function as the new HTML5

semantic elementsLandmarks demo

Page 7: HTML5 & WAI-ARIA - Happy Families

ARIA NOWHTML 4 + ARIA HTML5 + ARIA

Page 8: HTML5 & WAI-ARIA - Happy Families

– datalist

• Implemented in Opera 9.5+

• Keyboard accessibility • Not exposed to AT X

Form control demo

Potential - HTML5 Form controls

Page 9: HTML5 & WAI-ARIA - Happy Families

– Input type="number"

• Implemented in Opera 9.5+

• Keyboard accessibility • Not exposed to AT X

Potential - HTML5 Form controls

Page 10: HTML5 & WAI-ARIA - Happy Families

Potential - HTML5 Form controls

– Input type="date"

• Implemented in Opera 9.5+• Keyboard accessibility X• Not exposed to AT X

Page 11: HTML5 & WAI-ARIA - Happy Families

– Input type="range"

• Implemented in Opera 9.5+ & Safari 4+

• Keyboard accessibility partial• Not exposed to AT X

Potential - HTML5 Form controls

Page 12: HTML5 & WAI-ARIA - Happy Families

• Slider demo• Combobox demo• Date picker demo• Spin box demo

– Keyboard accessibility – name, role, properties and states exposed to AT

ARIA enabled Form controls

Page 13: HTML5 & WAI-ARIA - Happy Families

– required<input type="text" required>• Implemented in Opera 9.5+ & Safari 4+• Not exposed to AT X

– aria-required<input type="text" aria-required=“true”>• Implemented in Firefox 3+ and IE 8• Exposed to AT

Potential - HTML5 Form controlsARIA - NOW

Page 14: HTML5 & WAI-ARIA - Happy Families

HTML 5 Audio & Video– Native accessible controls

– Implemented in Firefox 3.5

– Captioning and annotations– Fallback“It has been decided that the first version of HTML5 <video>(and <audio>) will not have an in-built solution for captions, audioannotations and the like, because it is possible to do such withjavascript and external files.“Silvia Pfeiffer

Video Demo

Page 15: HTML5 & WAI-ARIA - Happy Families

HTML 5 Audio & Video<video src="movie.ogg">

Your browser is not video-enabled; <a href="movie.ogg">download the video</a> and <a href="movie.txt">transcript</a>.</video>

<audio src="horse.wav">Your browser does not support the audio element.

<a href=“horse.txt">transcript</a></audio>

If you want users to access content, don’t put it inside the video or audio elements

Page 16: HTML5 & WAI-ARIA - Happy Families

Potential shit fight

• Canvas– Is being used to produce UI’s e.g.

Bespin– Only way to make accessible is to

create a duplicate of what’s created using canvas i.e. big dirty bolt on accessibility

Page 17: HTML5 & WAI-ARIA - Happy Families

HTML5 Canvas element

It’s a black hole<canvas>

</canvas>

On browsers that support canvas –

you can’t access to the fallback content

Page 18: HTML5 & WAI-ARIA - Happy Families

HTML5 Canvas element

“When authors use the canvas element, they must also provide content that, when presented to the user, conveys essentially the same function or purpose as the bitmap canvas.

This content may be placed as content of the canvas element. The contents of the canvas element, if any, are the element's fallback content.”

Source: http://dev.w3.org/html5/spec/the-canvas-element.html#the-canvas-element

BAD advice – don’t do it.Make fallback available outside of the canvas element!

Page 19: HTML5 & WAI-ARIA - Happy Families

HTML5 Canvas element

Canvas based graph depicting amount of emails, issues and bugs to be processed over time.

Page 20: HTML5 & WAI-ARIA - Happy Families

HTML5 Canvas element

The data is provided in tabular format inside the <canvas> element.BUT nobody using a canvas supporting browser can access it unless they ‘view source’

Page 21: HTML5 & WAI-ARIA - Happy Families

HTML5 Canvas elementMaybe we will have better luck viewing it in IE , a browser that does not support canvas...

Page 22: HTML5 & WAI-ARIA - Happy Families

Potential

• Drag & Drop– native keyboard support - not mentioned in HTML 5– Pretty much maps on to ARIA drag & drop except for

providing state info about item being dragged.– Limited support for ARIA drag and drop in JAWS and

NVDA

Page 23: HTML5 & WAI-ARIA - Happy Families

ARIA & HTML 5Potential

• Integration of ARIA started• Integration is about defining what bits of

ARIA can be used with what bits of HTML• ARIA is a separate spec – not dependent• Does not really matter

– Validation checking is available– Support in AT and Browsers is good

Page 24: HTML5 & WAI-ARIA - Happy Families

ARIA & HTML 5

• ARIA validates in HTML5– Validator.nu & W3C validator have HTML5+ARIA

checking

Page 25: HTML5 & WAI-ARIA - Happy Families

ARIA NOW

Page 26: HTML5 & WAI-ARIA - Happy Families

ARIA NOW

Page 27: HTML5 & WAI-ARIA - Happy Families

ARIA NOW

Page 28: HTML5 & WAI-ARIA - Happy Families

References

HTML5• HTML 5 Specification• HTML 5: The Markup Language

Form controls• HTML 5 Specification: 4.10 Forms• HTML5 Forms Demo Bruce Lawson

Video• First experiments with itext Silvia Pfeiffer• The most pressing Accessibility issue in HTML5 today? <video> John Foliot• Accessibility of HTML 5 video bruce lawson• Keyboard control of html5 video elements David Bolter

Canvas• HTML 5 Specification:4.8.11 The canvas element• Canvas, accessibility and SVG Bruce Lawson

Page 29: HTML5 & WAI-ARIA - Happy Families

References

WAI ARIA• Accessible Rich Internet Applications (WAI-ARIA) (internal editor's draft)• WAI-ARIA Best Practices (internal editor's draft) • WAI-ARIA Primer (internal editor's draft) • Accessible drag and drop using WAI-ARIA Gez lemon

• WAI-ARIA Implementation in JavaScript UI Libraries • Using WAI ARIA Landmark Roles