HTML5 Accessibility - Is it ready yet?

42
HTML5 accessibility is it ready yet? eve Faulkner & Hans Hillen e Paciello Group (TPG)

description

What are the features in HTML5 that have the potential to: make it easier for developers to provide a more accessible user experience? make it harder for developers to provide a more accessible user experience? Where does WAI-ARIA fit into the HTML5 accessibility story? How can WAI-ARIA fill the gaps in HTML5 UI accessibility?

Transcript of HTML5 Accessibility - Is it ready yet?

Page 1: HTML5 Accessibility - Is it ready yet?

HTML5 accessibility

is it ready yet?

Steve Faulkner & Hans Hillen The Paciello Group (TPG)

Page 2: HTML5 Accessibility - Is it ready yet?

W3C

HTML5 process

WHATWG

W3WHATWGC

Page 3: HTML5 Accessibility - Is it ready yet?

and then there’s the rest who probably don’t care

photo by Joel bez

Page 4: HTML5 Accessibility - Is it ready yet?

“accessibility is about more than

screen readers...”

Page 5: HTML5 Accessibility - Is it ready yet?

...but in this session we are talking about assistive technology support, if you are expecting more you will be disappointed

Page 6: HTML5 Accessibility - Is it ready yet?

rolesstatespropertiesinteraction

Accessibility APIs

MSAAIaccessible2UI automationAXSTK

+ device independentinteraction

Page 8: HTML5 Accessibility - Is it ready yet?

so, is it ready yet?

HTML5 accessibilitythat is????

Page 9: HTML5 Accessibility - Is it ready yet?

short answer:

NO!

Page 10: HTML5 Accessibility - Is it ready yet?

LONG SHOT

long answer is:

NOT BY A

Page 11: HTML5 Accessibility - Is it ready yet?

NIT BY A LING SHIT

LING(HTML5)

<------ NIT (accessibility)

Page 12: HTML5 Accessibility - Is it ready yet?

Accessible HTML5

will be a beautiful thing

Page 13: HTML5 Accessibility - Is it ready yet?

HTML5 is a work in progress

Page 14: HTML5 Accessibility - Is it ready yet?

•form controls•structures•canvas•video•audio•ARIA•‘fallback’•‘text alternatives’

Page 15: HTML5 Accessibility - Is it ready yet?

who are theheroes?

Page 16: HTML5 Accessibility - Is it ready yet?

who are the villains?

Page 17: HTML5 Accessibility - Is it ready yet?

when will browsers expose HTML5 features via accessibility APIs

?

?

?

?

?

when will browsers implement HTML5 UI features?

when will browsers implement HTML5 UI features in a way that developers will want to use them?

Page 18: HTML5 Accessibility - Is it ready yet?

bolt-on

VS

built-in

Page 19: HTML5 Accessibility - Is it ready yet?

a tale of 2 browsers

Page 20: HTML5 Accessibility - Is it ready yet?

a tale of 2 browsersOpera mini Safari

Using VoiceOver

Page 21: HTML5 Accessibility - Is it ready yet?

accessibility is always bolted on, sometimes by

more

less

1. Browsers

2. ATs

3. CMS/tool developers

4. library developers5. web developers

6. users

Page 22: HTML5 Accessibility - Is it ready yet?

generally speaking, the earlier it is bolted on, the more robust

more

less

1. Browsers

2. ATs

3. CMS/tool developers

4. library developers5. web developers

6. users

Page 23: HTML5 Accessibility - Is it ready yet?

but if it’s done right it makes no difference to the end user...

Page 24: HTML5 Accessibility - Is it ready yet?

<DIV class="J-K-I J-J5-Ji J-K-I-Js-Zq J-K-I-Js-Zj J-K-I-JW" role=button tabIndex=0 unselectable="on" act="9" closure_uid_1bjdqs="1012"><DIV class="J-J5-Ji J-K-I-Kv-H" unselectable="on"><DIV class="J-J5-Ji J-K-I-J6-H" unselectable="on"><DIV class=J-K-I-KC unselectable="on"><DIV class=J-K-I-K9-KP unselectable="on">&nbsp;</DIV><DIV class=J-K-I-Jz unselectable="on">Report spam</DIV> </DIV></DIV></DIV></DIV>

...and no matter what is bolted on by the browser, developers will find a reason to want something else

Page 25: HTML5 Accessibility - Is it ready yet?

which is why WAI-ARIA is needed

preaching abstinence does not work

accessibility = the art of creative inclusivity

accessibility = the art of the killjoy

Page 26: HTML5 Accessibility - Is it ready yet?

HTML5accessibility.com

Page 27: HTML5 Accessibility - Is it ready yet?

“So if HTML5 A11Y is not ready…

WHAT IS!?!?”

Page 28: HTML5 Accessibility - Is it ready yet?

The answer is simple really…

Page 29: HTML5 Accessibility - Is it ready yet?

…websites built in the 90's!Cause only web 1.0 can be accessible

WRONG

Page 30: HTML5 Accessibility - Is it ready yet?

Some HTML5 works tomorrow…

WAI-ARIA works today!

Why not use it in the meantime?

Page 31: HTML5 Accessibility - Is it ready yet?

ARIA Landmark Roles

• Identify and label commonly used , relevant sections on a web page

• Screen readers users can quickly locate these sections and navigate between them

• Demo

Page 32: HTML5 Accessibility - Is it ready yet?

Some Landmark Roles actually map to HTML5 Section Elements , some don't

ARIA

role="banner"role="main"

role="navigation"role="search"

role="contentinfo"role="complementary"

role="form"role="application"

HTML5 <header>? No equivalent <nav> <input

type="search">? No equivalent <aside> <form> no equivalent

Page 33: HTML5 Accessibility - Is it ready yet?

What's with the Question Marks?

• For banner, main, contentinfo roles…

• <header>, <article>, <footer>…

THERE CAN BE ONLY ONE!For each (nested) application or document

Use as many as you like!

Page 34: HTML5 Accessibility - Is it ready yet?

And Search?

• Role="search" represents the entire search moduleoHints, instructions, etc.oComplex search optionsoRole Can be set on containers

• <input type="search"> is just the form control

• But, in some use cases they can be equivalent

Page 35: HTML5 Accessibility - Is it ready yet?

What about Widgets?

Page 36: HTML5 Accessibility - Is it ready yet?

Well, What about Them?

• Many HTML5 widgets are eitheroNot implemented yetoNot exposing accessibility information

yet

• So for now just use ARIA widgetso They work!oDemos

Page 37: HTML5 Accessibility - Is it ready yet?

LEAVE HTML5 ALONE!

Do we really have to use ARIA instead of HTML5 elements?

Page 38: HTML5 Accessibility - Is it ready yet?

Why not do Both?

Page 39: HTML5 Accessibility - Is it ready yet?

Combining Landmarks

• <header role="banner">• <div role="search"><input type="search"

/></div>• <article role="main">• <aside role="complementary">• <footer role="contentinfo">

Page 40: HTML5 Accessibility - Is it ready yet?

Combining Widgets

• A bit more trickyo You either want a working HTML5

widget, or a working ARIA widgetoModularize your widgets using librarieso Perform browser sniffing to decide whether to

generate an HTML5 or ARIA component

Page 41: HTML5 Accessibility - Is it ready yet?

In a nutshell

• HTML5 is going to be great • Until then, use ARIA for an accessible

rich UI• Combine where possible

Page 42: HTML5 Accessibility - Is it ready yet?

Questions?