Ausgewählter Vortrag:
Javascript – Freund oder Feind der Barrierefreiheit?
-
21.11.2008, 10:35–11:20 Uhr, Raum 2
Ein Einblick, wie man das „böse“ Javascript nutzen kann, um die Barrierefreiheit zu erhöhen.
Wir verlassen den gewöhnlichen Trampelpfad des barrierefreien Webs und gehen gemeinsam auf die Suche nach den Schokoladenseiten des klassischen Feindes der Barrierefreiheit, indem wir eine kleine Reise durch die Welt der guten Seiten des Javascript machen und Lust darauf machen, weitere schöne barrierefreie Ecken in der Javascript-Welt zu entdecken.
Unterlagen
Transkription:
Die Screenreader-Beispiele können sie sich hier als ZIP-Datei herunterladen (Flash-Videos, 10MB).
Moderation Eric Eggert:
Gut, dann fangen wir an. Im Vortrag jetzt geht es um barrierefreies JavaScript. Wir haben keine Beschallungsanlage, das ist rein für die induktive Höranlage. Geht es um barrierefreies JavaScript und wir haben Artur Ortega hier, der bei Yahoo! arbeitet und der zeigen will, wie man das böse JavaScript dazu benutzt, doch Gutes zu tun. Und ich bin froh, dass so viele Leute hier sind in diesem sehr kleinen Raum für so viele Leute und wünsche Ihnen viel Spaß dabei! Bitte!
Vortrag Artur Ortega:
Danke! Also ich stelle mich kurz vor. Ich bin Artur Ortega, bin Software-Entwickler, von Hause aus Diplominformatiker, lebe zur Zeit in London, arbeite für Yahoo! in England und bin dort im Team für internationale Redaktionssysteme zuständig für unser internes Redaktionssystem. Also ich entwickle sozusagen das CMS, das Yahoo! intern weltweit benutzt, um Nachrichten online zu stellen, also Nachrichten, Videos usw. Und während meiner Zeit dort habe ich immer sehr viel mit reinen Webentwicklern zu tun, die dann die Sachen machen, die nach außen zu sehen sind. Und in dem Bereich helfe ich denen, gebe denen Tipps, wie Sachen gemacht werden könnten, damit Sachen cool sind, wie wir heute morgen gehört haben, Coolness-Faktor, trotzdem gut funktionieren, Web 2.0 und dann eben neue Ideen geben, neue Impulse geben, wie man Sachen machen kann, die barrierefrei sind.
Und das ist ein Teil meines Vortrages heute, weil bisher war bei Web 1.0 Barrierefreiheit immer [Sprachausgabe spricht dazwischen] als Gegensatz zu JavaScript und Ajax und diese Begriffe, die normalerweise immer sozusagen das Böse waren und für Barrierefreiheit nicht zu benutzen waren. Und meine Idee ist zu sagen, wir machen die das Fundament vernünftig, wir machen das nach den allgemeinen Standards, wie man Webseiten barrierefrei macht und mach’ dann ein JavaScript oben drauf, um Seiten noch barrierefreier zu machen, noch schicker zu machen, noch cooler zu machen und neue innovativen Sachen wie Ajax und solche Sachen doch zu benutzen und es trotzdem funktioniert mit einer Sprachausgabe.
Üblicherweise sagt man dachte man immer, dass JavaScript für Leute, die Mobilitätseinschränkungen haben oder gehörlos sind, keine große Barriere darstellen und die größte Barriere ist die Zusammenarbeit mit der Sprachausgabe. Und dazu habe ich ein paar Beispiele vorbereitet, die habe ich vorher schon aufgenommen, um so ein bisschen was dazu zu erläutern und jetzt will ich hoffen, dass jederzeit meine Lautsprecher kommen, damit ich die anschließen kann und möchte in Vorbereitung erstmal erläutern, wie JavaScript und Sprachausgabe zusammenarbeiten, weil und es soll ja ein technischer Vortrag sein, weil es ging ja wirklich darum, heute morgen haben wir gehört, wie macht man das und wie funktioniert das und da muss man so ein bisschen verstehen, wie die Grundlagen sind einer Sprachausgabe und wie diese interagiert mit JavaScript. Und dafür möchte ich so ein bisschen erläutern, wie das miteinander funktioniert. Eine Sprachausgabe selbst arbeitet gar nicht direkt auf das, was man auf dem Bildschirm sieht.
Die Sprachausgabe macht sich eine Kopie von dem, was auf dem Bildschirm ist und von der internen Struktur und arbeitet auf ihrer Kopie. Wenn JavaScript nun das Original verändert, besteht das Problem, wann verändere ich die Kopie, um dann diese Kopie aktuell für die Sprachausgabe zu aktualisieren. Und diese Interaktion zwischen ich arbeite auf einer Kopie, ich habe das Original und auch die Interaktion mit dem Original, ich gebe etwas ein, möchte etwas verändern und ich möchte gerne diese Interaktivität mit JavaScript auch mit der Sprachausgabe haben und muss zwischen dieser Kopie und der dem Arbeiten auf der Kopie und dem Original immer hin- und herschieben. Und dann muss man sich einige Sachen überlegen, welche Modi gibt es zwischen den beiden, Kopie und dem Original und wie arbeite ich mit dem JavaScript.
Das verlangt so ein bisschen die Grundlage, dass ich weiß, wie ich mit JavaScript die Sachen aktualisiere, wie ich der Kopie sage, dass hier etwas Neues entstanden ist und in welchem Modus die Sprachausgabe sich befinden muss, damit ich Tastendrücke abfragen kann, weil normalerweise bewege ich mich mit einer Sprachausgabe auf einer Kopie. Ich gehe hoch, runter, links, rechts, bewege mich von Überschrift zu Überschrift, aber das passiert alles nicht auf der Originalseiten und die Originalseite bekommt diese Tastendrücke auch nicht mit. Das funktioniert nur, wenn ich in einem bestimmten Modus bin und das ist der Formularmodus. Und solche Sachen muss man sich zunutze machen und dann sagen, ich mache eine Seite barrierefrei und weiß von dieser Interaktion zwischen der Kopie und dem Original und dazu möchte ich ein paar Beispiele zeigen. Oh, ich muss ein bisschen nach links rüber oder setzen? Ah, ich setze mich mal hin. So, ich hoffe, dass die Induktionsschleife auch in Ordnung ist. Ah, das ist ja gut. Ich mache es ein bisschen langsamer, normalerweise arbeite ich mit einer etwas schnelleren Sprachausgabe. Ok, das ist in Ordnung so. Und ich habe hier die Yahoo!-Startseite. Normalerweise versucht man dann diese Seite dann so weit wie möglich an die aktuellen Standards zu halten, weil ich gehe in ein Formularfeld…
[Sprachausgabe: Yahoo! Suche Suche: ALT+S Eingabefeld 1]
Also ich habe ein Label, ich habe ein Eingabefeld, habe einen Accesskey und so weiter, kann gucken, was gibt es für Überschriften.
[Sprachausgabe: Werben mit Yahoo!, Services Überschriftebene 2]
…und ich bewege mich intern auf der Kopie, springe von Überschrift zu Überschrift und die Originalseite weiß gar nicht, dass ich mich auf dieser Kopie bewege. So, und jetzt möchte ich aber gerne eine zeigen, dass ich was ich etwas eingeben möchte und ich möchte trotzdem einen Suchassistenten haben. Zum Beispiel möchte ich ein Hotel eingeben und ich möchte diese Assistenten haben für jemanden, der z.B. eine reduzierte Fingerfertigkeit hat und gar nicht „Hotel“ schreiben möchte, sondern da möchte ich Cursor runter drücken.
[Sprachausgabe: Suche: ALT+S Eingabefeld wienho, Suche: ALT+S Eingabefeld wienho, Suche: t, Suche: ALT+S Eingabefeld wienhot, Suche: ALT+S Eingabefeld wienhot, Suche: ALT+S Eingabefeld wienhot, Suche: ALT+S Eingabefeld viennahotel, Suche: ALT+S Eingabefeld viennacapital, Suche: ALT+S Eingabefeld viennaairport]
Also alles, was zu Wien ist z.B. und das sind so die Schlagworte, die am häufigsten gesucht wurden. D.h. also in der Kombination mit einem anderen Begriff. Und jemand, der sagt, ich möchte gerne das schnell erreichen und ich möchte nur eine bestimmte Taste drücken, nämlich Cursor runter Cursor runter, dann bekomme ich diese Vorschläge und das funktioniert aber auch mit der Sprachausgabe, wenn man weiß ok, es visuell sieht das so aus, als ob ich mich im Menü hinunter bewege.
[Sprachausgabe: Suche: ALT+S Eingabefeld Wiener Hotels]
Und habe meine wiener Hotels und kann das auch aussuchen.
[Sprachausgabe: Formularmodus aus, Eingabe, zwei Prozent, einhundert Prozent, wiener Hotels – Yahoo! Suche Suchergebnisse, RSS]
So und kann direkt zu den Suchergebnissen.
[Sprachausgabe: springe nach oben, Sponsoren, Web-Ergebnisse Überschrift-Ebene 2]
Und kann dann direkt zu den Ergebnissen springen, kann die Liste der Ergebnisse anschauen.
[Sprachausgabe: Liste mit zehn Einträgen, 1. Überschriftebene 3 Link Hilton wiener Hotel – Hotels in Wien – Hilton international]
So und habe das erste Suchergebnis mit dem Hilton Hotel. Das heißt, ich habe das JavaScript, um es cool zu machen, ich habe die Vorschläge als Suchassistenten usw. und ich kann es trotzdem benutzen mit JavaScript und es ist nicht böse, es funktioniert alles noch. Die Grundlagen sind da und trotzdem habe ich es geschafft, dass die Sprachausgabe es trotzdem vorliest, indem ich das Wissen, dass ich ein Formularfeld updaten kann mit JavaScript, diese Interaktion trotzdem geschafft, dass es cool ist, dass es die Sprachausgabe funktioniert und jemand, der den Suchassistenten benutzen möchte, weil er nicht so viel tippen möchte und nicht die ganzen Tasten auf dem Bildschirm auf der Tastatur suchen möchte, mit einer einfachen Taste findet. D.h. es ist eine erhöhte Barrierefreiheit trotz JavaScript oder durch JavaScript und es funktioniert auch mit der Sprachausgabe. Und gibt es da vielleicht noch Fragen? Das ist ja ein technischer Vortrag und dann wenn dann irgend welche Fragen kommen, bitte sofort unterbrechen.
Frage aus dem Publikum: Ich hätte eine Frage. Die ist zwar nicht technisch, aber woher wissen Sie, wenn Sie mit Sprachausgabe arbeiten, dass eben so ein Suchassistent zur Verfügung steht bei dem Suchfeld?
Artur Ortega: Das wird als Title angegeben. Das habe ich bei mir ausgeschaltet, weil ich mit den Entwicklern, mit denen ich arbeite, die nur das anzeigen möchten, was auf dem Bildschirm ist. Weil normalerweise gibt es dann diese Hilfe, wenn man mit der Maus rüberfährt und normalerweise, wenn man im Feld drin ist. Das habe ich momentan bei mir ausgeschaltet. Und darüber weiß man, dass die Eingabe gemacht werden kann.
Ich zeige Ihnen noch ein paar andere Beispiele, wo das ähnlich genutzt wird. Also ich mache mal ich habe ein paar Beispiele. Also ich habe z.B. bei der Yahoo!-Suche. Also ich selbst spreche mehr über Sprachen und ähm suche öfter in mehreren Sprachen und dadurch, dass ich in England lebe, suche ich öfter mal auch nach deutschen Begriffen und habe ein Beispiel gemacht, wie man sagt, ich bin auf der italienischen Yahoo!-Seite, habe eine englische Sprachausgabe, weil ich in England lebe, suche trotzdem nach etwas Deutschsprachigem und möchte gerne diese Ergebnisse auch in der richtigen Sprache haben. Und ein Teil von Barrierefreiheit ist es, diese Informationen auch bereit zu stellen. D.h. ich mache eine Sprachauszeichnung. Ich sage, die Seite ist italienisch, ich sage, das ein Textstück ist in Deutsch, ein Textstück ist in Englisch und diese Zusatzinformationen, die sieht man nicht auf dem Bildschirm, die werden aber der Sprachausgabe weitergereicht. Und habe dann ein Beispiel, wo ich auf einer italienischen Seite nach einem deutschen Begriff suche. [Sprachausgabe spricht zu schnell]
[Sprachausgabe: Yahoo! Italia – Rest akustisch nicht verständlich]
Englische Sprachausgabe, gehe da durch die weiter, habe eine Liste mit den Auswahlmenüs [12:49]. Und bin auf dieser Seite, gehe auf die Suche [englische Sprachausgabe aufgrund der Stimmlage sehr schlecht verständlich].
[Sprachausgabe: enter] So eben eine englische Sprachausgabe. Ich gebe jetzt einen Text ein, weil ich bin zwar in Italien, möchte gerne aber was Leckeres in Südtirol suchen und gebe deshalb jetzt auch in Deutsch ein und mache dann die Suche. Und was ich bei Yahoo! Angeregt habe ist, diese Suchergebnisse, die sind auch gleich auszuzeichnen, weil Sie müssen ja raten, was für eine Sprache haben die Seiten. Wenn wir durch die ganzen Seiten durchgehen, müssen wir schätzen, was ist das für eine Sprache, die diese Seiten haben und speichern das auch, damit wir hier dann in Italien italienische hauptsächlich italienische Ergebnisse anzeigen usw. So, ich habe die Suche abgeschickt. [italienische Sprachausgabe sehr undeutlich].
[Sprachausgabe: wieder akustisch nicht gut verständlich; Yahoo! Italia Link Resultati … Südtirol Informationen – offizielle Webseite für Urlaub in Südtirol] und der schaltet automatisch auf Deutsch zurück.
[Sprachausgabe: Link das beste von Südtirol auf einem Blick Aussichtspunkte Sehenswürdigkeiten und Topevents haben wir für Sie ausgewählt TAB Cash Link] und man sieht also er springt zwischen zwei, drei Sprachen, weil man der Link selbst z.B. Cash usw. also die ganze Seite selbst ist Italienisch. D.h. die Sachen werden hier auf Italienisch vorgelesen, die Suchergebnisse sind Deutsch, die werden dann automatisch auf Deutsch vorgelesen.
[Sprachausgabe: … [Anfang schwer verständlich] Restaurants, Südtirol Italien] und die Sprachausgabe ist Englisch. Zusätzliche Informationen werden auf Englisch vorgelesen. So, das ist ein Beispiel. Diese Anregung habe innerhalb von einem Hackday meinen Webentwicklern vorgeschlagen und ist jetzt auf den meisten Yahoo!-Webseiten eingebaut. D.h. auch bei Yahoo.de, wenn ich was nach einem ausländischen Begriff suche und ich bekomme Ergebnisse in verschiedensten Sprachen, werden diese dann auch in dieser Sprache vorgelesen. Und ja das ist so ein Beispiel, wo man solche Informationen, die eh da sind, auch einbauen kann.
[Sprachausgabe extrem schnell, nicht verständlich]
Ja den Suchassistenten habe ich schon vorgeführt. So, ein anderes Beispiel ist, wie man JavaScript benutzen kann, um Sachen, die nicht sehr barrierefrei sind wie Flash, Video usw. barrierefrei machen kann. Und da habe ich auch ein Beispiel vorgeführt unserer Webseite, die Videosuche von Yahoo!. [Sprachausgabe spricht dazwischen] Und ich habe auf dieser Seite zusätzlich bei JavaScript eine Steuerung einbauen lassen für den Videoplayer, so dass ich den Videoplayer bedienen kann. D.h. ich habe ganz normale Links, diese Links haben Accesskeys, damit ich den Player bedienen kann, sind vernünftig beschriftet, so dass ich diesen Videocontrols benutzen kann, also diesen Abspieler und trotzdem sieht es auf dem Bildschirm so aus, als ob nichts zusätzlich da wäre, aber für meine Sprachausgabe ist es da, weil es sozusagen versteckt auf in der Seite eingebaut wurde. Und bei JavaScript steuere ich dann den Videoplayer den Flash-Videoplayer, der nicht barrierefrei ist. Der Hintergrund, warum er nicht barrierefrei ist, ist es wird ein bestimmter Abspielmodus gezeigt, damit man Sachen überblenden kann und es liegt dann in der Natur der Technik bei diesem Überblenden-Modus, dass die Sprachausgabe nicht an die Daten herankommt und somit auch nicht steuerbar wäre, aber durch die JavaScript ist es nun möglich, diese Sachen anzusteuern. Und ich zeige in diesem Video gleich, dass am Anfang, wo ich mit dieser Sprachausgabe bediene und sie sehen sie ist unsichtbar. Und dann lasse ich die einblenden
[wieder extrem schnell eingestellte Sprachausgabe und akustisch nicht verständlich] So, ich stecke die jetzt einmal an. So, das ist die Videoseite, ich fange gleich an, was zu suchen. [Sprachausgabe spricht dazwischen] So, habe da einen Playercontrols, kann also meinen Video habe meinen Play-Button usw. und kann Vor-, Zurückspulen, starten, habe meine Tastendrücke dafür, damit ich während des Videos [Sprachausgabe akustisch nicht verständlich]. So und starte das Video über JavaScript [Video läuft zusammen mit Sprachausgabe]. So, hab Pause gedrückt und kann es dann einblenden [Video läuft wieder zusammen mit Sprachausgabe]. So, kann die Lautstärke verändern hoch, runter [wieder Video mit Sprachausgabe zusammen]. So, Lautstärke hoch und runter, funktioniert alles, aber durch JavaScript, sonst wäre es nicht möglich, dass ich diesen Videoplayer barrierefrei hinbekomme [im Hintergrund läuft noch immer das Video mit Sprachausgabe]. So, so und jetzt lasse ich es einblenden. Jetzt sieht man, was ich was die Sprachausgabe bekommt auf dem Bildschirm. Man sieht dort, die Videocontrols wird dadurch eingeblendet ganz klassisch, als Liste, vernünftige Buttons, vernünftige Accesskeys, ganz normal wie die normale barrierefreie Web als Fundament da ist und kann dann wirklich das Ding so bedienen, wie man das so jetzt auf dem Bildschirm sieht. Es ist bei CSS versteckt worden. D.h. es ist sozusagen Barrierefreiheit unter der Haube und bei JavaScript hinzugefügt worden. Ich unterbrech’ das mal, die schöne Musik und das ist so ein Beispiel, wo man sagen kann, man macht einen coolen Videoplayer und der ist trotzdem barrierefrei durch JavaScript. Gibt es dazu vielleicht noch Fragen, wie das funktioniert, wie das gemacht werden kann? Ja?
Frage aus dem Publikum: Ich habe da eine Frage zu dem vorherigen Beispiel da mit den Suchergebnissen, die unterschiedlich ausgezeichnet werden. Ich verstehe nicht ganz, welche Rolle oder wo da jetzt der oder die JavaScript-Relevanz… das kann ich doch vom Server bereits generieren lassen, mit welcher Sprache ich gewisse Zeichen vorlesen lasse.
Antwort Artur Ortega: Naja, das war nur ein Beispiel, wie man die Sachen einbauen kann. Die das JavaScript war ursprünglich da, um den Technikern zu zeigen, wie es funktioniert. Es war so, dass die Suchergebnisse bei so gut wie allen Websuchmaschinen diese Sprachauszeichnung nicht haben, aber einen Übersetzungslink haben. Ich habe ein JavaScript geschrieben gehabt, das diesen Übersetzungslink nimmt, schaut, von welcher Sprache in welche Sprache übersetzt werden soll, habe mir dort diese Information rausgezogen und diese dann ins HTML eingebaut. Das war ein GreaseMonkey-Script und dieses Script habe ich den Technikern für die Suche in den USA und in Deutschland gezeigt in England gezeigt und gezeigt, was diese Sprachauszeichnung macht, indem ich dieses JavaScript geschrieben habe, diese Information rausziehe und einbaue. Und da ich denen das gezeigt habe und denen vorgeführt habe, wie super das klingt, wie cool das klingt, wenn man unterschiedliche Sprachauszeichnungen hat, wie super das ist, wenn man eine italienische Seite hat, deutsche Suchergebnisse und die deutschen Suchergebnisse werden auf Deutsch vorgelesen. Und die fanden das wirklich super cool und haben gesagt, das müssen wir sofort einbauen und ab sofort ist es jetzt Server seitig eingebaut. Und das ist auch so eine Geschichte, wo man sagt, man kann JavaScript auch benutzen, um Leuten zu zeigen, was man verbessern kann. Und das war genau so ein Beispiel, wo ich mit JavaScript die Seite, die Yahoo!-Seite selbst verändert habe, weil ich bin nicht ein Teil von der Yahoo!-Suche, ich mache Redaktionssysteme und konnte denen zeigen, schau’ dir das an, hör’ dir das an, wie cool das ist. Und dann wurde es Serverseitig eingebaut.
Frage aus dem Publikum: Ja und zu der Videosteuerung habe ich noch eine kurze Frage. Haben Sie da über das Page-Plugin einen Layer drübergelegt, der dann die …. [nicht verständlich, weil zu weit weg vom Mirkofon]?
Antwort Artur Ortega: Ja, gerne. Nein, es ist so, wir haben dieses Flashvideo hat eine offene API und diese API die gibt es auch bei den Konkurrenten wie YouTube usw. die haben meistens eine JavaScript-Schnittstelle, über die ich bei JavaScript an das Flash herankommen kann. Und dann kann ich solche Funktionen ausführen von JavaScript aus wie Play, seek forward, also vorwärts spulen, zurückspulen usw. Und diese Funktionalität, die steckt in einem JavaScript. Nur JavaScript kann dies sozusagen starten und die muss ich herausziehen für den normalen Benutzer, weil das sind nur für Techniker diese APIs, weil ein Techniker weiß dann, wie er die ansprechen muss bei JavaScript, aber das ist zu kompliziert für jemanden, der die Videoseite benutzen möchte und deshalb macht dann jemand sozusagen ein paar JavaScripts, wie diese Funktionalität eingebaut, auf vernünftige Buttons, auf vernünftige Accesskeys usw. und dieses JavaScript greift dann diese API, dieses Flash auf. Und das ist auch auf sehr viele Flashplayer übertragbar, die es gibt. D.h., per reinem HTML wäre diese Interaktion zwischen der API und den richtigen Aufrufen nicht möglich und es geht theoretisch nur durch JavaScript. Und damit kann man sozusagen diese Funktionalität erreichen. Ist das so weit in Ordnung? Ja ok.
Frage aus dem Publikum: Ich habe eine Frage zu Videos. Das Problem dieser mehrschichtigen Töne, die da die Sprachausgabe bringt, wir sind grad dabei, jetzt Videos mit Untertiteln zu erzeugen, d.h. ich erzeuge mit einer Sprachausgabe drei Ebenen: auf der einen Seite die Steuerung des Players, das über die Sprachausgabe läuft, den Originalton des Videos und den Ton vom Untertitel. Ist es danach noch möglich, damit überhaupt noch etwas anzufangen?
Antwort Artur Ortega: Die Frage stellt sich, was man genau hören möchte. Deshalb haben wir uns entschieden, die Lautstärkeregelung nicht nur auf Buttons zu legen, sondern auch auf Accesskeys. Wenn z.B. eben das Video gespielt hat, man konnte kaum die Sprachausgabe verstehen. Aber dadurch, dass bevor ich mein Video gestartet habe, weil das Video startet nicht automatisch. Wenn das Flash erkennt, es ist eine assistive Technologie eingeschaltet auf dem Rechner, startet das Video nicht automatisch. Damit habe ich genügend Möglichkeiten, mit der Sprachausgabe die Seite zu erkunden und weiß, dass es eine Videosteuerung gibt, die ich per Sprachausgabe bedienen kann und diese haben auch zusätzlich Tastenkürzel. D.h., wenn das Video laut ist und ich höre mir das an, dann ist es nicht möglich zu navigieren gleichzeitig. Deshalb habe ich das auf Accesskeys, die ich dann bedienen kann und währenddessen kann ich die Lautstärke runterregeln. Bei Untertitelung ist es ja meistens so, dass es für hochgradig Schwerhörige, für Gehörlose oder Leute, die nicht der Sprache mächtig sind, die im Video gezeigt wird und normalerweise sind die nicht per Sprachausgabe ausgegeben. Würde man das für eine Sprachausgabe machen, würde man so eine Konstruktion machen, wie ich habe ein Textfeld und dieses Textfeld date also dieses Textfeld aktualisiere ich mit meinem JavaScript mit dem Text, der für den Untertitel da ist. Dieser Text würde dann immer, jedes Mal, wenn der Text sich im Eingabefeld ändert, von der Sprachausgabe vorgelesen werden. Dann hätte ich aber die Möglichkeit, zu sagen, ich mache die Sprachausgabe auf stumm, das hat jede Sprachausgabe, damit ich nur den Ton höre, aber ich kann auch per Tastendruck den Ton des Videos leiser machen, damit ich meine Sprachausgabe besser höre. D.h. man hat hier getrennte Steuerung von den beiden Audiokanälen, sozusagen auf welchen Ton ich mehr Wert lege. Und damit hat man diese Möglichkeiten, diese ein bisschen zu trennen.
Frage aus dem Publikum: Ist das abhängig von diesen Mediaplayern oder von der Sprachausgabe oder Software? Antwort Artur Ortega: Die Videoplayer selbst bieten meistens nur die Einblendung an. D.h. es ist keine Sprachausgabeaktion da. D.h. also es ist nur der Videoplayer selbst, der den Ton macht. Meine Sprachausgabe selbst steuert nur den restlichen Inhalt.
Frage aus dem Publikum: Nein, die Frage war ja, wir haben jetzt mehrere Videoplayer, die diese Untertitelung automatisch haben. Da gibt es mehrere Standards, SMI von Microsoft oder ET, wo eben XML-Files synchron mit den Videos das machen.
Artur Ortega: Ja, ist richtig.
Weiter in der Frage aus dem Publikum: Ist diese Tonregelung für Sie getrennt steuerbar, die Untertitelung mit der Sprachausgabe und der Originalton?
Antwort Artur Ortega: Also meine Sprachausgabe kann ich getrennt steuern auch, aber ich regle ja normalerweise den Ton des gesamten Videos und damit regle ich damit auch den gesamten Ton des Videos selbst. Die Sprachausgabe und Untertitelung gleichzeitig ist ein besonderes Phänomen, das man ein bisschen anders lösen muss als zu sagen es nur einblenden. Also ein Beispiel wäre ein aktualisiertes Eingabefeld, Textarea, das sich passend dazu updatet. Das wäre so ein Beispiel, wo man dann Sprachausgabe gleichzeitig erreichen kann und das geht auch nur bei JavaScript, weil man hat ein Textfeld, das wird aktualisiert abhängig davon, wo sich das Video gerade befindet und damit wäre es mit der Sprachausgabe bedienbar.
Frage aus dem Publikum: Ich habe auch eine Frage zu dem Video und zwar die JavaScript-Kontrollen waren zwar jetzt ich glaube in der Demo immer eingeblendet, aber ich …, dass die eigentlich off-screen … [zu leise, weil zu weit weg vom Mikrofon]
Antwort Artur Ortega: Genau, ich kann genau hier z.B. …
Anmerkung aus dem Publikum: Das Problem ist ja, dass man mit einem Screen-Reader diese Sachen vorgelesen bekommt, aber wenn man dann einfach nur durchtabbt, weil er … [Sprachausgabe spricht dazwischen] deshalb frage ich mich, wäre es nicht einfacher, wenn man die immer einblendet?
Antwort Artur Ortega: Ja!
Anmerkung aus dem Publikum: beziehungsweise warum funktionieren die in dem Flash erstmal nicht? Man könnte ja auch Flash barrierefrei machen.
Artur Ortega: Ja, das sind zwei Gründe. Einmal hängt es davon ab, wie das Flash eingebunden wird, ob man zusätzliche Informationen drauflegen möchte. Dieser Flash-Modus heißt Opaque-Modus und dieser Opaque-Modus überlagert sich über den Browser. D.h. man hat keine Interaktion zwischen Browser und dem Flash. Und durch diese durch dieses Überlagern gibt es keine Informationskette zwischen Flash und dem Browser. D.h. die Sprachausgabe kommt da nicht dran in diesem Opaque-Modus. Das ist die eine Barriere. Die zweite ist mit dem Einblenden. Ja, es ist so, dass diese Video-Controls nachträglich eingebaut wurden. Die wurden eingebaut, nachdem ich das angeregt habe, dass die das einbauen sollen, war aber schon durch die sozusagen das Design-Phase, wie soll die Seite aussehen, durch. Es wird momentan redesignt, um dann diese Controls auch auf dem Bildschirm anzeigen zu lassen, die dann durch Tabs erreichbar sind. Das ist sozusagen aktuell die Zwischenstufe, die ich jetzt sozusagen per CSS einblenden ließ. Also normalerweise ist es so, dass diese Seite selbst kein, dass es nicht zu sehen ist [Sprachausgabe spricht sehr schnell]. So, wir machen das langsamer. Und normalerweise ist es nicht zu sehen.
Wiedergabe der Sprachausgabe: Liste mit 4 Einträgen Link Yahoo! Link mein Yahoo! Mail Funktionen zum Abspielen des Videos Überschriftebene 4.
So und das ist nicht eingeblendet. In der nächsten Design-Phase wird das dann benutzt. Ich fand es bloß wichtig, dass es jetzt eingebaut wird, auch wenn es sozusagen nicht redesigned wird. Es ist momentan die Lösung, dass es ausgeblendet wird, aber die Funktionalität trotzdem da ist. Es gibt eine zusätzliche Hilfe auf der Seite, wo diese Tastaturkürzel wie ALT+1, ALT+2 usw. erläutert werden für Leute, die das nicht auf dem Bildschirm sehen. Anmerkung aus dem Publikum: Ganz kurz, und dieser Opaque-Modus ist nötig, dass man Sachen überlagern kann, allerdings wird das Flash-Video immer über alles drauf sein. Wenn ich jetzt eine Navigation habe, die ein Menü ist, kann ich nicht mehr Flash drüberlegen, aber mit dem Opaque-Modus kann ich das machen. … [nicht verständlich, weil Geräusche dazwischen] überhaupt keinen Zugang per Keyboard zu Flash habe. D.h. innerhalb von Flash wird man kann ja auch Flash accessible machen, ist ein ganz schöner Gedanke, aber passt nicht wirklich. Deswegen macht so eine Flash-Steuerung mehr Sinn. Ob die Knöpfe sichtbar sein müssen, ist eine Design-Lösung. Das zweite Problem ist, dass bei jeder Video-Seite wirklich das läuft, diese Videos auch andere Seiten einbinden können. Mit den HTML-Kontrollen kann ich nicht andere Seiten einbinden. Deswegen müssen die Knöpfe im Flash sein und auch außerhalb vom Flash. Normale User, die nur ….. [Sprachausgabe redet dazwischen und ist näher am Mikrofon].] Ja, also das sagt so ein bisschen auch der Begriff Opag, ist sozusagen übersetzt transparent, d.h., es ist durchsichtig und schimmert sozusagen über die anderen Sachen drüber. Und dadurch besteht sozusagen vom von der technischen Konzeptweise her da keine Zugriffsweise. Ja, das ist sozusagen der Bereich Video. Ein anderes Beispiel, das hat ein Kollege von mir gemacht, der ja?
Frage aus dem Publikum: Gibt es jetzt irgend einen Trick, sich diese ausgeblendeten Felder anzeigen zu lassen?
Antwort Artur Ortega: Ja. Man kann jederzeit sich das CSS ausschalten lassen. Also ich kann es per Tastendruck STRG+S habe ich mir das CSS beim Firefox einfach so ausgeschaltet. Es ist momentan nur eine Zwischenlösung. Das ist eine Lösung, die das barrierefrei macht, weil man es sofort auf den Tastendrücken hat. D.h. jemand, der das nur per Tastatur bedient, hat es auf den Tastendrücken, es ist auf der Suche erläutert. Die Tastendrücke sind auch für jeden erreichbar, wenn man die Tastenkürzel weiß. Für die Sprachausgabe ist es da, man muss da nichts am Design ändern. Und damit war es relativ schnell barrierefrei, ohne am Design etwas zu ändern.
Auf dem nächsten Beispiel möchte ich gerne zeigen, also ein Kollege von mir, Dirk, der sitzt ein paar Tische weiter bei mir in London und mit ihm zusammen habe ich an den Yahoo!-Finanzseiten gearbeitet. Wir redesignen momentan die amerikanische Seite und danach dann die europäischen. Und ein Beispiel davon war eines unserer beliebtesten Tools bei der Finanzseite war der Währungsumrechner. Und die Idee war, wie kann man den Währungsumrechner nicht nur barrierefrei machen, also der funktioniert auch ohne JavaScript und wie kann man den auch ein bisschen schicker machen mit JavaScript. Und er hatte die Idee gehabt, zu sagen, ich möchte gern die Währungen aussuchen durch Select-Felder, ich möchte gerne eine Liste Eingabefelder haben, aber ich möchte gerne, dass die das JavaScript die Leute bei der Eingabe unterstützt. Also er springt gleich zum Ergebnis, er springt gleich zu dem Feld, wo ich dann die die Zielwährung ändern kann usw. Aber man kann noch was zusätzlich einbauen, nämlich die Labels dynamisch machen. D.h. also als barrierefrei würde man sagen, ich mache jedes Eingabefeld mit einem vernünftigen Label, aber in diesem Fall ändere ich die Labels selbst abhängig davon, wie die anderen Eingabeformularfelder da sind. Jetzt starte ich das kurz. [Sprachausgabe spricht dazwischen, aber sehr schnell] So, ich suche mir die Währung aus. So, dann mache ich es langsamer [noch immer zu langsam, um die Sprachausgabe über die Entfernung zum Mikrofon zu verstehen] ändere die Währung, also die Anzahl und kann dann sagen, die Cents in die Währung ändern. Aber normalerweise [Sprachausgabe zu undeutlich] und das interessante ist, dass ich [immer noch zu undeutlich] ich ändere die Währung. Und man sieht auch hier das Ergebnis. Also er liest das vor, das er mir sagt, das ist das Ergebnis in Yen. Dieses Label wurde per JavaScript geändert.
D.h. das Ergebnis würde sagen würde man sagen, das ist das Ergebnis der Umrechnung [Sprachausgabe spricht im Hintergrund weiter], aber diese diese Umrechnung wäre nicht so schön, wenn man nicht weiß, was habe ich denn umgerechnet. So und wechsle dann in die Eingabefelder und die Labels werden geändert abhängig davon, wie ich die Währung umrechne, von nach [Sprachausgabe spricht während des Vortrages weiter]. Calculated result in US Dollar. Und damit zeige ich im Prinzip, dass es ein bisschen besser wird, wenn ich JavaScript benutze. Ich lasse es gleich einblenden. [Sprachausgabe spricht sehr unverständlich] Und er sagt mir, wie viel Euro will ich eingeben. D.h. das JavaScript selbst ändert die Labels abhängig davon, wie ich die anderen Formularfelder geändert habe. Das ist barrierefrei von Anfang an, es funktioniert auch ohne JavaScript, aber ich habe bei JavaScript genau das, was ich per Ajax machen würde. Er holt sich den aktuellen Kurs per Ajax-Befehl, also Web 2.0ig [lacht] und sagt mir aber auch dann beim nächsten Eingabefeld gebe ich hier die US Dollar ein. D.h. ich die Labels werden dann wirklich passend dazu wie die Währung eingegeben auch aktualisiert, umgerechnet und die Eingabefelder ändern sich passend dazu. Und dann macht es das ein bisschen schicker, Ajax funktioniert immer noch und ich muss das Formularfeld nicht unbedingt abschicken. Das funktioniert nur, wenn ich JavaScript aus habe. Und es funktioniert visuell und mit der Sprachausgabe. Und diese zusätzlichen Informationen bekäme ich auch als Tooltip. D.h., wenn jemand mit der Maus rüberfährt, was ist das für ein Ergebnis, zeigt dann das Tooltip an „Ergebnis in US Dollar“.
Und das macht sozusagen es ein bisschen cooler, ein bisschen schicker und ich nutze JavaScript, um das sozusagen für alle ein bisschen schicker zu machen und nicht nur für denjenigen, der den Währungsumrechner generell benutzt. Das ist sozusagen jetzt nur ein Ausschnitt von der Seite, die dann bald online geht mit noch ein paar neuen zusätzlichen Sachen. Also das ist sozusagen schicker machen durch JavaScript. Und wenn JavaScript aus ist, ist es halt dann von Währung nach Währung, ohne dass die Währung wirklich genau bezeichnet wurde. Und solche Ideen so was wäre wirklich super, wenn Techniker, die davon Ahnung haben, wie das funktioniert, wie das gemacht wird, dass sie nicht nur die Labels machen und sagen, Währung 1, Währung 2, das ist das Ergebnis von Währung 1 oder Währung 2, sondern sich dann überlegen, mit JavaScript, was kann ich da wirklich noch schicker machen und was kann ich besser machen und es funktioniert dann erst recht mit der Sprachausgabe und es klingt besser mit der Sprachausgabe. Und das möchte ich auch so ein bisschen mit meinem Vortrag so ein bisschen sozusagen rüberbringen, dass man sagt, man kann Sachen auch mit Ajax die Abfragen machen, man kann die Sachen updaten und wie kann ich es trotzdem machen, dass es barrierefrei ist, mache die Fundamente vernünftig, mache die HTML vernünftig, halte mich beim HTML an die Standards und mache dann obendrauf noch zusätzliche Sachen, damit es für alle noch ein bisschen schicker wird und ohne dass ich dann noch dabei Funktionalität kaputt mache und so weiter. Das ist so das, was ich zeigen wollte. Gibt es zu dem letzten Bereich noch einmal Fragen oder hat jemand eine Idee, was er gerne machen würde mit JavaScript und Sie sind sicher und hat vielleicht noch Fragen dazu?
Anmerkung aus dem Publikum: Also ich hätte da nur eine prinzipielle Anregung … Flashplayer [zu weit weg vom Mikrofon]. Und zwar ist jetzt das Problem aufgetaucht, dass dann auf einmal zwei Controls gleichzeitig am Bildschirm waren usw. und jetzt gibt es da eigentlich einen ganz guten Ansatz, einen prinzipiellen Ansatz, wie man solchen Problemen entgegen tritt. Und zwar für alle, die sich für das Gebiet interessieren, … [wieder schwer verständlich] werden solche Ansätze dort diskutiert.
Weitere Wortmeldung: Entschuldigen Sie, ich habe den Namen nicht verstanden.
Weiter in der vorigen Anmerkung: Jesse Skinner bzw. ich habe jetzt auch eine Diplomarbeit geschrieben genau zu dem Thema, wie man eben genau solche Probleme angeht. Bei dem … Beispiel von dem … würde es so aussehen, dass der Server eine HTML-Seite auf dem … Flash-Player integriert und die entsprechenden HTML-Controls gleich mitliefert, dann wäre das eben beides am Bildschirm. Das wäre jetzt quasi der Schritt 1. Jetzt wird dann der Flash-Player checken, ob JavaScript vorhanden ist oder nicht. Wenn der Flash-Player feststellt, JavaScript ist nicht vorhanden, lässt er die HTML-Controls leer, auch grafisch, und gibt seine eigenen Controls weg. Dadurch könnte man z.B. visuell auch kontrollieren. Und dann im nächsten Schritt könnte man checken, ob JavaScript vorhanden ist und dass JavaScript vorhanden ist, kann ich auch im Flash-Player die Controls weg oder die JavaScript- oder die HTML-Controls wegklicken. D.h. per JavaScript kann ich dann checken, wie ist der Zustand, wenn JavaScript vorhanden ist, könnte eben JavaScript dem Zustand der Seite entsprechen. Und das Konzept heißt eben … [leider ebenfalls nicht verständlich].
Artur Ortega: Ja, was ein bisschen kritisch ist, ist der Bereich JavaScript/nicht JavaScript, weil was die meisten Leute vergessen, ist, die meisten Blinden surfen mit JavaScript und JavaScript ist an. Und die Vermutung, dass dann sozusagen JavaScript ist da, dass die Sprachausgabe nicht da ist, ist meistens Fehl am Platz. Deshalb haben wir z.B. normalerweise ist es so, man geht auf die Seite und man möchte gerne das Video sofort sehen und normalerweise ist auch AutoPlay da. Aber mit JavaScript und Flash usw. kann man abfragen, ist eine zusätzliche assistive Technologie vorhanden, eingerichtet im Rechner. D.h. nicht unbedingt, dass es die Sprachausgabe ist. Vielleicht ist auch eine Kopfmaus, vielleicht auch eine Bildschirmtastatur, was genau drin ist, das kann man nicht abfragen. Aber was man weiß ist, die meisten Leute nutzen JavaScript. Und deshalb ist es immer ein bisschen gefährlich, sozusagen JavaScript zu benutzen und Funktionität ein- und auszuschalten, die weil JavaScript diese Interaktion zwischen JavaScript und Sprachausgabe ist immer da. Und das ist genau das, was man zwischendurch auch wirklich testen muss, wie ist die Interaktion und werden die wird die Kopie von JavaScript sozusagen die Sprachausgabenkopie auch aktualisiert. Und bei diesem Einsetzen ich mache dann sozusagen ich habe alles funktionieren ohne JavaScript. Wenn JavaScript da ist, mache ich ganz viele Sachen. Aber da muss man vorsichtig sein. Das Beispiel mit dem Währungsumrechner ist so, dass ich die Umrechnung machen kann ohne JavaScript, aber bei JavaScript muss ich das Formular nicht abschicken, ich bin sofort auf dem Ergebnis des der Währungsumrechnung und die Labels sind angepasst. Aber ich kann nicht so was machen wie ständiges Aktualisieren des Ergebnisses während ich eine Zahl eingebe, weil das sähe ja schick aus, das Problem ist nur, wenn man bei JavaScript meine Sprachausgabe alle Veränderungen lesen würde während ich eingebe und das würde sozusagen diese gesamten Eingabefluss stören. Deshalb ist das so ein bisschen schwierig zu sagen, man muss immer im Kopf behalten, JavaScript aus also JavaScript an bedeutet nicht Sprachausgabe aus. Das ist ganz, ganz wichtig. Und erst recht, wenn es um Ajax geht, um Aktualisierung usw.
Anmerkung aus dem Publikum: Das zweite Problem ist, dass die Player-IPI überhaupt nicht zugänglich ist, wenn ich das Flash nicht mit JavaScript ausschalte. Also es macht um Einiges mehr Sinn, Flash mit JavaScript auszuschalten mittels Flip-Object, weil dann kann ich auch prüfen, ob Flash vorhanden ist. Wenn kein Flash vorhanden ist, gibt man nur den normalen Link zu den Video an beispielsweise und die Funktionalität, das man sagt, wir bringen das Flash-Film rein und die Knöpfe … [Sprachausgabe redet dazwischen]. Die Knöpfe machen ohne JavaScript überhaupt keinen Sinn, deshalb sollten sie niemals ohne JavaScript da sein. Und ich kann vor dem Flash nicht testen, ob JavaScript vorhanden ist, sondern andersrum.
Weitere Anmerkung aus dem Publikum: Ja, das ist schon klar, ich glaube, wir reden da jetzt ein bisschen aneinander vorbei. Es ist ja vorher nur darum gegangen wegen dem Problem, weil das Problem aufgetaucht ist, … wo man zwei Controls hat und die kann ich in Zukunft vermeiden. Weitere Anmerkung aus dem Publikum: Das einfachste ist einfach, glaube ich, zu sagen, außer Flash-Kontrollen anzeigen …, das ist die Aufgabe des Users und nicht der Technik. [die beiden diskutieren kurz weiter, reden aber gleichzeitig]
Ja genau, dafür gibt es ja den Abend heute. [lachen] Ich glaube, da gibt es auch noch mehrere Fragen an mich, wie JavaScript genau gemacht werden kann, dass es funktioniert. Wir haben mehrere Beispiele, nämlich momentan mit Unterstützung wie macht man auch Ajax generell bei JavaScript und trotzdem der Sprachausgabe aktuell und passt man das an. Dazu gibt es auch mehrere Anleitungen dazu, die sehr ins Detail gehen, wie ich der Sprachausgabe mitteile, es hat sich was im Original geändert, bitte gleiche die Kopie ab mit meiner Sprachausgabe mit dem Original und habe dann diese Interaktion zwischen dem, was ich eingebe und dem Bildschirm. Und das ist sozusagen das, was wichtig ist. Und wenn hier wirkliche Techniker sitzen, die dann sagen ja, ich möchte gerne JavaScript und ich habe vorher aber die Seite vernünftig gemacht, die auch ohne JavaScript funktionieren würde, ich mache aber Ajax. D.h. ich nutze JavaScript und mache Abfragen, während die Seite nicht reloaded wird und mache die dann aber so, dass sie keinen Benutzer wirklich ausschließen. Also ich muss daran denken, dass jemand es trotzdem bedienen kann, wenn er nur die Tastatur bedient, muss daran denken, dass die Sprachausgabe die Aktualisierungen mit vorliest und diese Sprachausgabe dann auch in Konkurrenz steht zum Videoplayer und dass der Ton in Konkurrenz steht und dass z.B. auch Zugriffstasten wirklich wichtig sind, weil man nicht gleichzeitig navigieren kann mit einer Sprachausgabe und gleichzeitig ein Video anhören. Solche grundlegenden Sachen müssen bedacht werden, wenn man JavaScript benutzt. Und aber andererseits kann man Sachen wirklich cool machen und wirklich schick. Und das ist so mein Vortrag. Ich hoffe, das ist so weit in Ordnung. Ja, gerne.
Frage aus dem Publikum:_ Ich habe noch eine Frage und zwar, wie sieht das mit, also Sie haben es vorher kurz angesprochen, dass eben die Kommunikation zwischen … Screen-Reader und der Seite …. Wie sieht das mit dem Testverfahren aus? Ich nehme einmal an, dass es nicht nur einen Screen-Reader gibt, sondern mehrere Produkte, viele davon sind kommerziell. Wenn man jetzt …, dann sind sämtliche Screen-Reader … gibt es da ein Referenzsystem oder gibt es bestimmte Guidelines, die in Entwicklung sind, wo …? [leider nicht alles verständlich, weil zu leise bzw. zu weit weg vom Mikrofon]
Antwort Artur Ortega: Es ist so, es hilft nicht immer, ganz ohne Testen auszukommen. Was sehr wichtig ist, ist, dass man die Hinweise, die man im Netz gibt wie, wie date ich einen Puffer auf, wo die also so nennt sich die Kopie auf. Und so ist die Grundfunktionität von den ganzen Sprachausgaben, weil die Sprachausgaben wollen an der Struktur arbeiten, die wollen wissen, was für Überschriften habe ich, was für Listen habe ich, aber die sind visuell immer ganz anders dargestellt. Wir können als eine Liste können wir als Menü quer auf dem Bildschirm sein und man sieht nicht daran, dass es eine Liste ist. Und diese zusätzliche Information, die wird immer sozusagen in Kopie der Sprachausgabe zur Verfügung gestellt. Das ist sowohl bei NVDA, dieser also der kostenlose Abspieler. Es ist bei Window-Eyes und bei Jaws usw. so der Fall. Firefox 3.03 ist versuchen sie sehr stark so anzupassen, dass er auch mit NVDA, dem kostenlosen non-visual Desktop zu laufen zu lassen, so dass man es trotzdem benutzen kann und testen kann. Ja, das ist aber ganz ohne Testen geht es nicht.
Was sehr wichtig ist aber für die Entwicklung ist, dass man ein Tool hat, dass das HTML kontrolliert, nachdem es bei JavaScript verändert wurde, weil wir sind aus den Zeiten raus, wo Web 1.0 diese HTML-Seite einmal durch Bobby durchgeschickt wurde und dann hat man also sozusagen überall die Haken dran gemacht und dann sagt man ok, diese Seite ist in Ordnung. Heutzutage ist es aber so, dass das JavaScript dieses HTML verändert und sogar sehr stark verändert. Es kann sogar so verändert werden, dass es dann nicht mehr barrierefrei ist. Und da ist sozusagen das die Schwierigkeit mit dem automatisierten Testen. Wie teste ich Seiten, die bei JavaScript nachträglich sozusagen nicht mehr barrierefrei sind? [jemand im Publikum sagt etwas] Ja oder Wave als Toolbar für den Firefox, der hat sozusagen es gibt Toolbars wie Wave, die dann sagen, ich schaue mir die Seite an, so wie die States von JavaScript geändert wurden, nachdem alles geladen wurde und gucke, was hat sich wirklich verändert, wie ist die Seite aufgebaut, welche Elemente wurden durchgereicht. Ist auch für den Designer sehr angenehm, der CSS durchschaut und sagt, ok, dieses untere Element hat sich so und so verändert durch die gesamte Vererbung und das sind die Tools, mit denen man arbeiten muss. Es macht aber einen automatisierten Test kaum noch möglich, wenn man sagt, ich habe ein JavaScript, dass sich ändert abhängig von der Eingabe, die ich mache wie z.B. das der Suchassistent. Solche Sachen sind nicht automatisierbar, testbar, aber sie müssen trotzdem barrierefrei gemacht werden.
Und das eröffnet neue Bereiche für automatisierte Tests, die nicht so funktionieren. Aber trotzdem möchte man das gerne per JavaScript aktuell machen, schick machen usw. Und das muss man auch im Hinterkopf haben, wenn man auch solche Sachen in Auftrag gibt. Es müssen wirklich mit blinden Leuten, mit jemandem, der eine reduzierte Fingerfertigkeit hat, um dann wirklich mit der Maus zu die Seiten zu bedienen, es müssen echte Behinderte die Seiten testen. Das ist wirklich wichtig, erst recht, wenn es um große Seiten geht. Bei mir ist das so, ich arbeite zwar für die internationalen Redaktionssysteme und trotzdem kommen abends immer Kollegen vorbei, kannst du nicht mal kurz testen, wie das mit den was weiß ich barrierefreie Tabs oder irgend welche Sachen. Ich habe da so was ausprobiert, kannst du es mal mit der Sprachausgabe testen. Und die ganzen Leute, die da sitzen, die haben die neuesten Tools, haben die neuesten Browser usw., testen das auch, nutzen den Microsoft Event Effered (?), um dann die ganzen Events abzufragen usw. Aber trotzdem funktioniert es nur, wenn man es wirklich testet und man weiß, funktioniert das mit der Sprachausgabe.
Anmerkung aus dem Publikum: Zum Thema automatisiertes Testen ist weiters zu bedenken, ich arbeite selbst in einem Projekt mit, wo man drei Jahre der Entwicklers Meinung nach sehr erfolgreich getestet hat und dann komme ich mit einer wirklichen Userin habe ich das getestet. Sie war absichtlich keine Testerin und sie hat, wenn ich sage, zwischen €6.000,00 und €8.000,00 dem Team herausgezogen, dann liege ich zweit darunter im Preis, weil die gesagt hat, das funktioniert nicht, das funktioniert, weil, was natürlich hier hinzugekommen ist, was natürlich die automatischen Tools nicht bedenken, die gehen immer von einer Perspektive aus. Wenn Sie von meiner Perspektive ausgehen, von jemandem, der nur eine Hand verwendet beispielsweise, dann sind das andere Möglichkeiten oder andere Probleme. Meine lieblings-akrobatischste Funktion z.B., ist zwar ein anderes Thema, aber in Word z.B., um den Seriendruck auszulösen, muss man drücken ALT+SHIFT+N. So, jetzt gibt es zwei Möglichkeiten, entweder es steht wer daneben oder ich breche mir die Finger.
Anmerkung Artur Ortega: …oder Sticky keys
Weiter in der Anmerkung aus dem Publikum: Diplomatisch, wie ich bin, nehme ich die erste Möglichkeit, aber ich glaube einfach, und da gebe ich Ihnen völlig recht, die automatisierten Tests sind mittlerweile echt einigermaßen gut, aber 100 %ige Sicherheit gibt es keine und obendrein zu sagen, automatisierte Tests zu machen, vor allem im öffentlichen und dann ist das und dann bringt es wieder nichts oder es funktionieren nur Teile, ist spätestens seit 1.1.2006 durch ein Gleichstellungsgesetz sowieso ein bisschen eine prekäre Situation. Und daher ist es wirklich ohne blinden User in dem Fall fast unmöglich.
Antwort Artur Ortega: Aber nicht nur, ich möchte gerne das auch ein bisschen relativieren. Also Barrierefreiheit ist wirklich nicht nur für Blinde. Ich habe jetzt speziell nur Screen-Reader genommen und das möchte ich auch herausstellen, weil Sprachausgaben und Screen-Reader normalerweise immer ein No-Know da war und für alle anderen ist es toll und das will ich so ein bisschen relativieren, aber trotzdem sagen, man muss mit allen Bereichen, wie ich vorher auch, das testen, bloß sozusagen mit ein bisschen Weitblick. Und damit möchte ich gerne meinen Vortrag beenden und jeden sozusagen den Weitblick sozusagen dran erinnern, dass er den Weitblick auch nutzt und auch für die nächsten Entwicklungen und für die neuen, schicken Sie JavaScript-Sachen, die dann cool sind, Ajax Web 2.0ig und trotzdem barrierefrei. Ok, Danke! [Applaus]
Tags:
Artur Ortega