Download - HTML 5 & Accessibility

Transcript
Page 1: HTML 5 & Accessibility

HTML5 AccessibilityTed Drake, Yahoo! Accessibility LabSlideshare.net/7mary4

Page 2: HTML 5 & Accessibility

Evolution of HTML Accessibility

• What’s new in HTML5• What will we do differently• What’s been improved• New HTML5 Challenges• ARIA: Introduction & Applications

Page 3: HTML 5 & Accessibility

What is HTML5?

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 4: HTML 5 & Accessibility

a reality check

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 5: HTML 5 & Accessibility

HTML5 is not...

• Finished• Difficult• Fully Supported

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 6: HTML 5 & Accessibility

HTML5 includes

• More powerful forms• CSS3• Canvas and SVG• Audio and Video• JavaScript tools• Device Integration• Semantic structure• WAI-ARIA

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 7: HTML 5 & Accessibility

Good Stuff

• Native Interactions• Enhanced Form Elements• Better Semantic Structure• ARIA

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 8: HTML 5 & Accessibility

Native Support

• Browsers replace plugins and JavaScript• Consistency• Extensible

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 9: HTML 5 & Accessibility

Super Forms

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 10: HTML 5 & Accessibility

No More ‘Divitis’

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 11: HTML 5 & Accessibility

Semantic Tags

• New containers: article, section, aside, footer, header, nav

• New & improved tags: dl, time, hgroup, mark

• Shift from document to modular design: multiple h1, header, footer tags

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 12: HTML 5 & Accessibility

Support for Tags

• Most browsers will treat them as inline. Use display:block

• Firefox 4 = IAccessible2• Internet Explorer needs JS

<script>document.createElement("header")</script>

• Safe to mix with ARIA Good: <nav role=”navigation”> Bad: <nav><ul role=“navigation”>

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 13: HTML 5 & Accessibility

New Attributes

• Custom data attribute: data-ticker=”yhoo” • Timestamps: datetime=”2011-03-16”• ARIA: aria-required, aria-isinvalid• Drag & Drop:

• draggable=”true”• dropEffect=”move”• dropEffect=”copy”

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 14: HTML 5 & Accessibility

New JavaScript Tools

• Offline usage with local storage• Better performance

• Web Workers• Web Sockets

• Geolocation for mapping and location specific information

• Future: Camera, compass, more?

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 15: HTML 5 & Accessibility

ARIA

• Announces expected behavior of module– Toolbar, tabset, menu, application– Developer still creates interaction JS

• Landmark structure: navigation, banner, search, main

• Meta information: aria-required, aria-label• Live regions for dynamic content

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 16: HTML 5 & Accessibility

ARIA LandmarksYahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 17: HTML 5 & Accessibility

ARIA Quick Fixes

• <a href=”#” role=”button”>• <input aria-label=”enter search term” ...>• <img aria-describedby=”stockinfo” ...>• <table role=”presentation”>• <input aria-required=“true” aria-

isinvalid=“true”>

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 18: HTML 5 & Accessibility

New Concerns

Concerned Colobus: Some rights reserved by Timmy Toucan

Page 19: HTML 5 & Accessibility

Canvas

• Blank canvas for JavaScript to draw upon• Problems:

• Text within canvas is not accessible• Images within canvas have no alt text• User interactions lack roles, states, and properties

• Avoid canvas for navigation and text-dependent modules

• SVG is better, but not great

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 20: HTML 5 & Accessibility

Closed Captioning

• Flash wasn’t great, but at least it supported closed captioned videos

• Multiple caption formats• JavaScript can track video events, timing to

create custom Closed Captioning• Separate audio track for audio descriptions

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 21: HTML 5 & Accessibility

longdesc

• The longdesc attribute is deprecated in the HTML5 spec

• This is not final• HTML5 is backwards compatible. It should

still work.• ARIA could be used in the future, but it’s not

a substitute

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 22: HTML 5 & Accessibility

ARIA Longdesc• Replace longdesc with aria-describedby

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

<img src="foo.jpg" ... aria-describedby="dHustler"><a href="hustler.html" id="dHustler"> Image Description</a>

Page 23: HTML 5 & Accessibility

Alternate Text

• No alternate text for video poster• No alternate text for images in Canvas• The alt attribute may become optional

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 24: HTML 5 & Accessibility

Headers

• Module hierarchy, not headers.• Each section and article can have an h1• Pages may have no h2,h3,h4...

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 25: HTML 5 & Accessibility

Autoplay & Autofocus

• Built in support for auto behaviors• Video autoplay• Form input autofucus

• Native support avoids adhoc JavaScript

Yahoo! Accessibility Lab Accessibility.Yahoo.Com | @yahooaccess | Facebook.com/YahooAccessibility

Page 26: HTML 5 & Accessibility

Moving Forward

Page 27: HTML 5 & Accessibility

Great Mobile Support

Android and iOS offer outstanding support for HTML5, ARIA, and CSS3

Page 28: HTML 5 & Accessibility

HTML5 on mobile

• New form inputs trigger custom keyboard layouts on phone

• New tags allow cleaner markup, fewer DOM nodes, and faster performance

• CSS3 replaces images • Local storage allows airplane mode usage• CSS3 animation is faster than JavaScript

Page 29: HTML 5 & Accessibility

Modernizr

• Modernizr JavaScript provides HTML5 tag support in older browsers

• Use progressive enhancement with Modernizr’s function test + declaration

• Can you require JavaScript on your site?

Page 30: HTML 5 & Accessibility

Questions?

Question mark in EsbjergSome rights reserved by alexanderdrachmann