Outil automatisé pour l'accessibilité des apps mobiles
Un outil qui aide les développeurs à corriger les problèmes d'accessibilité dans les applications mobiles.
Forough Mehralian, Titus Barik, Jeff Nichols, Amanda Swearngin
― 9 min lire
Table des matières
- Le Besoin d'Accessibilité dans les Applis Mobiles
- Les Défis Rencontrés par les Développeurs
- Présentation de Notre Outil Automatisé
- Étude des Besoins des Développeurs
- La Structure de Notre Outil
- Recherche Empirique
- Comparaison des Approches d'Accessibilité Android et iOS
- Phases de Correction des Bugs d'Accessibilité
- Objectifs de Design pour l'Outil
- L'Approche de l'Outil
- Détails de Fonctionnement de l'Outil
- Efficacité de l'Outil
- Efficacité dans la Correction des Problèmes
- Perspectives des Développeurs sur l'Outil
- La Valeur des Multiples Suggestions
- Défis avec les Suggestions
- Conclusion et Perspectives Futures
- Source originale
- Liens de référence
L'Accessibilité est super importante pour rendre les applis mobiles utilisables par tout le monde. Mais beaucoup de Développeurs galèrent à repérer et corriger les Problèmes d'accessibilité dans leurs applis. Souvent, c'est à cause d'un manque de connaissances, d'outils ou de conseils. Bien qu'il existe des outils pour identifier ces soucis, ils ne disent pas toujours aux développeurs comment les régler. Cet article présente un nouvel outil automatisé qui suggère des modifications de Code pour corriger les problèmes d'accessibilité détectés par d'autres scanners.
Le Besoin d'Accessibilité dans les Applis Mobiles
Comme les gens utilisent de plus en plus les applis mobiles au quotidien, il est de plus en plus nécessaire de rendre ces applis accessibles à tous. Même avec des directives censées aider les développeurs à créer des applis accessibles, beaucoup d'entre elles ont encore des soucis qui peuvent compliquer la vie des personnes avec des handicaps.
Les développeurs savent souvent pas quels standards d'accessibilité suivre. Certains manquent de compétences pour régler ces problèmes correctement. Les outils d'accessibilité existants, comme l'Accessibility Scanner pour Android et l'Accessibility Inspector pour iOS, peuvent signaler des problèmes mais ne donnent pas toujours des étapes détaillées pour les corriger. Ces outils regardent parfois comment l'appli fonctionne en temps réel et détectent des problèmes qui ne se montrent que pendant l'utilisation. Bien qu'ils aident à identifier les soucis, beaucoup de développeurs peinent à les corriger car les outils rapportent beaucoup de problèmes à régler.
Les Défis Rencontrés par les Développeurs
Dans une étude sur les développeurs, plusieurs défis ont été soulevés concernant la correction des problèmes d'accessibilité :
- Solutions Multiples : Pour un problème d'accessibilité, il peut y avoir plusieurs façons de le corriger.
- Intégrité du Design : Les Corrections ne doivent pas seulement suivre les directives d'accessibilité, mais aussi garder le design global de l'appli.
- Changements Complexes : Souvent, corriger un problème nécessite de modifier d'autres éléments dans l'appli, ce qui complique le processus.
- Localisation Chronophage : Trouver où dans le code appliquer une correction prend beaucoup de temps.
Présentation de Notre Outil Automatisé
Pour aider les développeurs, on a introduit un outil qui utilise un système conçu pour suggérer des corrections de code pour les problèmes d'accessibilité courants. L'outil utilise une approche multi-agent pour :
- Identifier le problème dans le code source.
- Proposer des modifications pour régler le problème.
L'outil examine des applis mobiles open-source pour détecter divers problèmes d'accessibilité, localise leur emplacement dans le code, et suggère comment modifier le code pour corriger ces problèmes. Chaque solution proposée vise à résoudre le problème d'accessibilité spécifique tout en garantissant que l'appli continue de fonctionner correctement.
Étude des Besoins des Développeurs
Pour développer l'outil, on a interviewé cinq développeurs ayant au moins un an d'expérience dans la création d'applis mobiles. Ils ont donné un aperçu de leur processus pour corriger les bugs d'accessibilité :
- Les développeurs ont noté que déterminer une correction implique souvent de comprendre différentes stratégies qui pourraient s'appliquer à un même problème.
- Ils ont convenu que les corrections ne devraient pas seulement respecter les directives d'accessibilité mais aussi tenir compte du design global de l'appli.
- Trouver la bonne section du code où des changements sont nécessaires est souvent la partie la plus lente du processus de correction.
La Structure de Notre Outil
L'outil fonctionne selon une méthode plan-localise-corrige, conçue pour aider à corriger les problèmes d'accessibilité. Voici comment ça marche :
- Plan : La première étape consiste à déterminer les stratégies potentielles pour chaque problème d'accessibilité identifié.
- Localise : Ensuite, l'outil cherche dans le code source pour trouver l'emplacement spécifique à corriger.
- Corrige : Enfin, il suggère des modifications de code spécifiques qui peuvent résoudre le problème tout en maintenant la fonctionnalité.
Recherche Empirique
On a évalué notre outil en le testant sur 205 problèmes dans 14 applis iOS différentes. L'outil a été efficace, générant des suggestions de corrections possibles pour 77 % des problèmes. Les développeurs qui ont testé l'outil ont indiqué qu'ils envisageraient d'accepter 69,4 % des corrections proposées.
Comparaison des Approches d'Accessibilité Android et iOS
La plupart des solutions existantes se concentrent sur les applis Android, qui suivent des principes de design différents des applis iOS. Des frameworks comme SwiftUI permettent aux développeurs de définir les attributs et comportements de l'UI de manière plus simple. Cependant, cette simplicité peut compliquer l'identification des problèmes dans le code, car les éléments sont construits dynamiquement, rendant difficile la comparaison entre le code statique et les applis en temps réel.
Un problème courant est le contraste des couleurs, où les développeurs essaient différentes stratégies pour corriger le problème, comme changer les couleurs de fond ou de texte. La bonne correction pourrait nécessiter des ajustements non seulement aux éléments individuels mais au thème global de l'appli. Identifier où ces changements devraient se faire devient une tâche difficile.
Phases de Correction des Bugs d'Accessibilité
Lors des interviews, les développeurs ont partagé des idées sur leur flux de travail typique pour résoudre les problèmes d'accessibilité. On a identifié des phases distinctes dans leur processus :
- Formation d'Hypothèses : Les développeurs génèrent des idées sur ce qui pourrait être mal et comment le corriger.
- Planification de la Correction : Ils créent un plan pour traiter les problèmes identifiés.
- Localisation : Cette phase implique de localiser les éléments de l'UI impactés dans le code.
- Édition et Validation du Code : Les développeurs appliquent leurs corrections puis vérifient si les problèmes sont résolus.
Objectifs de Design pour l'Outil
Après les interviews, on a défini des objectifs spécifiques pour notre outil afin de faciliter le processus pour les développeurs :
- Localiser Automatiquement les Éléments : L'outil devrait aider à trouver où dans le code des changements doivent être faits.
- Fournir Plusieurs Suggestions de Corrections : Comme il peut y avoir plusieurs façons de corriger un problème, l'outil devrait donner plusieurs options aux développeurs.
L'Approche de l'Outil
L'approche de notre outil implique trois modules principaux :
- Traitement des Données : Cette première étape inclut l'analyse de l'appli et la navigation à travers divers écrans pour capturer des données d'accessibilité.
- Génération de Suggestions : Cette partie utilise le système multi-agent pour générer des corrections possibles basées sur les problèmes détectés.
- Évaluation des Suggestions : La dernière étape vérifie si les corrections proposées résolvent les problèmes d'accessibilité.
Détails de Fonctionnement de l'Outil
L'automatisation commence par l'outil qui collecte des données des applis et effectue des scans d'accessibilité. Pour chaque problème détecté, il génère plusieurs suggestions de correction potentielles et vérifie si ces suggestions améliorent réellement l'accessibilité sans causer de nouveaux problèmes.
Efficacité de l'Outil
Dans les tests, notre outil a démontré sa capacité à générer des suggestions plausibles pour les problèmes d'accessibilité. Avec une efficacité rapportée de 77 %, l'outil peut aider les développeurs à apporter les changements de code nécessaires. L'outil propose plusieurs suggestions pour de nombreux problèmes, permettant aux développeurs de choisir celle qui convient le mieux à leurs besoins en matière de design et de fonctionnalité.
Efficacité dans la Correction des Problèmes
Pour comprendre à quel point l'outil est efficace, on a analysé combien de tentatives il a fallu pour générer des corrections efficaces. En moyenne, l'outil a généré des suggestions de correction plausibles en 54 secondes par problème, montrant qu'il peut faire gagner du temps aux développeurs lorsqu'il s'agit de corriger plusieurs problèmes d'accessibilité.
Perspectives des Développeurs sur l'Outil
Pour évaluer à quel point les développeurs trouvent notre outil utile, on a interrogé 12 développeurs iOS dans une boîte. Les développeurs ont noté les suggestions de l'outil et ont donné leur avis sur leur expérience globale.
Les retours ont montré que beaucoup de développeurs trouvaient l'outil particulièrement utile, surtout les moins expérimentés, qui ont apprécié les multiples suggestions fournies.
La Valeur des Multiples Suggestions
La disponibilité de plusieurs corrections proposées aide les développeurs à prendre des décisions éclairées. On a remarqué que les développeurs moins expérimentés trouvaient ces suggestions particulièrement bénéfiques en apprenant différentes approches pour résoudre les problèmes d'accessibilité. D'un autre côté, les développeurs plus expérimentés ont aussi apprécié l'aspect de localisation de l'outil, qui les aidait à identifier les problèmes plus rapidement.
Défis avec les Suggestions
Bien que de nombreux développeurs aient accepté les suggestions de l'outil, certains ont trouvé que toutes les propositions ne réglaient pas efficacement les problèmes fondamentaux. Les avis étaient partagés sur l'utilité pour l'outil de proposer des suggestions qui pourraient ne pas résoudre la préoccupation d'accessibilité initiale.
Les développeurs ont donné des retours sur les suggestions, et bien que la plupart les aient trouvées utiles, ils voulaient des options plus claires qui corrigent vraiment les problèmes.
Conclusion et Perspectives Futures
Corriger les problèmes d'accessibilité dans les applis mobiles reste complexe. Bien que notre outil ait montré des résultats prometteurs en suggérant des corrections plausibles et en aidant les développeurs dans leur processus de prise de décision, des recherches continues sont nécessaires pour affiner encore ses capacités.
Les travaux futurs pourraient se pencher plus en profondeur sur la manière dont les problèmes interconnectés peuvent être regroupés et résolus collectivement, améliorant ainsi l'efficacité globale de l'outil. Cette approche pourrait mener à des corrections plus fluides qui maintiennent également l'intégrité du design et de la fonctionnalité de l'appli.
Avec des améliorations et des évaluations continues, notre outil vise à contribuer de manière significative au domaine de l'accessibilité dans les applications mobiles, rendant le processus plus simple et plus efficace pour les développeurs partout.
Titre: Automated Code Fix Suggestions for Accessibility Issues in Mobile Apps
Résumé: Accessibility is crucial for inclusive app usability, yet developers often struggle to identify and fix app accessibility issues due to a lack of awareness, expertise, and inadequate tools. Current accessibility testing tools can identify accessibility issues but may not always provide guidance on how to address them. We introduce FixAlly, an automated tool designed to suggest source code fixes for accessibility issues detected by automated accessibility scanners. FixAlly employs a multi-agent LLM architecture to generate fix strategies, localize issues within the source code, and propose code modification suggestions to fix the accessibility issue. Our empirical study demonstrates FixAlly's capability in suggesting fixes that resolve issues found by accessibility scanners -- with an effectiveness of 77% in generating plausible fix suggestions -- and our survey of 12 iOS developers finds they would be willing to accept 69.4% of evaluated fix suggestions.
Auteurs: Forough Mehralian, Titus Barik, Jeff Nichols, Amanda Swearngin
Dernière mise à jour: 2024-08-07 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2408.03827
Source PDF: https://arxiv.org/pdf/2408.03827
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.