bruce lawson-html5-aria-japan

22
HTML5 and WAI-ARIA HTML5 Study Groupt/ Tokyo / 18 November 2010 Bruce Lawson, Opera Software

Upload: brucelawson

Post on 08-May-2015

3.883 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Bruce lawson-html5-aria-japan

HTML5 and WAI-ARIA

HTML5 Study Groupt/ Tokyo / 18 November 2010

Bruce Lawson, Opera Software

Page 2: Bruce lawson-html5-aria-japan

HTML5 hates accessibility?

Page 3: Bruce lawson-html5-aria-japan

Accessible Rich Internet Applications

WAI-ARIA is intended to be a bridging technology. It clarifies semantics to assistive technologies when authors create new types of objects, via style and script, that are not yet directly supported by the language of the page.

http://www.w3.org/TR/wai-aria/complete

Page 4: Bruce lawson-html5-aria-japan

How assistive technology works

Page 5: Bruce lawson-html5-aria-japan

roles, states, properties

● Role is what something is. <div role="navigation">, “tooltip”● State is how something is at the moment (from pre-defined list): aria-checked = “true”, aria-required=”true”● Property: aria-valuenow (of a slider), aria-describedby (points to a description)

Page 6: Bruce lawson-html5-aria-japan

HTML attributes don't validate in HTML4

<div role="navigation"> <input aria-required="true">

(but validate in HTML5!)

Page 7: Bruce lawson-html5-aria-japan

Built-in always beats bolt-on

It is not appropriate to create objects with style and script when the host language provides a semantic element for that type of objects.

While WAI-ARIA can improve the accessibility of these objects, accessibility is best provided by allowing the user agent to handle the object natively.

Page 8: Bruce lawson-html5-aria-japan

Remains useful for legacy content

When native semantics for a given feature become available, it is appropriate for authors to use the native feature and stop using WAI-ARIA for that feature. Legacy content may continue to use WAI-ARIA

Page 9: Bruce lawson-html5-aria-japan
Page 10: Bruce lawson-html5-aria-japan
Page 11: Bruce lawson-html5-aria-japan
Page 12: Bruce lawson-html5-aria-japan

HTML5 has "built-in" ARIA

HTML Implied ARIA information<hr> separator

<a href=".."> role=link<input required> aria-required=true

<nav> role=navigation<textarea> role=textbox aria-multiline=true<article> role=article (document/

application / main)<body> role=document / application

<address> role=contentinfo <output> aria-live=polite

Full list: http://dev.w3.org/html5/spec/content-models.html#annotations-for-assistive-technology-products-aria

Page 13: Bruce lawson-html5-aria-japan
Page 14: Bruce lawson-html5-aria-japan
Page 15: Bruce lawson-html5-aria-japan

Gotcha!

●Multiple <header>s allowed, but only one role=banner per page●Multiple <footer>s allowed, multiple <address> allowed but only one role=contentinfo per page●No <main> element●Some screen reader naughtiness

Page 16: Bruce lawson-html5-aria-japan

Not everything is native to HTML5

WAI-ARIA is intended to be used as a supplement for native language semantics, not a replacement. When the host language provides a feature that provides equivalent accessibility to the WAI-ARIA feature, use the host language feature.

WAI-ARIA should only be used in cases where the host language lacks the needed role, state, and property indicators.

Page 17: Bruce lawson-html5-aria-japan

Validator knows about ARIA

<nav role=main>

Page 18: Bruce lawson-html5-aria-japan

Fix ARIA roles in browsers (transitional)

https://github.com/yatil/accessifyhtml5.js

Page 19: Bruce lawson-html5-aria-japan

tabindex=-1

Previously doubly illegal, valid HTML5

<h3 tabindex="-1">Destination</h3>

Page 20: Bruce lawson-html5-aria-japan

動画 アクセシビリティvideo accessibility

<video controls autoplay poster=… width=… height=…><source src=movie.webm type=video/webm><source src=movie.mp4 type=video/mp4><source src=movie.ogv type=video/ogg><track src=subtitles.srt kind=subtitles srclang=ja><!-- fallback content -->

</video>

www.bit.ly/websrt - <track> element faked in JavaScripthttp://www.delphiki.com/websrt/ - webSRT formal explainedhttp://www.delphiki.com/html5/playr/ - very nice video and <track> playerhttp://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#the-track-element

Page 21: Bruce lawson-html5-aria-japan

Essential reading

● WAI-ARIA導入(日本語訳)http://d.hatena.ne.jp/aratako0/20090709/p1

● HTML5 and the myth of WAI-ARIA redundance (ARIA roles and properties not available in HTML5)http://www.paciellogroup.com/blog/?p=585

● ARIA spec http://www.w3.org/TR/wai-aria/complete