Barrierefreiheit auf Mobilgeräten und maschinelles Lernen

Chris McMeeking

Von Chris McMeeking

29. Dezember 2020

Mobiles maschinelles Lernen1

Erweiterung des Anwendungsbereichs automatisierter Regel-Engines.

Seit einiger Zeit sorgt „Machine Learning“ in der Barrierefreiheitsbranche für Aufsehen. Nun gibt es eine Plattform, die „Machine Learning“ nutzt, um echte Fortschritte zu erzielen.

Durch die Integration von maschinellem Lernen in unsere Regel-Engines ist Deque in der Lage, Abdeckungsbarrieren zu überwinden, die sonst unüberwindbar erscheinen. Insbesondere wird es möglich, Regeln für benutzerdefinierte Steuerelemente zu erstellen. Die Regeln sind nicht mehr auf Standard-Steuerelemente und deren Eigenschaften beschränkt. Wir können nun aus den visuellen Aspekten der Steuerelemente Rückschlüsse auf deren Bedeutung ziehen und Aussagen darüber treffen, wie sie sich verhalten sollten.

Einfacher ausgedrückt: Wir nutzen maschinelles Lernen als „Augen“ eines Barrierefreiheitsexperten, der unsere Regel-Engine mit visuell unterscheidbaren Elementen versorgt, die von unserem maschinellen Bilderkennungsmodell erkannt wurden. Dies kombinieren wir dann mit unserem Wissen darüber, welche Bedeutung diese Eigenschaften für die Barrierefreiheit der Plattform haben sollten. Unsere Regeln werden ausgeführt und stellen sicher, dass die an assistive Technologien übermittelten Eigenschaften mit denen übereinstimmen, die visuell zu erwarten wären.

Das ist alles ziemlich kompliziert, schauen wir uns das mal etwas genauer an.

Traditionelle Regel-Engines

Um den Mehrwert zu verstehen, den maschinelles Lernen für Barrierefreiheitsregeln bietet, ist es zunächst wichtig zu verstehen, wie eine typische Regel-Engine funktioniert. Betrachten wir ein vereinfachtes Beispiel für eine Regel, die auf Android ausgeführt wird.

Ein einfacher Schalter in einer linearen Anordnung

<LinearLayout>
   <TextView>The Lights</TextView>
   <Switch>On</Switch>
</LinearLayout>

Anhand dieses vereinfachten Ausschnitts aus der Ansichtshierarchie lässt sich ein einfaches Problem hinsichtlich der Barrierefreiheit erkennen. Das Switch scheint nicht ordnungsgemäß mit dem TextView und wir können eine Lösung vorschlagen. So lässt sich dieses Problem beheben.

<LinearLayout>
   <TextView labelFor=switchId>The Lights</TextView>
   <Switch id=switchId>On</Switch>
</LinearLayout>

Das ist alles großartig. Es handelt sich um ein sehr einfach zu findendes Problem im Bereich Barrierefreiheit, und die Lösung ist einheitlich. Eine herkömmliche Regel-Engine kann solche Probleme sehr leicht aufspüren.

Allerdings sind solche Regeln etwas eingeschränkt. Beachten Sie, dass wir in diesem Beispiel NUR die Informationen aus dem View-Baum betrachtet haben. Das funktioniert HERVORRAGEND, wenn Sie Standard-Android-Steuerelemente verwenden. Standard-Steuerelemente haben bestimmte Anforderungen, die erfüllt sein müssen, damit sie barrierefrei sind.

Eine benutzerdefinierte Schaltflächenklasse

Was aber, wenn Ihre App voller benutzerdefinierter Steuerelemente ist? Betrachten wir ein anderes Beispiel: eine einfache „+1“-Schaltfläche.

Abbildung einer Schaltfläche mit dem Text „+1“

<LinearLayout>
   <MyCustomImageButton></MyCustomImageButton>
</LinearLayout>

Beachten Sie, dass der Text in das Bild eingebettet ist. Dies ist ein Szenario, mit dem herkömmliche Regel-Engines Schwierigkeiten hätten. Eine herkömmliche Regel-Engine kann dies weder als Button oder ein Image. Der ClassName stimmt mit keinem der beiden Control-Typen überein.

Die passende Markup-Syntax hierfür lautet natürlich

<MyCustomImageButton contentDescription=”+1”></MyCustomImageButton>

Aber eine herkömmliche Regel-Engine kann das unmöglich wissen!

Maschinelles Lernen

Hier kommt die Leistungsfähigkeit des maschinellen Lernens ins Spiel.

Maschinelles Lernen zur Erkennung des gleichen „+1“-Buttons als solchen

Hier sehen wir, dass das maschinelle Lernen dieses Steuerelement als Schaltfläche identifiziert hat.

<LinearLayout>
   <MyCustomImageButton></MyCustomImageButton> -> Should be Button
</LinearLayout>

Nun, da wir das wissen, MyCustomImageButton sollte lauten Button Wir können behaupten, dass dieses Steuerelement über eine „ContentDescription“ verfügen sollte, und somit neben anderen Korrekturen für benutzerdefinierte Elemente auch die richtige Korrektur empfehlen. Button Steuerung:

<MyCustomImageButton contentDescription=”+1”></MyCustomImageButton>

Bekanntgabe von Regeln für maschinelles Lernen

Deque hat offiziell seine erste Machine-Learning-Regel für die Android-Plattform veröffentlicht. Die neue Regel steht bestehenden Kunden zur Verfügung, die ihre Ergebnisse auf unseren Mobile-Server hochladen. Wenn Sie die Details eines Android-Scans anzeigen, wird Ihnen eine neue Kategorie von Verstößen angezeigt. Zusätzlich zur Anzeige der mit unseren Axe-Regeln getesteten Regeln gibt es eine neue Liste namens „Machine Learning“, in der die mit unserer neuen Funktion festgestellten Verstöße aufgeführt sind. Die Dokumentation für bestehende Kunden ist hier nach der Anmeldung verfügbar.  Wenn Sie noch kein Kunde sind, kontaktieren Sie uns bitte, um mehr zu erfahren.

Das ist erst der Anfang. Dieser Ansatz bei der Erstellung von Regeln sollte es uns ermöglichen, in den kommenden Versionen mindestens 50 % mehr Regeln hinzuzufügen und die Grenzen der automatisch erkennbaren Barrierefreiheitsprobleme weit über die Konkurrenzprodukte hinaus zu erweitern.

Chris McMeeking

Chris McMeeking

Chris McMeeking ist Softwareentwickler und Architekt bei Deque Systems und leitet die Entwicklung der nativen Produkte zur Analyse der Barrierefreiheit mobiler Anwendungen bei Deque. Seine Laufbahn im Bereich Barrierefreiheit begann mit einem Projekt an der University of Michigan: dem „ASK Scanning Keyboard“. Diese Anwendung wurde mit zahlreichen Preisen ausgezeichnet, darunter der mit 100.000 US-Dollar dotierte „Intel Innovator’s Award“, der zweite Platz beim Mobile World Congress sowie der „Student of Da Vinci“-Preis der Multiple-Sklerose-Stiftung. Chris ist der leitende Entwickler des „Android Analyzer“ und aktives Mitglied der Arbeitsgruppe, die diese neuen Standards für die Barrierefreiheit mobiler Anwendungen entwickelt.

Erhalten Sie Blog-Beiträge direkt in Ihren Posteingang

Kein Geschwafel, sondern echte Erkenntnisse zum Thema Barrierefreiheit von qualifizierten Experten.

Sie erklären sich damit einverstanden, dass Deque Informationen gemäß den Bestimmungen in DequeDatenschutzerklärungbeschrieben, Informationen von Deque entgegennimmt, nutzt und weitergibt. Sie können Ihre Einwilligung jederzeit widerrufen, indem Sie uns kontaktieren.

Mehr zu diesem Thema

Deque Fügt ein neues Appium-Plugin zu axe DevTools Mobile hinzu

Starten Sie mit der Unterstützung für „Bildansichtsname“, „Name des aktiven Steuerelements“, „Größe des Touch-Ziels“, „Bezeichnung im Namen“ und „Bezeichnung im Vordergrund“ – und erfahren Sie mehr über…

Artikel lesen
axe DevTools Mobile fügt ein neues Appium-Plugin hinzu

Wir stellen die nächste Generation der Barrierefreiheitstests für Mobilgeräte vor

Logo von Deque
12. September 2023 Von Deque Systems

Wenn Sie eine App unter iOS oder Android ausführen können, können Sie sie jetzt bei uns auf Barrierefreiheit testen. „ Deque“s „axe DevTools Mobile“ definiert das mobile Erlebnis neu…

Artikel lesen
axeDevTools – Ankündigung für den Blog zur nächsten Generation mobiler Anwendungen – Logos