News mit tag »JavaScript«

03 Dez 2008

Widgets ade

Fast täglich erreichen uns in der EfA-Redaktion Mails mit der Frage nach dem Verbleib des EfA-Fontsize-Skriptes, das den letzten Relaunch nicht überlebt hat. Die kurze Antwort: es war weg, ist weg und wird auch weg bleiben. Die lange Version der Antwort wollen wir unseren Lesern aber auch nicht vorenthalten:

Eine fiktive aber durchaus realistische Diskussion zwischen einem Frontend-Entwickler (im folgenden F. genannt) und einem Projektmanager (im folgenden P. genannt; eventuelle Ähnlichkeiten mit tatsächlichen Personen sind rein zufällig und unbeabsichtigt).

Projektmanager (P.): »Die Website muss ganz dringend barrierefrei sein. Deswegen brauchen wir da noch unbedingt so ein Ding, womit man die Schriftgröße ändern kann.«

Entwickler (F.): »Aber warum? Wir haben doch ganz andere Probleme mit der Website!«

P.: »Egal, wir brauchen so ein Ding, damit endlich diese Mails und Anrufe aufhören, wo sich Besucher über die Unzugänglichkeit der Website beschweren.«

F.: »Das wäre aber doch nur an den Symptomen rumgedoktert und würde nicht die Ursachen kurieren. Und ausserdem kann das doch jeder Browser…«

P.: »Aber unsere Statistiken sagen, dass immer noch 20% aller Besucher den IE6 benutzen. Und ich habe gehört dass der keine Schriften vergrößern kann.«

F.: »Kann er wohl…«

P.: »Egal, der Kunde will das so und basta…«

An dieser Stelle endet unsere Aufzeichnung des Gesprächs, weil F. mit dem Kopf auf die Tischplatte aufgeschlagen ist.

Weiterlesen …

Der Häufigkeit nach zu urteilen, mit der man diese »Widgets« zur Schriftskalierung oder Kontrastverstärkung auf Web-Seiten findet, muss es solche Gespräche in der ein oder anderen Form wohl häufig gegeben haben.

Zugegeben, wir sind daran nicht ganz unschuldig, denn viele davon basieren auf einem Skript, dass wir in den Anfangstagen von ›Einfach für Alle‹ veröffentlicht und auf diesen Seiten eingesetzt haben. Nun ist es aber weg und unsere Redaktion erreichen fast täglich Mails und Anrufe, wo denn das Skript geblieben sei. Es ist weg, und es wird auch nicht wiederkommen.

Warum war das Skript früher mal gut und jetzt auf einmal nicht mehr?

Machen wir einen kleinen Ausflug in die Zeit, in der das Skript entstanden ist. Damals, d.h. so um die Jahrtausendwende, waren Web-Standards nur eine nette Idee, die sich aber in den Browsern der vierten Generation nur von Spezialisten in mühsamer Handarbeit umsetzen liessen (und auch das nur höchst lückenhaft). Modernere Browser wie Firefox, Opera, Safari & Co. waren teils noch gar nicht auf dem Markt oder ausgesprochene Exoten; Microsoft hatte gerade die Weiterentwicklung des marktführenden IE 6 effektiv eingestellt. Ein »Page Zoom« war noch nicht erfunden, und damalige CSS-Layouts waren noch relativ instabil und gingen bei der kleinsten Änderung kaputt.

Menüeintrag im IE6 zur Schriftskalierung Dazu kam, dass (ausser dem IE/Mac) kein Browser in der Werkseinstellung über Knöpfe verfügte, mit denen Benutzer die Schriftgröße mit einem Klick verändern konnte. In den meisten Browsern waren die entsprechenden Optionen sehr gut vor dem Nutzer versteckt – so gut versteckt dass sich der Mythos festsetzen konnte, der IE könne keine in px bemaßten Schriften skalieren. Und damals wie heute galt, dass man es bei der Wahl der Schriftgröße nicht immer allen Recht machen kann: Für manche Nutzer ist die gewählte Schrift zu klein, für manche zu groß. Wie Sie sehen hatte das Skript also zur damaligen Zeit durchaus seine Berechtigung.

Allerdings bieten mittlerweile sämtliche aktuellen Browser die Möglichkeit, Seiten komplett zu skalieren, d.h. das gesamte Layout zoomt und bleibt intakt (und der kommende IE 8 korrigiert hierbei einige Fehler der Vorgängerversion und zieht so mit Firefox, Opera, Safari & Co. gleich). Mittlerweile sind moderne Browser wie der Firefox 3 sogar in der Lage, sich die vom Nutzer eingestellten Schriftgrade für jede Website einzeln zu merken. Zudem lässt sich in vielen Browsern eine Mindestschriftgröße angeben, die vom Ersteller der Seiten durch nichts überschreiben werden kann.

Solange Microsoft den Vista-Nachfolger nicht wieder mit dem IE 6 oder IE 7 ausliefert, wird die Zahl der Nutzer der problematischen Browser weiterhin stetig abnehmen; die Zahl der Nutzer mit moderneren Browsern nimmt jedoch täglich zu (relativ und absolut) – warum also Ressourcen für ein vermeintliches Problem aufwenden, wenn sich das Problem mittelfristig in Luft auflöst?

Ähnlich sieht dies übrigens auch das W3C, dass in den User Agent Accessibility Guidelines (UAAG 1.0 Checkpoint 4.1) die Verantwortung für solche Funktionalitäten eindeutig den Browser-Herstellern zuschiebt. Von den Erstellern einer Seite kann man lediglich verlangen, dass der Web-Inhalt weiterhin benutzbar bleibt, wenn der Nutzer eine entsprechende Funktion betätigt – mehr nicht.

Traditionelle Textskalierung ist damit also eindeutig ein Ding der Vergangenheit.

Ok, aber was ist mit den Nutzern?

Ganz einfach:

  • Bei blinden Nutzern ist der gewählte Schriftgrad egal. Per gesetzlicher Definition verfügt ein blinder Nutzer höchstens über einen Sehrest, der nicht wirklich nutzbar ist. Die Frage nach der richtigen Größe für Schrift stellt sich hier also erst garnicht.
  • Bei stark sehbehinderten Nutzern kann man in der Regel davon ausgehen, dass der Computer an die individuellen Bedürfnisse angepasst ist und Hilfsmittel benutzt werden, mit denen diese Diskussion ebenso irrelevant wird.
  • Dann wäre da die große Grauzone von Nutzern, die zwar die ein oder andere Form der Behinderung haben, jedoch (noch) keine speziellen Hilfsmittel benutzen. Dies sind nicht nur leicht sehbehinderte Nutzer, sondern auch Menschen mit Lernbehinderungen oder anderen kognitiven Behinderungen, die unter Umständen von größerer Schrift profitieren würden. Aber auch bei dieser Gruppe stellt sich die Frage, ob solch ein Schriftskalierungs-Widget irgendwem wirklich nachhaltig hilft – und das nicht nur weil es letztendlich nur eine Funktionalität dupliziert, die der verwendete Browser bereits von sich aus anbietet. Diese Benutzer werden immer und immer wieder auf das gleiche Problem stoßen und über kurz oder lang mehr Zeit mit der Nachjustierung von Schrift verbringen als mit der Aufnahme von Informationen.
  • Bleibt noch die den unerfahrenen Nutzern nachgesagte Angst vor dem Computer und davor »etwas kaputtzumachen«. Nutzer, die oftmals nicht wissen welchen Browser sie benutzen, geschweige denn was ein Browser ist. Ob ausgerechnet diese Nutzer auf (fremden) Webseiten auf einmal alle möglichen Knöpfe drücken, wenn sie schon Angst haben auf Ihrem (eigenen) Computer irgendwelche Knöpfe zu betätigen? Daran wird man wohl zweifeln dürfen. Sind dies die Nutzer, die einen 20"-Monitor auf 800×600 stellen weil dann die Schrift so schön groß ist? Und was ist wenn die Sehkraft weiter nachlässt? Stellen die Nutzer den Monitor dann auf 640×480? Wenn die Nutzer Probleme mit zu kleinen Schriften haben – wie sind sie dann auf die Seiten gekommen? Wie kommen sie mit dem Rest des Computers zurecht?

Sie sehen: solche Widgets lösen das Problem nur temporär, denn spätestens auf der nächsten Web-Seite steht der Benutzer wieder vor dem selben Problem. Die Widgets helfen also nicht bei der Lösung des Problems, sondern führen den Nutzer effektiv weiter von einer echten Problemlösung fort, indem sie an den Symptomen herumdoktern, statt die Ursachen zu beheben. Streng genommen erweist man seinen Benutzern sogar einen Bärendienst, da man eine Erwartungshaltung schürt, die nur von den wenigsten Websites erfüllt wird.

Wesentlich sinnvoller und von nachhaltigerem Effekt sind hier Ansätze wie bei der BBC-Seite »My Web My Way - Making text larger in Internet Explorer«, wo Nutzern erklärt wird wie sie das Problem dauerhaft beheben können. Wenn man also schon Ressourcen in diese Thematik steckt, dann doch wohl besser so, dass dem Nutzer wirklich geholfen wird.

Darüber hinaus stellt sich an diesem Punkt auch eine philosophische Frage: können wir einerseits verlangen, dass Webdesigner möglichst viel Kontrolle über das Erscheinungsbild aufgeben und dann wiederum das genau Gegenteil fordern? Standard-konforme Webdesigner machen nur Vorschläge - das C in CSS steht für die Kaskade (engl.: Cascading), und die endet beim Nutzer – dieser hat das letzte Wort über die Größe der Schrift.

Merke: wenn Browser oder Hilfsmittel in der Lage sind, ein Accessibility-Problem zu lösen, dann müssen Sie als Anbieter einer Seite dies nicht mehr machen. Und deswegen ist das fontsize-Skript weg.

25 Jun 2008

Wer schon mal Web-Applikationen mit einem Screenreader getestet hat, der kennt das Problem: bei asynchronen Änderungen (vulgo: AJAX) ist noch lange nicht garantiert, dass die Änderungen tatsächlich an den Screenreader weitergereicht und von diesem entsprechend vorgelesen werden. Viel öfter passiert es, dass ein veralteter Zustand der Seite aus dem Lautsprecher kommt, der nicht mehr dem aktuellen Inhalt entspricht, so wie er auf dem Bildschirm zu sehen wäre.

Kommt die Änderung hingegen durch ein synchrones Update des DOM zu Stande (z.B. indem der Screenreader-Nutzer ein Formular per Button absendet), so wird der Speicher des Screenreaders korrekt aktualisiert. Nur dann wird der richtige Inhalte vorgelesen. In Zeiten von AJAX und den kurz vor fertigen WCAG 2 hilft das aber auch nichts: Web-Applikationen müssen ganz old-school-mäßig ohne, aber eben auch mit JavaScript funktionieren und zugänglich sein. Zumal sich jede einzelne Nutzeraktion auf diese Weise mit einen Eintrag im Browser-Verlauf verewigt – was je nach Applikation auch nicht unbedingt erwünscht ist.

Und wie so oft liegt das Problem mal wieder am Browser. Genauer gesagt (Sie konnten es sich bestimmt schon denken) am Internet Explorer inklusive der aktuellen Version 7, der solche asynchonen Änderungen nicht über die entsprechende Schnittstelle nach aussen kommuniziert. Auch wenn verbreitete Screenreader wie JAWS ab Version 7.1 mittlerweile eigene Methoden haben, um Änderungen im DOM einer Seite zu beobachten und wiederzugeben, so ist die Freude darüber verfrüht: es betrifft nur einen Screenreader mit einem speziellen Browser; das Verhalten ist (wie vieles in Hilfsmitteln) undokumentiert und entspricht keinem formellen Standard – also sollte man sich besser nicht darauf verlassen.

Auftritt ARIA:

Jetzt wo selbst der kommende IE 8 den zukünftigen WAI-ARIA-Standard unterstützen wird, zeichnet sich ein wenig Entspannung ab (Firefox ab 1.5, Opera ab 9.5 und zuletzt auch Safari hatten bekanntlich hier schon vorgelegt). Also könnte man sich als Anbieter von Web-basierten Applikationen ruhig schon mal mit ARIA beschäftigen.

Mama, der Hixie hat mir das X weggenommen!

Wenn, ja wenn da nicht eine ziemliche Spaßbremse wäre – denn ob der Standard, der ja ursprünglich mal nur als temporäre Zwischenlösung gedacht war, in absehbarer Zeit fertig werden wird steht auf einem anderen Blatt Papier. Mal ganz im Vertrauen und unter uns: die HTML-Arbeitsgruppe des W3C macht im Augenblick nicht den Eindruck, als könne man sich auf den korrekten Belag einer Wurschtsemmel einigen.

Aber was soll's, eigentlich wollten wir nur eine Linkschleuder zum Thema ARIA loswerden, jetzt ist die Einleitung halt was länger geworden. In diesem Sinne:

29 Feb 2008

Zur Abwechslung nochmal was mit JavaScript:

21 Jan 2008

11 Jan 2008

Alles was der moderne Web-Entwickler so wissen muss:

28 Dez 2007

Die JavaScript-Goodies der Woche:

10 Dez 2007

Wer soll das eigentlich alles lesen? Nun gut, hier die Link­schleuder zum Wochen­beginn, frisch aus dem Steh­satz und der besseren Über­sicht halber fein säuber­lich sortiert. Wobei es gegen diese Sortierung auch durch­aus nach­voll­ziehbare Ein­wände gibt: »Behaviour, Content and Presen­tation: why the 3 layer model is wrong«.

Die Struktur-Ebene:

Die Präsentations-Ebene:

Die Verhaltens-Ebene:

04 Dez 2007

In diversen Artikeln und Tutorials hatten wir immer wieder auf die großartige Web Accessibility Toolbar 2.0 für den Internet Explorer hingewiesen, die bisher nur als englischsprachige Version zu haben war. Benjamin Griessmann von Web For All und Martin Kliehm haben das jetzt geändert und das Werkzeug ins Deutsche übersetzt: Web Accessibility Toolbar DE - Version 2.0 (1,3 MB große .exe).

Ebenfalls empfehlenswert ist die Kombination aus Firefox Accessibility-Erweiterung zusammen mit dem Functional Web Accessibility Evaluator (FAE) der Universität von Illinois. Während die meisten Prüf-Tools nur den einmal vom Server geladenen HTML-Code überprüfen können, so kann man mit der o.g. Kombo auch dynamische Web-Applikationen testen. Mit der Accessibility-Extension kann man neuerdings auch den aktuellen Zustand des Dokumentes testen, wenn dieses von Skripten verändert wurde. Dazu wird von der Erweiterung ein jeweils aktueller Schnappschuss des Document Object Models an den FAE zur weiteren Analyse gesendet.

26 Nov 2007

Passend zum heutigen Blaue-Mützchen-Tag ein paar Veranstaltungstipps:

Falls Sie zufällig in Hannover sind und noch nichts vorhaben: heute abend um 18:45h wird die einhundertste Folge des Webstandards-Podcast Technikwürze beim örtlichen Web Montag live aufgezeichnet.

In Wien gibt es heute eine Veranstaltung des Sozialministeriums und des Kanzleramts unter dem Titel »Online ohne Ausnahme«, bei der Unternehmen von den Vorteilen des Themas Barrierefreiheit im Internet überzeugt werden sollen. Experten informieren darüber, was barrierefreies Webdesign leisten kann und welche Unterstützungsmöglichkeiten bei der Umsetzung von barrierefreien Webangeboten bestehen. (via)

Wer beim Symposium »Best of Accessibility« anwesend war, konnte die Unterlagen schon herunterladen; nun gibt es die gesammelten Tagungsunterlagen als frei verfügbaren Download für jedermann: »Unterlagen zum BOA-Symposium 2007 verfügbar«, Download der Veranstaltungs-Unterlagen.

Eine Nachlese zur neulich in London gelaufenen @media Ajax 2007 findet sich unter anderem bei PPK und bei Christian Heilmann.

15 Nov 2007

Charles L. Chen, bekannt durch die Firefox-Erweiterung Fire Vox und mittler­weile bei Google angestellt (wie alle Entwickler, die nicht bei Yahoo! arbeiten), hat eine Java­Script-Bibliothek namens AxsJAX vorgestellt, mit der sich die Accessi­bility-Features von WAI-ARIA in Web-basierten Appli­kationen nutzen lassen.
T.V. Raman, bekannt durch Emacspeak und mittlerweile auch bei Google angestellt (wie alle Entwickler, die nicht bei Yahoo! arbeiten), erklärt im Google Code Blog die Hinter­gründe: »Introducing AxsJAX -- Access-Enabling AJAX«.

ARIA steht für Accessible Rich Internet Appli­cations und ist vom W3C als Interims­lösung gedacht, um Hilfsmitteln den Zugang zu Interface-Elementen zu geben, die bisher im HTML-Standard nicht vor­gesehen sind. Dazu gehören echte Menü­strukturen, erweiterte Bedienelemente wie z. B. Schiebe­regler, aber auch Methoden um Nutzer auf Änderungen in einer Seite Applikation hinzu­weisen (sog. Live Regions).

Benötigt wird ein halbwegs moderner Web-Browser wie Firefox ab 1.5 (besser noch 2.0) und aktuelle Versionen von Hilfs­mitteln (bei Screen­readern sind dies z. B. Window Eyes ab Version 5.5 und JAWS ab Version 7.1). Eine Übersicht, welche ARIA-Rollen (engl.: roles) bzw. Eigenschaften (engl.: properties) aktuell mit welcher Hilfs­mittel-Browser-Kombi­nation funktio­nieren finden Sie bei developer.mozilla.org: »Supported roles«.

Installiert wird AxsJAX entweder als Bookmarklet (einfach in die Lese­zeichen-Leiste ziehen) oder über die Grease­monkey-Erwei­terung in Firefox. Testen kann man auch ohne Screen­reader mit der bereits erwähnten Fire Vox-Erweiterung.

Ob man allerdings einen Standard implemen­tieren sollte, der noch in der Ent­wicklung ist (und sich daher noch grund­legend ändern kann), muss jeder für sich selbst ent­scheiden. Neben vielen anderen Baustellen kann sich die HTML-Arbeits­gruppe zurzeit ja noch nicht mal entschliessen, ob es aria:, aria- oder aria_ heissen soll. Die Chancen liegen also bei 66%, dass man sich als Ent­wickler für das Falsche entscheidet und dann hinter­her alles wieder ändern muss.

Nachtrag: eine gute Erklärung gibt es jetzt auch bei Gez Lemon: »The AxsJAX Framework for ARIA«

Wo wir gerade beim Thema JavaScript sind:

14 Nov 2007

Alejandro Vasquez hat einen Pfuschzettel für das Blueprint-CSS-Framework von Olav Bjørkøy gebaut: »Blueprint CSS v.0.6« (PDF, 37 kb).

Kein Framework, sondern eher ein leeres Grundgerüst ist HTML/CSS/JS-Kickstart 0.2 von Gerrit van Aaken. Enthalten sind Dinge, die sich bei jedem neuen Projekt immer wiederholen – man spart also eine Menge unnötige Tipperei.

Was das neue Choke Web Development Framework 1.0 von Jens Meiert ist bzw. kann konten wir noch nicht testen, denn der Download-Link ist zurzeit defekt. Wir melden uns, wenn die Störung behoben ist. Edith: der Download-Link funktioniert nun wieder, aber mehr wird nicht verraten …

30 Okt 2007

Die Web Hypertext Application Technology Working Group (WHATWG) hat einen halbwegs stabilen Zwischenstand der zurzeit in der Entwicklung befindlichen HTML 5-Empfehlung veröffentlicht und bittet die interessierte Fachöffentlichkeit um Kommentare: »HTML 5 Call For Comments — 27 October 2007« (via).

Den aktuellen Stand der Diskussion um das alt-Attribut fasst ein durchaus lesenswerter Eintrag im W3C-Wiki zusammen: »HTML/IssueAltAttribute«.

Wer sich für die Weiterentwicklung von ECMAScript 4 interessiert (im Volksmund auch als JavaScript 2 bekannt), dem sei folgendes Papier empfohlen: »Proposed ECMAScript 4th Edition – Language Overview« (PDF, ca. 200 kb)

Wo wir gerade beim Thema sind: die NASA zeigt, daß Web-Standards durchaus auch in als bürokratisch verschrienen Organisationen ein Thema sein können und macht vor wie's geht:

26 Okt 2007

Die allwöchentliche Linkschleuder in die Welt des modernen Scripting. Falls Sie schon immer wissen wollten, was dieses AJAX-Dings eigentlich ist – hier werden Sie geholfen: »How AJAX Works«.

Auch gut: Präsentation von Peter Paul Koch (vulgo: ppk) bei der Voices that Matter-Konferenz zum Thema »Advanced Design Techniques: JavaScript to the Rescue« (PDF, 400 kb).

19 Okt 2007

Passend zum obigen Thema ›Rich Internet Applications‹ noch ein paar vermischte Links:

Nachtrag: »JavaScript-Bibliotheken und die jüngere JavaScript-Geschichte – Wie Bibliotheken neue Voraussetzungen für das Vermitteln von JavaScript schaffen« von Mathias ›molily‹ Schäfer.

12 Okt 2007

Heute nochmal was für Gestalter:

10 Okt 2007

Ein gewisser Michael Sync schreibt an einer mehrteiligen Erklärung der genialen Firefox-Erweiterung Firebug von Joe Hewitt:

(via)

Wo wir gerade beim Thema Qualitätssicherung sind: »Setting media type headers on your Web site« vom W3C Q&A Weblog.

28 Sep 2007

Was mit JavaScript, AJAX und Flash:

17 Sep 2007

Zur Abwechslung nochmal was mit JavaScript:

30 Aug 2007