veilletech.fr
24 août Feed du jour
#02 ACCESSIBILITÉ Article

Le mythe du mode texte : les TUI et l'accessibilité

Le terminal n'est pas accessible par nature.

Contrairement à l'intuition, les interfaces texte modernes sont souvent moins accessibles que des interfaces graphiques médiocres : les cadriciels récents traitent le terminal comme une grille spatiale, ce qui désoriente les lecteurs d'écran.

2 min de lecturevidéo 1:07
Partager
Sommaire4 sections
  1. L'idée reçue
  2. Pourquoi
  3. Ce n'est pas une fatalité
  4. À retenir

L'idée reçue

Elle est tenace chez les développeurs voyants : si une application tourne dans un terminal, elle serait accessible par nature. Pas de graphismes, pas de DOM complexe, pas de canvas WebGL — donc du texte brut qu'un lecteur d'écran parcourt sans peine.

La réalité est inverse. La plupart des interfaces texte modernes sont plus hostiles à l'accessibilité que des interfaces graphiques mal codées.

Et le coupable désigné est inattendu : les cadriciels créés pour améliorer l'expérience des développeurs dans le terminal — Ink pour JavaScript, Bubble Tea pour Go, tcell — sont ceux qui dégradent celle des utilisateurs aveugles.

Pourquoi

La cause est structurelle, et une fois énoncée elle paraît évidente.

Une ligne de commande, c'est un flux de données : le plus récent en bas, et l'on remonte linéairement dans le temps en défilant vers le haut. Un lecteur d'écran gère cela très bien — les lecteurs intégrés au noyau sont d'ailleurs réputés efficaces.

Une interface texte moderne fonctionne tout autrement. Selon la formule citée, c'est « une grille 2D de pixels, où chaque cellule de caractère est un pixel » : elle abandonne le déroulé temporel au profit d'une disposition spatiale.

Le lecteur d'écran, lui, ne sait plus quoi en faire. Le symptôme principal : le curseur saute partout à chaque rafraîchissement de l'écran, ce qui rend l'outil inutilisable.

Ce n'est pas une fatalité

Le point le plus intéressant est que les interfaces texte anciennes s'en sortaient mieux — parce qu'elles étaient conçues avant ces cadriciels, d'une manière plus respectueuse du terminal, ou parce qu'elles offraient l'option de masquer le curseur.

L'exemple donné est Irssi, qui utilise les régions de défilement du VT100 plutôt que de redessiner tout l'écran à chaque changement.

Autrement dit : le problème ne vient pas de l'interface texte en soi, mais de cadriciels qui n'exploitent pas les fonctions natives du terminal et le traitent comme une toile à repeindre.

À retenir

Une intuition largement partagée qui se révèle fausse, avec une cause technique identifiable et un contre-exemple qui prouve que c'est évitable. Si vous développez une interface en terminal, la question à se poser est de savoir si vous utilisez le terminal ou si vous vous contentez de dessiner dedans.

Source : OSNews