Élargir le champ d'application des moteurs de règles automatisés.
Depuis quelque temps déjà, l'apprentissage automatique fait beaucoup parler de lui dans le secteur de l'accessibilité. Une plateforme qui exploite cette technologie pour réaliser de réels progrès est désormais disponible.
En intégrant l'apprentissage automatique à nos moteurs de règles, Deque parvient à surmonter des obstacles de couverture qui semblaient autrement insurmontables. Il devient notamment possible de définir des règles pour des contrôles personnalisés. Les règles ne se limitent plus aux contrôles standard et à leurs propriétés. Nous pouvons désormais déduire la signification à partir des aspects visuels des contrôles et définir des règles concernant leur comportement.
Plus simplement, nous utilisons l'apprentissage automatique pour qu'il fasse office d'« yeux » d'un expert en accessibilité, en fournissant à notre moteur de règles les types de éléments visuellement identifiables détectés par notre modèle d'apprentissage automatique dédié à la reconnaissance d'images. Nous combinons ensuite ces informations avec notre connaissance de ce que ces propriétés devraient signifier pour l'accessibilité de la plateforme. Nos règles s'exécutent et garantissent que les propriétés transmises aux technologies d'assistance correspondent à celles auxquelles on s'attendrait d'un point de vue visuel.
Tout cela est assez compliqué, approfondissons un peu le sujet.
Moteurs de règles traditionnels
Pour bien saisir l'intérêt que présente l'apprentissage automatique pour les règles d'accessibilité, il est tout d'abord important de comprendre le fonctionnement d'un moteur de règles classique. Prenons un exemple simplifié de règle s'exécutant sous Android.
Un commutateur simple dans une configuration linéaire
<LinearLayout> <TextView>The Lights</TextView> <Switch>On</Switch> </LinearLayout>
À partir de cet extrait simplifié de la hiérarchie des vues, on peut constater un problème d'accessibilité simple. Le Switch ne semble pas être correctement associé à la TextView et nous pouvons vous proposer une solution. Voici comment résoudre ce problème.
<LinearLayout> <TextView labelFor=switchId>The Lights</TextView> <Switch id=switchId>On</Switch> </LinearLayout>
Tout cela est formidable. Il s'agit d'un problème d'accessibilité très facile à détecter et la solution est cohérente. Un moteur de règles classique peut repérer très facilement ce genre de problèmes.
Cependant, ce type de règles présente certaines limites. Remarquez que, dans cet exemple, nous nous sommes CONTENTÉS d'examiner les informations de l'arborescence de vue. Cela fonctionne TRÈS BIEN lorsque vous utilisez les contrôles Android d'origine. Ces derniers imposent en effet certaines conditions qui doivent être respectées pour qu'ils soient accessibles.
Une classe de bouton personnalisée
Mais que se passe-t-il si votre application regorge de contrôles personnalisés ? Prenons un autre exemple : un simple bouton « +1 ».

<LinearLayout> <MyCustomImageButton></MyCustomImageButton> </LinearLayout>
Notez que le texte est intégré à l'image. Il s'agit là d'un cas de figure qui poserait problème aux moteurs de règles traditionnels. Un moteur de règles traditionnel ne peut ni classer cela comme Button ou un Image. Le nom de classe ne correspond à aucun des deux types de contrôle.
Le balisage approprié pour cela est évidemment
<MyCustomImageButton contentDescription=”+1”></MyCustomImageButton>
mais un moteur de règles classique n'a aucun moyen de le savoir !
Découvrez l'apprentissage automatique
C'est là que le potentiel de l'apprentissage automatique entre en jeu.

On constate ici que l'apprentissage automatique a identifié cet élément de contrôle comme un bouton.
<LinearLayout> <MyCustomImageButton></MyCustomImageButton> -> Should be Button </LinearLayout>
Maintenant que l'on sait cela, MyCustomImageButton devrait être Button Nous pouvons affirmer que ce contrôle devrait comporter une description de contenu (ContentDescription) et, de ce fait, recommander la correction appropriée, parmi d'autres corrections à apporter aux éléments personnalisés. Button Commandes :
<MyCustomImageButton contentDescription=”+1”></MyCustomImageButton>
Annonce des règles relatives à l'apprentissage automatique
Deque a officiellement lancé sa première règle basée sur l'apprentissage automatique pour la plateforme Android. Cette nouvelle règle est accessible aux clients actuels qui transmettent leurs résultats à notre serveur Mobile. Vous verrez apparaître une nouvelle catégorie d'infractions lorsque vous consulterez les détails d'une analyse Android. Outre les règles testées à l'aide de nos règles « axe », une nouvelle liste, intitulée « Apprentissage automatique », affiche les infractions détectées grâce à notre nouvelle fonctionnalité. La documentation destinée aux clients existants est disponible ici, après connexion. Si vous n'êtes pas encore client, veuillez nous contacter pour en savoir plus.
Ce n'est qu'un début. Cette approche de la création de règles devrait nous permettre d'ajouter au moins 50 % de règles supplémentaires au cours des prochaines versions et de continuer à repousser les limites en matière de problèmes d'accessibilité détectables automatiquement, bien au-delà de ce qu'offrent les produits concurrents.