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.

<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.

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.