Introduction
Il existe une idée fausse répandue parmi les développeurs voyants : une application qui fonctionne dans un terminal est automatiquement accessible. Cette croyance repose sur l'idée que, sans graphisme ni DOM complexe, le contenu est simplement du texte brut ASCII que les lecteurs d'écran peuvent facilement analyser. Cependant, la réalité est bien différente.
Le problème des TUIs modernes
Les interfaces utilisateur textuelles (TUIs) modernes sont souvent plus hostiles à l'accessibilité que les interfaces graphiques mal codées. Les outils conçus pour améliorer l'expérience des développeurs dans le terminal, tels que Ink (JS/React), Bubble Tea (Go) ou tcell, nuisent activement à l'expérience des utilisateurs aveugles.
Les fondements techniques
L'interface en ligne de commande est essentiellement un flux de données avec les données les plus récentes en bas, remontant dans le temps linéairement. Les lecteurs d'écran peuvent gérer cela assez facilement. Cependant, les TUIs modernes, fabriquées avec des frameworks récents, sont très différentes : elles forment une "grille 2D de pixels, où chaque cellule de caractère est un pixel. Elles abandonnent le flux temporel pour une disposition spatiale."
Les défis pour les lecteurs d'écran
Les lecteurs d'écran sont désorientés car le curseur saute dans tous les sens à chaque mise à jour de l'écran. Par exemple, alors que des TUIs plus anciennes comme Irssi utilisaient des régions de défilement VT100, les frameworks modernes redessinent l'ensemble de l'écran à chaque changement.
Comment résoudre le problème
- Utiliser les fonctionnalités du terminal : Les développeurs doivent exploiter les fonctionnalités de base du terminal, comme le défilement, pour rendre les TUIs plus accessibles.
- Conception centrée sur l'utilisateur : Impliquer des utilisateurs aveugles dans le processus de développement pour comprendre leurs besoins spécifiques.
- Outils d'accessibilité intégrés : Intégrer des outils qui aident à tester et améliorer l'accessibilité dès le début du développement.
Exemples de bonnes pratiques
- Irssi : Utilise des solutions terminales natives, réduisant les mises à jour d'écran inutiles.
- Ncurses : Offre des options pour gérer les écrans de manière plus conviviale pour les lecteurs d'écran.
Conclusion
Les TUIs modernes ont le potentiel d'être aussi accessibles que leurs homologues graphiques, mais cela nécessite une prise en compte sérieuse de l'accessibilité dès le départ. La communauté de développeurs doit intégrer ces considérations dans leurs pratiques pour éviter que l'accessibilité ne devienne un problème secondaire.
Discutons de ton projet en 15 minutes.