Vincent Tourraine
Blog

Accessibilité pour Air Grenoble

#dev #iOS

Je sais bien que l’accessibilité est un sujet important, mais pour être honnête, j’y pense plutôt a posteriori, quand je suis à court d’idées pour de nouvelles fonctionnalités. Heureusement qu’il existe des initiatives comme la Journée Mondiale de Sensibilisation à l’Accessibilité pour me secouer un peu. Et encore une fois, Air Grenoble est le projet parfait pour mettre en pratique ces bonnes pratiques.

Tout d’abord, évaluer le degré d’accessibilité de l’application. Voilà comment je m’y prends :

Note pour moi-même : il serait intéressant d’écrire un article pour détailler chacune de ces étapes. Peut-être une prochaine fois.

Pour Air Grenoble, la navigation est tellement basique que VoiceOver et Voice Control sont déjà bien gérés. L’application supporte déjà Dynamic Type. Les problèmes restant concernent les autres options d’affichage. Augmentation du contraste, diminution des mouvements et de la transparence : rien de tout ça n’est pris en charge par l’écran principal, puisqu’il s’agit d’une vue non standard.

Il suffit pourtant de quelques modifications pour remédier à cette situation.

Pour le contraste, j’ai ajouté une variante « high contrast » à la couleur de fond dans l’asset catalog. UIKit se charge de l’appliquer automatiquement. Pour le mouvement, j’écoute la notification reduceMotionStatusDidChange, et je cache les nuages en conséquence. Pour la transparence, j’écoute la notification reduceTransparencyStatusDidChange et je modifie l’alpha des nuages. Je n’oublie pas de vérifier aussi la valeur de ces paramètres au lancement, pour éventuellement adapter l’interface si une option est déjà active.

Résultat : l’application est maintenant hautement personnalisable, sans avoir à ajouter le moindre réglage supplémentaire.

Air Grenoble - affichage normal, texte plus grand, texte gras
Air Grenoble - affichage normal, texte plus grand, texte gras
Air Grenoble - contraste augmenté, diminution de la transparence, diminution des mouvements
Air Grenoble - contraste augmenté, diminution de la transparence, diminution des mouvements