ARIA und HTML 5

33
ARIA und HTML5 ARIA und HTML5 in freier in freier Wildbahn Wildbahn Martin Kliehm. @kliehm Martin Kliehm. @kliehm Senior Frontend Engineer. Senior Frontend Engineer. Namics. Namics. http://www.flickr.com/photos/ http://www.flickr.com/photos/ 73594239@N00/8937968/ 73594239@N00/8937968/

description

ARIA und HTML5 in freier Wildbahn. Beispiele von Accessible Rich Internet Applications ins Kundenprojekten.

Transcript of ARIA und HTML 5

Page 1: ARIA und HTML 5

ARIA und HTML5 ARIA und HTML5 in freier Wildbahnin freier Wildbahn

Martin Kliehm. @kliehmMartin Kliehm. @kliehmSenior Frontend Engineer.Senior Frontend Engineer.Namics.Namics. http://www.flickr.com/photos/73594239@N00/8937968/http://www.flickr.com/photos/73594239@N00/8937968/

Page 2: ARIA und HTML 5

Oder docheher so?

http://www.flickr.com/photos/angelinawb/2086914195/

Page 3: ARIA und HTML 5
Page 4: ARIA und HTML 5

Projekte von Namics

Page 8: ARIA und HTML 5

Accessible RichInternet Applications (ARIA)

Page 9: ARIA und HTML 5

ZuerstZuerstdie niedrigdie niedrighängendenhängendenFrüchteFrüchte

http://www.flickr.com/photos/pgasston/1372139756/

Page 10: ARIA und HTML 5

<input type="text" aria-required="true" />

Page 11: ARIA und HTML 5

<input type="text" aria-required="true" aria-invalid="true" />

Page 12: ARIA und HTML 5

http://www.flickr.com/photos/lwr/2057056544/http://www.flickr.com/photos/lwr/2057056544/

Page 13: ARIA und HTML 5

http://webaim.org/blog/spam_free_accessible_forms/http://webaim.org/blog/spam_free_accessible_forms/

Page 14: ARIA und HTML 5
Page 15: ARIA und HTML 5

<ul role="menu navigation">

<li role="menuitem"> <a href="…">Über Fraunhofer</a> </li>

</ul>

Page 16: ARIA und HTML 5

<a role="button" aria-controls="nav-direct-third" tabindex="0" title="Untermenü"> Schnellzugriff</a>

<ul id="nav-direct-third" role="menu navigation" aria-expanded="true">

<li role="menuitem"> <a href="…">Presse / Medien</a> </li>

</ul>

Page 17: ARIA und HTML 5

HTML 5: Canvas

Page 18: ARIA und HTML 5
Page 19: ARIA und HTML 5
Page 20: ARIA und HTML 5

<canvas />

Page 21: ARIA und HTML 5

CSS 3

Page 22: ARIA und HTML 5

border-radius: 16px 16px 0 0;-moz-border-radius: 16px 16px 0 0;/* Webkit does suppport no more than two values for border-radius */-webkit-border-top-left-radius: 16px;-webkit-border-top-right-radius: 16px;-webkit-border-bottom-left-radius: 0;-webkit-border-bottom-right-radius: 0;

Page 23: ARIA und HTML 5

<!--[if vml]><script type="text/javascript"> var isVML = true;</script><![endif]-->

v\:roundrect { behavior: url(#default#VML); height: 100%; left: -1px; position: absolute; top: 0; width: 100%; z-index: 0;}

Page 24: ARIA und HTML 5
Page 25: ARIA und HTML 5

HTML 5: Geolocation

Page 26: ARIA und HTML 5

if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( SBS.foundLocation );}

Page 27: ARIA und HTML 5

ARIA + JavaScript

Page 28: ARIA und HTML 5

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

Page 29: ARIA und HTML 5

<ul role="tablist"> <li role="tab">Bahn</li> <li role="tab">Mietwagen</li> <li role="tab">Hotel</li> <li role="tab">Mobilität</li></ul>

<!-- Tabpanel Bahn --><div role="tabpanel"> …</div>

Page 30: ARIA und HTML 5

1. tabindex="0" setzen

2. Event capturing:

click, focus, keydown, keypress

3. Tabpanel einblenden

4. Tastatursteuerung:

Pfeiltasten, ctrl + tab,

ctrl + shift + tab

5. Event-Bubbling stoppen

6. ggf. Screenreader-Buffer

aktualisieren

Page 31: ARIA und HTML 5

<div aria-live="polite"

aria-atomic="true"

aria-relevant="additions text">

Die Seite wurde Ihrem Merkzettel hinzugefügt.

</div>

Page 32: ARIA und HTML 5

a11y a11y ♥ ♥ TechnikTechnik

http://www.david-chavez.com

Page 33: ARIA und HTML 5

Danke.

twitter: @kliehmFolien: slideshare.net/kliehm/aria-und-html-5Videos: flic.kr/p/5EqqLe