Loading
Six champs, zéro étiquette : le formulaire des destinataires n'annonçait rien
Vingt champs de l'interface n'avaient aucun nom accessible. Le pire est celui des destinataires : six champs, et ni étiquette associée, ni « placeholder », ni « aria-label ». Un lecteur d'écran y annonce six zones de texte anonymes, là où l'œil lit « Nom », « Organisme », « Adresse électronique », « Téléphone », « Langue », « Ce qui autorise l'envoi ». Le motif était toujours le même : une étiquette posée à côté du champ, sans « htmlFor », et un champ sans « id ». Cela se voit à l'écran et ne s'associe pas. Ailleurs dans le produit c'est fait — quatre-vingt-seize étiquettes sur cent quarante-quatre portent déjà leur « htmlFor ». Deux traitements, selon ce que l'écran montre déjà. Là où une étiquette existe, elle est associée : destinataires, modèles de message, étiquettes, canaux de crise, recensement. Là où la rangée est compacte à dessein — les périodes d'astreinte, les délais de relance et d'escalade — un « aria-label » nomme le champ sans ajouter une ligne qui déferait la mise en page : « Début de la période », « Fin de la période », « Relance, en minutes ». Le cas des astreintes méritait le détour : deux champs « datetime-local » séparés par une flèche, que rien ne distinguait l'un de l'autre. Et quatre apostrophes droites dans du texte visible, dans un produit qui écrit « l’est » partout ailleurs. Restent onze étiquettes qui nomment un groupe de boutons ou de cases plutôt qu'un champ — « Criticité », « Gravité », « Cellules à ouvrir ». Elles pointent vers rien. Le correctif est « role="group" » ou « fieldset », qui touche au style : signalé, pas fait. Co-Authored-By: Claude (RCA)