{"id":9396,"date":"2024-08-18T18:07:01","date_gmt":"2024-08-18T16:07:01","guid":{"rendered":"https:\/\/www.netz-barrierefrei.de\/wordpress\/?p=9396"},"modified":"2024-09-05T17:24:31","modified_gmt":"2024-09-05T15:24:31","slug":"die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps","status":"publish","type":"post","link":"https:\/\/www.netz-barrierefrei.de\/wordpress\/die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps\/","title":{"rendered":"Die h\u00e4ufigsten Barrierefreiheits-Fehler in nativen Apps"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"https:\/\/digitale-barrierefreiheit.podigee.io\/265-die-haufigsten-barrieren-in-nativen-apps\/embed?context=external&#038;theme=default\" style=\"border: 0\" frameBorder=\"0\" height=\"100\" width=\"100%\"><\/iframe><\/p>\n<p>Barrierefreiheit von nativen Apps spielt eine immer gr\u00f6\u00dfere Rolle: Erst in den letzten Jahren haben spezifische Pr\u00fcftools und Pr\u00fcf-Verfahren einen brauchbaren Stand erreicht. An dieser Stelle m\u00f6chte ich meine h\u00e4ufigsten Findings als Nutzer und Tester von Apps zusammenfassen. Diese Liste ist also subjektiv.<\/p>\n<p>Ich bin ein Android-First-Nutzer und verwende iOS aktuell eher nebenbei. Das hei\u00dft, ich kenne beide Betriebssysteme gleicherma\u00dfen.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.netz-barrierefrei.de\/wordpress\/die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps\/#Generelle_Probleme\" >Generelle Probleme<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.netz-barrierefrei.de\/wordpress\/die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps\/#Tastatur-Bedienung\" >Tastatur-Bedienung<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.netz-barrierefrei.de\/wordpress\/die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps\/#Name_Rolle_Wert\" >Name, Rolle, Wert<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.netz-barrierefrei.de\/wordpress\/die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps\/#Kein_EVent-Trigger_bei_Screenreader\" >Kein EVent-Trigger bei Screenreader<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.netz-barrierefrei.de\/wordpress\/die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps\/#Verschiedenes\" >Verschiedenes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.netz-barrierefrei.de\/wordpress\/die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps\/#Kein_Support_fuer_den_Landscape-Modus\" >Kein Support f\u00fcr den Landscape-Modus<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.netz-barrierefrei.de\/wordpress\/die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps\/#Fehlender_Support_fuer_Nutzerinnen-Einstellungen\" >Fehlender Support f\u00fcr Nutzerinnen-Einstellungen<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Generelle_Probleme\"><\/span>Generelle Probleme<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Nat\u00fcrlich findet man die h\u00e4ufigsten Design-Fehler bei Apps, die man auch im Web oder in Software findet: Unzureichende Kontraste, Information nur \u00fcber Farbe, Interagierbarkeit mit Hintergrund-Elementen, nicht-steuerbare Animationen und Multimedia und so weiter. Darauf m\u00f6chte ich hier nicht weiter eingehen, um den Artikel nicht zu umfangreich zu machen.<\/p>\n<p>Generell sind mir in Android mehr technische Fehler als in iOS aufgefallen. Ob das an den Developer Guidelines der jeweiligen Anbieter liegt oder daran, dass die Entwicklerinnen mehr behinderte Menschen bei iOS vermuten und Android daher vernachl\u00e4ssigen, kann ich nicht sagen. Eventuell sind auch die Pr\u00fcftools von iOS besser oder Apple macht es leichter, barrierefreie Apps zu entwickeln, weil das Nutzen von Standard-Komponenten erzwingt. Auch schreitet in diesem Bereich die Spezialisierung fort: Die meisten entwickeln nur f\u00fcr eine Plattform oder sind gar auf bestimmte Frameworks spezialisiert, die automatisch f\u00fcr beide Plattformen Apps erzeugen k\u00f6nnen. Auch hier k\u00f6nnte es sein, dass der Code f\u00fcr Apple trotz gleicher Basis barrierefreier ausgegeben wird.<\/p>\n<p>Auch muss man im Hinterkopf haben, dass es systembedingte Limitierungen und Probleme gibt. Das hei\u00dft, dass beide Systeme nicht 1:1 vergleichbar sind. iOS hat zwar einen Vorsprung bei der Barrierefreiheit f\u00fcr Blinde, aber zumindest was VoiceOver angeht eine schlechte Software-Qualit\u00e4t. Jedes Update kann dazu f\u00fchren, dass wichtige Funktionen Bugs haben, die erst mit dem n\u00e4chsten Update gefixt werden. &#8218;Android Talkback hat weniger Konfigurations-M\u00f6glichkeiten und m\u00f6glicherweise auch weitere Probleme. iOS ist vollst\u00e4ndig und Android teilweise eine Blackbox, da der Anbieter des OS gleichzeitig der Anbieter der assistiven Technologie ist und weder Google noch Apple hier transparent sind, was Bugs und Limitierungen der assistiven Technologien angeht.<\/p>\n<p>Generell wird gesagt, dass die Verwendung nativer Komponenten zu weniger Barrierefreiheits-Problemen f\u00fchrt. Allerdings sind nicht alle nativen Komponenten vollst\u00e4ndig barrierefrei.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tastatur-Bedienung\"><\/span>Tastatur-Bedienung<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Wenige wissen, dass f\u00fcr native Apps im Prinzip die gleichen Voraussetzungen f\u00fcr die Tastatur-Bedienbarkeit gelten wie f\u00fcr Websites und Software. Das hei\u00dft vor allem Interagierbarkeit, Tastatur-Fokus und logische Tab-Reihenfolge. Das ist bei den Apps, die ich gepr\u00fcft habe im Grunde nie vollst\u00e4ndig erf\u00fcllt worden und wurde mit Sicherheit auch nicht von den Entwicklerinnen getestet. <\/p>\n<p>Der Hintergrund ist, dass die Tastatur-Schnittstelle auch teilweise von anderen assistiven Technologien genutzt wird. Auch f\u00fcr die Eingabe von Zahlen oder komplexen Zeichenketten wie Passw\u00f6rtern ist die Tastatur f\u00fcr Blinde wichtig. <\/p>\n<h2><span class=\"ez-toc-section\" id=\"Name_Rolle_Wert\"><\/span>Name, Rolle, Wert<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bei Android sieht man sehr h\u00e4ufig Elemente, die keine oder keine korrekte Beschriftung haben. Im letzteren Fall scheitern auch die automatischen Pr\u00fcftools, die ja nur sehen, das eine Beschriftung wie &#8222;Android_Class_23_Btn&#8220; vorhanden ist. Gleiches gilt f\u00fcr Rolle und Wert. Sehr h\u00e4ufig wird der Status eines Elements wie aktiviert\/nicht aktiviert bei \u00c4nderung nicht korrekt ausgegeben. <\/p>\n<p>Auch wesentlich h\u00e4ufiger bei Android sind Elemente ohne korrekte Rolle, allerdings auch auf der Ebene des Betriebssystems selbst. Ein Eintrag im Men\u00fc wird nur als Text vorgelesen, aber nicht als aktivierbares Element wie Men\u00fcpunkt, Link oder Button ausgegeben. Es reicht hier nicht, wenn aus dem Kontext deutlich wird, dass etwas anklickbar ist. <\/p>\n<p>Sowohl Android als auch iOS verf\u00fcgen mittlerweile \u00fcber Algorithmen, um UI-Elemente automatisch zu erkennen. Das hei\u00dft allerdings nicht, dass diese Elemente dadurch auch bedienbar werden und besonders zuverl\u00e4ssig ist das auch nicht. Bei einem anklickbaren Element kann das noch funktionieren. Sp\u00e4testens bei einem Slider wird es schwierig.<\/p>\n<p>Ich treffe \u00f6fter auf UI-Elemente, die zwar korrekt hinterlegt zu sein scheinen, aber nicht komfortabel nutzbar sind. Ein Beispiel ist Microsoft Teams unter iOS: Ich habe einen Thread in einem Team und bekomme nur die erste Nachricht vorgelesen. Normalerweise k\u00f6nnte man mit einem Rechts-Wisch zur n\u00e4chsten Nachricht in diesem Thread gehen, aber das funktioniert nicht (k\u00f6nnte auch ein tempor\u00e4rer Bug sein). Wenn es abweichende Interaktions-Muster gibt, sollten diese f\u00fcr den Screenreader-Nutzenden ausgegeben werden.<\/p>\n<p>Die Deutsche Bahn nutzt in der Android-Version ein nicht gut nutzbares Element, um die Uhrzeiten f\u00fcr die Fahrplan-Auskunft einzustellen. Man soll den Finger auflegen und dann nach oben oder unten ziehen, bis die gew\u00fcnschte Zahl erscheint. Bei Screenreader-Nutzung wird aber beim Wischen nicht die aktuell fokussierte Ziffer vorgelesen. Genau gesagt wird die Wischen-Geste gar nicht von Talkback unterst\u00fctzt, man muss halten und ziehen, bis die gew\u00fcnsche Zahl erscheint, die Zahl wird aber nicht vorgelesen, die aktuell im Fokus ist.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Kein_EVent-Trigger_bei_Screenreader\"><\/span>Kein EVent-Trigger bei Screenreader<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Elemente, die auf normalen Tap reagieren, tun das oft nicht bei aktiviertem Screenreader, also Double Tap. Vermutlich wurden UI-Elemente nicht nativ umgesetzt.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Verschiedenes\"><\/span>Verschiedenes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Schwebende Elemente sind oft nicht in der Fokus-Reihenfolge bei Touch- oder Tastatur-Bedienung. Sie werden etwa bei Twitter verwendet, wenn neue tweets verf\u00fcgbar sind.<\/p>\n<p>Unter Android ist oft kein komfortables Scrollen in einem Endless-Scrolling-Bereich m\u00f6glich, Beispiel ist wieder Twittter. Scrollt man durch Nachrichten, landet der Fokus relativ bald wieder auf einer Mitteilung, die man bereits gelesen hat, weil Talkback die Liste der Nachrichten anscheinend nicht selbst\u00e4ndig runterscrollen kann. Allerdings wei\u00df ich nicht, ob das ein Barrierefreiheits- oder ein Talkback-Problem ist.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Kein_Support_fuer_den_Landscape-Modus\"><\/span>Kein Support f\u00fcr den Landscape-Modus<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Inhalte sollen die Nutzerin nicht auf eine bestimmte Ausrichtung des Bildschirms, in der Regel auf den Portrait-Modus festlegen (1.3.4 Orientation (AA)). Es sei denn, ein bestimmter Modus ist f\u00fcr die Funktionalit\u00e4t notwendig. Der Landscape-Modus wird aber bei vielen Apps gar nicht unterst\u00fctzt. <\/p>\n<p>Das ist nur eine Vermutung, aber vermutlich m\u00fcssen die Elemente so gestaltet werden, dass sie frei floaten k\u00f6nnen. Im Webdesign w\u00fcrde man sagen, dass man ein spezielles Stylesheet f\u00fcr den Landscape-Modus ben\u00f6tigt. Es s\u00e4he nat\u00fcrlich albern aus und w\u00e4re nicht hilfreich, wenn man den Bildschirm quer h\u00e4lt und sich alle Elemente auf dem linken Drittel des Bildschirms zusammenquetschen.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Fehlender_Support_fuer_Nutzerinnen-Einstellungen\"><\/span>Fehlender Support f\u00fcr Nutzerinnen-Einstellungen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Kapitel 11.7 der EN 301549 verlangt, dass die Einstellungen der Nutzerinnnen unterst\u00fctzt werden, hier speziell die Einstellung der Schriftgr\u00f6\u00dfe und die Invertierung des Bildschirms. Letzteres wird oft von beiden Systemen nicht unterst\u00fctzt, die im System eingestellte h\u00f6here Schriftgr\u00f6\u00dfe wird nicht \u00fcbernommen oder es kommt zu \u00dcberlappungen.<\/p>\n<p>Der invertierte Zustand wird von iOS oft nicht unterst\u00fctzt, die App verbleibt im normalen Zustand. Bei Android werden vermutlich die Farben einfach systemseitig ge\u00e4ndert, so dass die Apps es sich nicht aussuchen k\u00f6nnen, ob sie invertiert werden wollen oder nicht.<\/p>\n<p>Auch wenn der Modus grunds\u00e4tzlich funktioniert kommt es oft vor, dass Elemente verschwinden oder der Kontrast auf einmal nicht mehr ausreicht, vielleicht weil die Schriftfarbe gleich bleibt, obwohl der Hintergrund ver\u00e4ndert wurde. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Barrierefreiheit von nativen Apps spielt eine immer gr\u00f6\u00dfere Rolle: Erst in den letzten Jahren haben spezifische Pr\u00fcftools und Pr\u00fcf-Verfahren einen brauchbaren Stand erreicht. An dieser&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/www.netz-barrierefrei.de\/wordpress\/die-haeufigsten-barrierefreiheits-fehler-in-nativen-apps\/\">Weiterlesen<span class=\"screen-reader-text\">Die h\u00e4ufigsten Barrierefreiheits-Fehler in nativen Apps<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9396","post","type-post","status-publish","format-standard","hentry","category-allgemein","entry"],"_links":{"self":[{"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/posts\/9396","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/comments?post=9396"}],"version-history":[{"count":6,"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/posts\/9396\/revisions"}],"predecessor-version":[{"id":9451,"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/posts\/9396\/revisions\/9451"}],"wp:attachment":[{"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/media?parent=9396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/categories?post=9396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.netz-barrierefrei.de\/wordpress\/wp-json\/wp\/v2\/tags?post=9396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}