{"id":13607,"date":"2022-03-22T07:04:09","date_gmt":"2022-03-22T06:04:09","guid":{"rendered":"https:\/\/wpethzprd.ethz.ch\/id\/?p=13607"},"modified":"2022-03-22T07:04:10","modified_gmt":"2022-03-22T06:04:10","slug":"barrierefreiheit-umsetzen-die-huerden-und-herausforderungen","status":"publish","type":"post","link":"https:\/\/blogs.ethz.ch\/id\/2022\/03\/22\/barrierefreiheit-umsetzen-die-huerden-und-herausforderungen\/","title":{"rendered":"Barrierefreiheit umsetzen \u2013 die H\u00fcrden und Herausforderungen"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Die W3C-Empfehlung zur Barrierefreiheit (Web Content Accessibility Guidelines, WCAG 1.0) gibt es schon seit 2008. Assistive Technology (Screen Readers etc.) noch l\u00e4nger. Aber 99 % aller Entwicklerinnen und Entwickler von Widgets, PlugIns und Komponenten \u2013 insbesondere von beliebten JS\/CSS-Frameworks wie z.B. Bootstrap, jQuery (und deren UI Kits) oder WebApps, die auf Angular, React oder Vue basieren \u2013 tun so, als g\u00e4be es dieses Thema nicht. Damit werden ca. 20 % der User teils oder ganz ausschlossen, welche Apps oder Websites benutzten, die auf diesen Technologien basieren. Das ist leider traurige Wahrheit.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Ein Blick zur\u00fcck.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTML5\/CSS3<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mit HTML5 (W3C: 1. Entwurf 2008, Empfehlung 2014) wurde u.a. auch strukturierende HTML-Tags wie &lt;header&gt;, &lt;main&gt;, &lt;footer&gt;, &lt;aside&gt;, &lt;nav&gt;, &lt;article&gt; und &lt;section&gt; eingef\u00fchrt. Erkl\u00e4rtes Ziel war, dass HTML-Code von Haus aus semantischer werden sollte, so dass Webseiten im Allgemeinen besser von Maschinen gelesen und interpretiert werden k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als die meisten Browser ab 2010\/11 anfingen diese neuen HTML-Tags (und CSS-Attribute) zu unterst\u00fctzen, wurde das in der Web-Community dankend angenommen. Tabellen-Layouts waren inzwischen von komplexen DIV-basierten Layouts abgel\u00f6st worden. Aber die Verschachtelungsebenen waren aus Code-Sicht inzwischen so unlesbar geworden (&#8222;DIV soup&#8220;), dass diese neuen Tags helfen sollten, mehr Ordnung und Klarheit in den Code zu bringen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Allerdings fand die Verwendung eher z\u00f6gerlich statt, insbesondere weil IE (damals immer noch ein weit verbreiteter Browser) diese neuen Tags nur mangelhaft unterst\u00fctzte. Was letztlich dazu f\u00fchrte, dass f\u00fcr diese Browser JavaScript eingesetzt werden musste, um die volle HTML5-Unterst\u00fctzung gew\u00e4hrleisten zu k\u00f6nnen. Was wiederum jQuery zu seiner grossen Popularit\u00e4t verhalf, weil nur jQuery imstande war, die diversen Inkompatibilit\u00e4ten der Browser mit den neuesten JS-Versionen \u00fcberbr\u00fccken zu helfen. Auch die nicht so klaren Anwendungsregeln der strukturieren HTML-Tags f\u00fchrten oft dazu, dass bis heute noch immer nicht klar ist, wie z.B. &lt;section&gt;, &lt;article&gt; und &lt;aside&gt; im Layouting zu verwenden sind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aus UX-Sicht war hingegen die Einf\u00fchrung von CSS3 ein Segen, da Zustands\u00e4nderungen von Buttons, Widgets, Form Controls oder ganzen Layout-Sektionen \u2013 dank den neuen CSS-Attributen wie &#8222;transition&#8220; und &#8222;animation&#8220; \u2013 nun viel einfacher mit CSS statt mit JS dargestellt werden konnten. Diese bef\u00e4higten &#8222;Web-Designer&#8220; (statt &#8222;Programmierer&#8220;) sich st\u00e4rker mit diesem Thema auseinanderzusetzen&#8230; oder sich auseinandersetzen zu m\u00fcssen. Damit wurde nebst der Gestaltung der Benutzeroberfl\u00e4chen (UI \/ User Interface Design) auch die Benutzererfahrung (<a href=\"https:\/\/de.wikipedia.org\/wiki\/User_Experience\" target=\"_blank\" rel=\"noreferrer noopener\">UX \/ User Experience Design<\/a>) ein zentraler Punkt in der Frontend-Entwicklung von WebApps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Web Accessibility Initiative \u2013 Accessible Rich Internet Applications<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WAI-ARIA ist eine vom World Wide Web Consortium (W3C) ver\u00f6ffentlichte technische Spezifikation. Diese legt fest, wie die Zug\u00e4nglichkeit von (dynamisch-interaktiven) Webseiten, die mit Ajax, HTML, JavaScript und verwandten Technologien entwickelt wurden, verbessert werden kann, um sie f\u00fcr Menschen mit Behinderungen besser zug\u00e4nglich zu machen, insbesondere f\u00fcr blinde Anwender, die <a href=\"https:\/\/de.wikipedia.org\/wiki\/Screenreader\" target=\"_blank\" rel=\"noreferrer noopener\">Screen-Reader<\/a> verwenden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die WAI hat hierzu schon sehr fr\u00fch (Mai 1999) ihre erste Empfehlung als <a href=\"https:\/\/de.wikipedia.org\/wiki\/Web_Content_Accessibility_Guidelines\" target=\"_blank\" rel=\"noreferrer noopener\">WCAG 1.0<\/a> (Web Content Accessibility Guidelines; englisch f\u00fcr \u00abRichtlinien f\u00fcr barrierefreie Webinhalte\u00bb) formuliert, welche aber erst 2008 final verabschiedet wurde. Aktuell wird an der Version 2.2 gearbeitet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ARIA ist eine rein semantische Erweiterung f\u00fcr HTML, die das Layout einer Webseite nicht ver\u00e4ndert. Dazu werden in dynamischen Webanwendungen Informationen zu Rollen, Eigenschaften und Zust\u00e4nden per JS\/AJAX hinzugef\u00fcgt. Statt sich darauf zu verlassen, dass man die richtigen HTML-Tags f\u00fcr den richtigen Zweck verwendet, hat ARIA eine Reihe neuer HTML-Attribute definiert, welche HTML-Tags \u2013 egal welchen \u2013 zugewiesen werden k\u00f6nnen:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Rollen (z.B. role=&#8220;navigation&#8220;, role=&#8220;tablist&#8220;)<\/li><li>Bedeutungen (z.B. aria-label, aria-required, aria-invalid)<\/li><li>Zust\u00e4nde\/Eigenschaften (z.B. aria-current, aria-selected)<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Leider kam und kommt es auch hier zu ungl\u00fccklichen \u00dcberschneidungen bez\u00fcglich Deutungshoheiten zwischen ARIA und semantischem HTML. Mit allen Konsequenzen von \u00abDoppeldeutigkeiten\u00bb oder \u00abBad Practices\u00bb, so dass unn\u00f6tige ARIA-Anweisung in Tags landen, wo sie nicht hingeh\u00f6ren, wie z.B. &lt;nav role=&#8220;navigation&#8220;&gt; oder &lt;aside role=&#8220;complementary&#8220;&gt;. Die Internet-Foren\/Blog sind voll von Beitr\u00e4gen zum Thema: &#8222;No ARIA is better than bad ARIA. This is one of the core rules of WAI ARIA.&#8220;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ECMAScript 2015<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mit <a href=\"https:\/\/en.wikipedia.org\/wiki\/ECMAScript\" target=\"_blank\" rel=\"noreferrer noopener\">ECMAScript 2015<\/a> oder ES6 (6th Edition) wurde ein JavaScript-Standard eingef\u00fchrt, welcher von allen modernen Browsern gleich von Anfang an unterst\u00fctzt wurde. Damit wurde ein Boom von JS-basierten Frameworks f\u00fcr die Frontend-Entwicklung ausgel\u00f6st, aus denen u.a. Angular, React und VUE hervorgegangen sind. Diese pr\u00e4gen heute zu weiten Teilen das Look &amp; Feel heutiger Webapplikationen und die komponenten-basierte Software-Entwicklung, nicht zuletzt durch die sog. <a href=\"https:\/\/uideck.com\/blog\/bootstrap-ui-kits\/\" target=\"_blank\" rel=\"noreferrer noopener\">UI Kits<\/a>, die spezifisch f\u00fcr diese Frameworks entwickelt wurden und werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grob vereinfacht muss man heute jedoch feststellen, dass je mehr Funktionalit\u00e4t, Konfigurierbarkeit und Bedienkomfort in eine Komponente gepackt wird, desto wahrscheinlicher ist es, dass dabei die Barrierefreiheit vernachl\u00e4ssigt wird. Form Controls wie z.B. die praktischen DatePickers oder Multiselects gibt es zu hunderten, aber nur wenige sind einwandfrei mit der Tastatur bedienbar und nur die allerwenigsten erf\u00fcllen die Mindestanforderungen der Barrierefreiheit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stand heute<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Erfahrung haben wir von der ID Applications (ID APPS) erst grad letzthin gemacht, als wir eine JS-basierte Applikation upgraden und dabei auch die Barrierefreiheit sicherstellen wollten. Von 30 getesteten DatePickern war genau einer barrierefrei. Bei Multiselect gab es keinen, der aus Sicht der Barrierefreiheit brauchbar war. Infolgedessen haben wir (ID Applications und Partner von \u00ab<a href=\"https:\/\/www.accessibility-developer-guide.com\/contribute\/\" target=\"_blank\" rel=\"noreferrer noopener\">ADG\/Zugang f\u00fcr alle<\/a>\u00bb) beschlossen, einen barrierefreien Multiselect selbst zu entwickeln. Der erste Prototyp soll Mitte M\u00e4rz 2022 vorgestellt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wer heute moderne Frontend-Applikationen entwickeln will, kann aus einer <a href=\"https:\/\/flatlogic.com\/blog\/javascript-ui-frameworks-and-libraries-for-web-development\/\" target=\"_blank\" rel=\"noreferrer noopener\">Vielzahl von JS\/UI Frameworks und Libraries<\/a> ausw\u00e4hlen. Bei vielen kann man interessanterweise nachlesen, dass diese &#8222;&#8230; compatible with the WAI-ARIA guidelines for web accessibility&#8220; sind. Nimmt man diese dann etwas genauer unter die Lupe, z.B. einen ihrer Komponenten wie den DatePicker, das Multiselect oder modale Fenster, dann ist schnell das Ende der Fahnenstange erreicht. Oftmals ist das Customizing sehr umst\u00e4ndlich, oder die Dokumentation orientiert sich an ganz einfachen Beispielen. Oder die Barrierefreiheit ist reines Wunschdenken.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wer sich also auf ein JS\/UI-Framework einl\u00e4sst, muss sich nicht nur mit der impliziten Designphilosophie und der damit zusammenh\u00e4ngenden Code-Base auseinandersetzen, er\/sie muss auch sicherstellen, ob und wie sich Komponenten anpassen lassen, wenn Kunden oder User Design- oder Funktionsanpassungen w\u00fcnschen. Insbesondere wenn diese Differenzierung (sich von anderen unterscheiden) und Individualisierung (Anpassung auf die eigenen Prozesse) einfordern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And last but noch least: Die Barrierefreiheit muss sichergestellt sein, egal welche Technologie bei den Lern- und Informationsplattformen eingesetzt wird. Dies hat die ETH Z\u00fcrich in ihrem Programm \u00ab<a href=\"https:\/\/ethz.ch\/services\/de\/news-und-veranstaltungen\/hindernisfreiheit.html\" target=\"_blank\" rel=\"noreferrer noopener\">Hindernisfreiheit an der ETH Z\u00fcrich<\/a>\u00bb formuliert, welches 2020\/21 gestartet wurde.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir von der ID Applications haben nun vier Jahre Zeit f\u00fcr dieses Ziel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kontakt<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Luis Arg\u00fcello WCMS and Mobile Applications, ID APPS (Autor des Beitrages)<\/li><li>Christian Sch\u00e4r, Gruppenleiter WCMS and Mobile Applications, (ID APPS)<\/li><li>Manu Heim, Projektleiterin Barrierefreie Kommunikation (HK)<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-rounded\"><a href=\"https:\/\/blogs.ethz.ch\/id\/files\/2022\/03\/nl_id_img_272_460-1.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"460\" height=\"312\" src=\"https:\/\/blogs.ethz.ch\/id\/files\/2022\/03\/nl_id_img_272_460-1.jpg\" alt=\"Manu Heim, Christian Sch\u00e4r und Luis Arg\u00fcello, von links, tragen ihren Teil dazu bei, Barrieren abzubauen bzw. sie gar nicht erst entstehen zu lassen.\" class=\"wp-image-13609\" srcset=\"https:\/\/blogs.ethz.ch\/id\/files\/2022\/03\/nl_id_img_272_460-1.jpg 460w, https:\/\/blogs.ethz.ch\/id\/files\/2022\/03\/nl_id_img_272_460-1-300x203.jpg 300w\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" \/><\/a><figcaption><em>Manu Heim (ETH HK), Christian Sch\u00e4r (ID APPS) und Luis Arg\u00fcello (ID APPS), von links, tragen ihren Teil dazu bei, Barrieren abzubauen bzw. sie gar nicht erst entstehen zu lassen.<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein H\u00fcrdenlauf mit allen Schwierigkeiten, die sich bei der Aufgabe immer wieder stellen.<\/p>\n","protected":false},"author":838,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1179,25,1181,1177,898],"tags":[296623,296607,296632,296631,296633],"class_list":["post-13607","post","type-post","status-publish","format-standard","hentry","category-mail-web","category-news","category-passwort-applikationen","category-software-arbeitsplatze","category-support","tag-hindernisfreiheit-an-der-eth-zuerich","tag-barrierefreiheit","tag-css3","tag-html5","tag-web-accessibility-initiative"],"_links":{"self":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/posts\/13607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/users\/838"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/comments?post=13607"}],"version-history":[{"count":0,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/posts\/13607\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/media?parent=13607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/categories?post=13607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/tags?post=13607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}