Accessibilité mobile et apprentissage automatique

Chris McMeeking

Par Chris McMeeking

29 décembre 2020

apprentissage automatique sur mobile1

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

Image d'un bouton comportant le texte « +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.

L'apprentissage automatique permettant d'identifier le bouton « +1 » comme tel

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.

Chris McMeeking

Chris McMeeking

Chris McMeeking est ingénieur logiciel et architecte chez Deque Systems, où il dirige les efforts de développement des produits natifs d’analyse de l’accessibilité mobile de Deque. Son parcours dans le domaine de l’accessibilité a débuté avec un projet mené à l’université du Michigan, le clavier à balayage ASK. Cette application a remporté de nombreux prix, notamment l’Intel Innovator’s Award d’une valeur de 100 000 dollars, la deuxième place au Mobile World Congress et le prix « Student of Da Vinci » décerné par la Fondation pour la sclérose en plaques. Chris est le développeur principal de l’Android Analyzer et un membre actif du groupe de travail chargé d’élaborer ces nouvelles normes d’accessibilité pour les appareils mobiles.

Recevez les articles de blog directement dans votre boîte mail

Pas de bavardages inutiles, mais des informations concrètes sur l'accessibilité, fournies par des experts qualifiés.

Vous acceptez que Deque , utilise et partage des informations conformément à Dequedéclaration de confidentialité. Vous pouvez modifier votre consentement à tout moment en nous contactant.

En savoir plus sur ce sujet

Deque Ajoute un nouveau plugin Appium à axe DevTools Mobile

Logo de Deque
21 février 2024 Par Deque Systems

Commencez par découvrir la prise en charge des paramètres « Nom de l'affichage de l'image », « Nom du contrôle actif », « Taille de la cible tactile », « Libellé dans le nom » et « Libellé au premier plan » – et bien plus encore…

Lire l'article
axe DevTools Mobile intègre un nouveau plugin Appium

Présentation de la nouvelle génération de tests d'accessibilité sur mobile

Logo de Deque
12 septembre 2023 Par Deque Systems

Si vous pouvez exécuter une application sous iOS ou Android, vous pouvez désormais en tester l'accessibilité avec nous. DevTools Mobile, de Deque, redéfinit le mobile…

Lire l'article
axeDevTools : logos d'annonce pour le blog mobile de nouvelle génération