10 points par GN⁺ 2024-03-20 | 3 commentaires | Partager sur WhatsApp

Appliquer rapidement l’a11y (accessibilité) dans SwiftUI

  • Présentation d’une méthode pour corriger rapidement une app SwiftUI où l’accessibilité a été négligée.
  • L’accessibilité est une fonctionnalité essentielle pour 16 % des utilisateurs, mais elle est souvent ignorée pendant le développement.
  • Une app qui ne prend pas l’accessibilité en compte peut laisser une impression négative aux utilisateurs.

Vérifier l’accessibilité de l’app

  • Il est important de tester l’accessibilité sur un appareil réel.
  • Configurer le centre de contrôle de manière optimale permet d’activer rapidement les fonctions d’accessibilité.

Vérification de la taille du texte

  • iOS propose 12 tailles de texte, qu’il faut tester pour vérifier que l’app s’adapte correctement à chacune.
  • Il faut vérifier que l’interface fonctionne bien même avec la taille de texte la plus grande.

Vérification du lecteur d’écran

  • Pour les utilisateurs qui utilisent un lecteur d’écran, il faut vérifier l’accessibilité avec des outils comme VoiceOver.
  • De simples corrections, comme l’ajout de libellés d’accessibilité aux images, peuvent apporter de grandes améliorations.

Appliquer rapidement l’accessibilité

  • Une fois les problèmes identifiés, il faut les corriger rapidement, un par un.

Contenu défilable

  • Quand la taille du texte augmente, on peut résoudre le problème en plaçant le contenu dans une vue défilable.
  • Un modificateur de vue personnalisé appelé a11yScrollView() permet de rendre le contenu défilable uniquement lorsque c’est nécessaire.

Mauvaise odeur de code liée à l’espace vide

  • À la place de Spacer(), utiliser le modificateur frame() permet de construire une mise en page plus fiable.

Ajuster la taille des images et des icônes

  • Le property wrapper @ScaledMetric permet d’ajuster dynamiquement les images et les icônes en fonction de la taille de texte choisie par l’utilisateur.

Alignement du contenu

  • Utiliser A11yHStack permet d’aligner le contenu en fonction de la taille de texte de l’utilisateur.

Amélioration du lecteur d’écran

  • Utiliser accessibilityLabel, accessibilityElement(children:), accessibilityRepresentation, etc. améliore la compatibilité avec les lecteurs d’écran.

Utiliser des composants natifs

  • Utiliser autant que possible les composants SwiftUI natifs améliore les performances et l’accessibilité.

Convaincre les parties prenantes

  • Présentation de méthodes pour exercer de l’influence dans l’organisation afin que l’accessibilité soit considérée comme importante.
  • Mettre en avant les exigences légales et les bénéfices business permet de souligner l’importance de l’accessibilité.

Conclusion

  • L’article décrit l’ensemble du processus pour identifier et corriger les problèmes d’accessibilité d’une app.
  • Il présente divers outils et techniques proposés par SwiftUI pour améliorer l’accessibilité.

L’avis de GN⁺

  • Cet article est très utile pour les développeurs d’apps, car il explique pourquoi l’accessibilité est importante et propose des méthodes concrètes pour l’améliorer en pratique.
  • Une app qui ne tient pas compte de l’accessibilité peut dégrader l’expérience utilisateur et entraîner des problèmes juridiques ; il est donc important d’y penser dès les premières phases du développement.
  • Lorsqu’on utilise un framework moderne comme SwiftUI, on peut tirer pleinement parti des avantages des composants natifs pour améliorer à la fois les performances et l’accessibilité.
  • Pour améliorer l’accessibilité, il est aussi judicieux d’utiliser les bibliothèques et outils proposés par la communauté, afin de simplifier le processus de développement et d’en accroître l’efficacité.
  • Améliorer l’accessibilité d’une app ne relève pas seulement d’une question technique : c’est aussi une responsabilité sociale et une manière de mettre en pratique l’inclusion, afin que tous les utilisateurs puissent accéder au service à égalité.

3 commentaires

 
aer0700 2024-03-21

Prendre en compte l’accessibilité est peut-être aussi une façon de fidéliser des clients à mon service.
Si des services concurrents similaires ne prennent pas en charge cette fonctionnalité, mais que seule notre application la propose, les clients utiliseront la nôtre.

 
godrm 2024-03-20

Oh, il faudra aussi qu’on présente ça sur Let’s Swift, haha.

 
GN⁺ 2024-03-20
Avis sur Hacker News
  • Résumé du premier commentaire :

    Le développeur n’est pas d’accord avec l’affirmation de l’auteur selon laquelle il ne faut pas s’arrêter « tant que l’application n’est pas utilisable par tout le monde ». Toutes les applications qu’il a développées ont été conçues pour convenir au plus grand nombre d’utilisateurs possible, sans sacrifier les exigences métier ni les aspects importants ou centraux de l’application. Sinon, le produit risquerait de devenir inutilisable.

  • Résumé du deuxième commentaire :

    Le développeur fait de son mieux pour que son application puisse aussi être utilisée par des personnes malvoyantes ou aveugles. Dans une application récente, il a cherché un moyen qui soit à la fois facile à utiliser pour les personnes non handicapées et bénéfique pour les personnes handicapées. Il a ajouté une fonctionnalité d’« aide par appui long » : en maintenant n’importe quel élément de l’interface, une fenêtre contextuelle apparaît pour le décrire. Cette fonction marche bien grâce aux libellés et aux indications d’accessibilité.

  • Résumé du troisième commentaire :

    Évaluation positive d’un article pratique. L’accessibilité est importante, mais accuser de paresse les développeurs qui ne rendent pas leurs applications accessibles par défaut lui semble problématique. Il y a beaucoup de concepts à apprendre, des priorités qui entrent en conflit, des outils avec lesquels il faut se familiariser, et il faut aussi construire un argumentaire business en faveur de l’accessibilité. La plupart des développeurs et des designers connaissent mal les règles WCAG. Il est également difficile de trouver des couleurs de marque respectant les exigences de contraste.

  • Résumé du quatrième commentaire :

    Le développeur a créé une application avec Flutter sans vraiment prendre l’accessibilité en compte, mais il a reçu une plainte d’un utilisateur aveugle après six mois d’usage. Flutter gère automatiquement l’essentiel de l’accessibilité, et même les fonctionnalités personnalisées ont bien fonctionné sans nécessiter de grosses modifications pour les utilisateurs aveugles.

  • Résumé du cinquième commentaire :

    Il s’interroge sur la raison pour laquelle il faudrait privilégier visuellement les options d’accessibilité et annoter un support précis à forte densité tactile. Il serait peut-être préférable de proposer une application adaptée aux utilisateurs qui ont besoin d’accessibilité, par exemple une version « basse vision » ou une version « faible précision tactile ».

  • Résumé du sixième commentaire :

    Question sur la responsabilité juridique ou les délais de grâce lorsqu’une nouvelle application ou une startup réussit beaucoup plus vite que prévu. Quand on n’est pas certain qu’une idée fonctionnera, l’accessibilité peut ne pas être une préoccupation majeure, et en dehors de la Californie, il pense qu’il n’y aurait généralement pas de gros problème juridique à allouer des ressources pour corriger les questions d’accessibilité après un succès inattendu.

  • Résumé du septième commentaire :

    Le développeur partage l’expérience de son père, qui a dû utiliser un fauteuil roulant électrique après un AVC. Cela lui a fait prendre conscience de l’importance de la conformité à l’ADA, et il souligne qu’en tant que développeurs, nous pouvons jouer un rôle majeur pour rendre le monde plus accessible. Il encourage les développeurs à faire des efforts pour que leur travail soit accessible au plus grand nombre possible.

  • Résumé du huitième commentaire :

    Partage d’expérience d’un utilisateur ayant activé les options « Texte plus grand » et « Zoom de l’écran » sur iPhone. Il ne s’agit pas seulement des personnes handicapées, mais de la flexibilité et du contrôle donnés à tous les utilisateurs pour adapter l’interface à leur manière d’utiliser l’appareil. Parfois, on peut vouloir que l’écran soit lu à voix haute, ou qu’une partie précise seulement soit lue, quand on n’a pas envie de le regarder.

  • Résumé du neuvième commentaire :

    Les communautés ayant besoin d’accessibilité ont généralement tendance à faire une demande d’abord, puis à engager une action en justice ensuite si nécessaire. L’ADA est une loi puissante, mais si l’on fait des efforts, cela ne pose en général pas de problème. Vers 2000, il a rédigé un guide d’accessibilité sous la supervision d’un avocat, puis a continué à ajouter de l’accessibilité à ses applications en collaboration avec des utilisateurs aveugles. Si quelqu’un le demande, il faut aider, et cela peut vous apporter de solides soutiens pour votre travail.

  • Résumé du dixième commentaire :

    Si l’application a réussi, c’est parce qu’elle n’a pas perdu de temps sur des choses jugées non essentielles comme l’accessibilité (a11y) ou l’internationalisation (i18n). Historiquement, aucun produit à succès ne s’est concentré dès le départ sur l’accessibilité ou l’internationalisation. Maintenant que l’application a du succès, il est possible de réfléchir à l’accessibilité et d’y consacrer des ressources.