Commit df48c296 authored by Jordan Grossemy's avatar Jordan Grossemy
Browse files

Quatorze jeux de commandes qui ignoraient l'intitulé posé au-dessus d'eux

Le produit nomme aussi ses groupes par une « span.etiq », qui n'est qu'un style :
aucune association, aucun rôle. Le lecteur d'écran lisait le texte, puis une
série de boutons sans savoir de quel jeu ils relèvent — « Ajouter, Ajouter,
Ajouter » sous « Le catalogue ».

── Mon « sept » était faux, et la façon dont il l'était compte

Je l'avais tiré d'un grep qui ne regardait qu'une ligne après l'intitulé. En
balayant les 170 « .etiq » du produit, une cinquantaine coiffent quelque chose
d'interactif — mais la plupart sont des titres de panneau, suivis d'un bouton
« Fermer ». Ce ne sont pas des noms de groupe, et les nommer aurait ajouté du
bruit.

J'ai donc trié à la main, retenu douze, écrit la garantie — et la garantie en a
trouvé deux de plus que ma relecture avait manqués : le champ d'échéance du
détail d'action et le catalogue de tuiles du cockpit. Quatre fois dans cette
session j'ai énuméré à la main et compté faux ; à chaque fois qu'une règle
exécutable a repris le compte, elle a trouvé le reste. La règle avant la
relecture, désormais.

── Les quatorze

Envoi en masse (à qui, qui porte ces étiquettes, sauf), pilotage de crise
(gravité), mobilisation (mobilisations préparées), intégrations (portées),
cockpit (le catalogue), détail d'action (échéance), et les cinq sections des deux
rails de navigation — « Cockpit et salons », « Transverse », « Organisation »,
« Paramètres de l'organisation », « Instance ». Ces cinq-là sont le meilleur
rapport de l'ensemble : c'est par le rail qu'on se déplace pendant une crise,
et il porte vingt-quatre destinations.

── Un champ sans aucun nom, trouvé en chemin

Le « datetime-local » de l'échéance n'avait ni étiquette, ni « aria-label », ni
rien : un lecteur d'écran annonçait une zone de saisie muette. Nommé. Il aurait
dû tomber dans le lot des vingt champs nommés en début de session ; il y avait
échappé.

── Ce que je n'ai pas touché, et pourquoi

Les titres de panneau : ils nomment une région, pas un jeu de commandes.
Les listes lisibles — invitations en attente, membres, observations de clôture,
appareils mobiles : du contenu, pas des commandes.
Les blocs dont les commandes portent déjà leur propre nom, comme la nouvelle
période d'astreinte.
Et trois barres d'onglets — conduite, tableau des actions, veille externe :
elles demandent « role=tablist » et « aria-selected », pas un groupe. Signalées
dans le commentaire de la garantie, à traiter à part.

1179 garanties au vert. Vérifié à l'écran, dans l'arbre d'accessibilité :
« group Organisation », « group Cockpit et salons », « group À qui »,
« group Le catalogue », « textbox Échéance » là où il n'y avait qu'un « div » et
un champ muet. Mise en page inchangée.

Co-Authored-By: Claude (RCA)
parent a3b663cd
Loading
Loading
Loading
Loading