barrierefreies javascript

29
Barrierefreies Javascript Eric Eggert, yatil.de Accessible-Media- Stammtisch 04/2008

Upload: eric-eggert

Post on 02-Nov-2014

3.277 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Barrierefreies Javascript

Barrierefreies Javascript

Eric Eggert, yatil.deAccessible-Media-

Stammtisch 04/2008

Page 2: Barrierefreies Javascript

Wer?Eric Eggert

yatil.de

Webstandards

HTML5

Webkrauts

Piefke

Page 3: Barrierefreies Javascript

?“The problem here is we don’t know what JavaScript accessibility is. We have a few ideas about it, but nothing’s nailed down yet. Really, it isn’t. And because there are so many things you can do in JavaScript, in so many di!erent ways, it’s gonna take a while

before we really decide on exactly what JavaScript accessibility is.”

„Das Problem hier ist, dass wir nicht wissen, was JavaScript-Barrierefreiheit ist. Wir haben ein paar

Ideen, was es sein könnte, aber es ist nichts festgelegt. Wirklich nicht. Und weil es so viele

Dinge gibt, die man mit JavaScript tun kann, auf so viele verschiedene Arten, wird es eine Weile

dauern, biss wir wirklich entscheiden, was genau JavaScript-Barrierefreiheit ist.“

Joe Clarke (28.04.06) @ Build Half a Product: Is Ajax accessible? At all?

Page 4: Barrierefreies Javascript

Was?Javascript

ECMA-Standard

In Flash: Actionscript

Document Object Model

Page 5: Barrierefreies Javascript

Wo?Javascript

CSS

X/HTML

Verhalten

Gestaltung

Struktur/Inhalt

Page 6: Barrierefreies Javascript

Weshalb?

Fokus

Aufbau einer Webseite: 2D

Screenreader: 1D

Page 7: Barrierefreies Javascript
Page 8: Barrierefreies Javascript

?“I'm forced to conclude that, unless a way can be found to notify screen readers of updated content, AJAX techniques cannot be considered accessible, and should not be used on a production site without a truly equivalent non-script

alternative being o!ered to users up-front.”

„Ich bin gezwungen zu dem Schluss zu kommen, dass, solange es keinen Weg gibt Screenreader über

aktualisierte Inhalte zu informieren, AJAX-Techniken nicht als barrierefrei einzuschätzen sind und nicht auf einer

produktiven Seite eingesetzt werden sollte ohne, dass es eine wirklich äquivalente Alternative ohne Javascript gibt,

die den Benutzern vorher angeboten wird.“

James Edwards (05.05.06) @ AJAX and Screenreaders: When Can it Work?

Page 9: Barrierefreies Javascript

Welche?

Alle, die auch ohne Javascript funktionieren.

Javascripts, die dort etwas ändern, wo der Benutzer gerade ist.

Webapplikationen i.d.R. nicht.

Page 10: Barrierefreies Javascript

Beispiel

Page 11: Barrierefreies Javascript

Beispiel

Page 12: Barrierefreies Javascript

Beispiel

Page 13: Barrierefreies Javascript

Beispiel

Page 14: Barrierefreies Javascript

Beispiel

Page 15: Barrierefreies Javascript

?“What we do is not rocket science —

I!won’t say it’s easy, but it’s not spectacularly di"cult either.”

„Was wir tun ist keine Raketenwissenschaft – Ich würde nicht sagen, dass es leicht ist, aber es

ist auch nicht spektakulär schwer.“

James „Brothercake“ Edwards (16.10.07) @ Why Accessibility? Because It’s Our Job!

Page 16: Barrierefreies Javascript

Wie?Jegliche Javascript-Magie muss

zuerst ohne Javascript gelöst werden.

Javascript überhaupt nötig?

Neuladende Seiten sind nicht Hip,meist aber ausreichend.

Dirk Ginader@BarcampBrighton2

Page 17: Barrierefreies Javascript

Wie?Auf Änderungen aufmerksam machen.

Setzen des Focus.

Abspielen eines Tons.

Versteckte Formularelemente benutzen um den Screenreader dazu zu zwingen den virtuellen Speicher

neu aufzubauen.

Dirk Ginader@BarcampBrighton2

Page 18: Barrierefreies Javascript

Testen?

An Tastaturbenutzer denken.

Tab-Reihenfolge prüfen.

Werden versteckte Elemente angezeigt, wenn sie den Focus haben?

Dirk Ginader@BarcampBrighton2

Page 19: Barrierefreies Javascript

? “Designing for accessibility is like building the foundations of a house — easy if you do it from the

start, but very di"cult to hack in afterwards.”

„Auf Barrierefreiheit hin zu designen ist wie das Fundament eines Hauses – leicht,

wenn man es am Anfang tut, sehr schwierig im Nachhinein einzubauen.“

James „Brothercake“ Edwards (13.09.06) @ Accessible JavaScript: Beyond the Mouse

Page 20: Barrierefreies Javascript

Unabhängig vom Dokument

Keine „toten“ Links

Kein „verbiegen“ von anderenElementen

Kein/Wenig HTML für Javascript

Werkzeuge?Unaufdringliches Javascript*

*Oft: Unobtrusive Javascript, steht im Zusammenhang mit Progressive Enhancement und Graceful Degredation

Page 21: Barrierefreies Javascript

<a href="#" onclick="machwas(); return false;">Klick mich!

</a>

Falsch

Page 22: Barrierefreies Javascript

<a href="geklickt.html"onclick="machwas(); return false;">

Klick mich!</a>

Falsch

Page 23: Barrierefreies Javascript

<a href="geklickt.html" class="klickmich">Klick mich!

</a>

Richtig

Page 24: Barrierefreies Javascript

<a href="geklickt.html" class="klickmich">Klick mich!

</a>

Richtig

<script type="text/javascript">jQuery('.klickmich').each(function(){

jQuery(this).click(function(){machwas(); return false;

})});

</script>

Page 25: Barrierefreies Javascript

<a href="geklickt.html" class="klickmich">Klick mich!

</a>

Richtig

<script type="text/javascript" src="klickmich.js"></script>

Page 26: Barrierefreies Javascript

Werkzeuggürtel

Vereinheitlichen Browserverhalten

Bieten nützliche Abkürzungen

Werkzeuge?Frameworks

Page 27: Barrierefreies Javascript

Prototype

jQuery

YUI

Mootools

Werkzeuge?Frameworks

Page 28: Barrierefreies Javascript

Positiv-/Negativ-Beispiele

Page 29: Barrierefreies Javascript

Danke!

Eric Eggert, yatil.deAccessible-Media-

Stammtisch 04/2008