Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FO - Formulaire] Amélioration de la navigation au clavier - accessibilité #3027

Merged

Conversation

hmeneuvrier
Copy link
Collaborator

@hmeneuvrier hmeneuvrier commented Sep 12, 2024

Ticket

#2991
#2993

Description

Correction de la navigation au clavier sur le formulaire

  • ordre de tabulation
  • focus sur le premier élément
  • gestion de la navigation au clavier dans les éléments complexes (sélecteur d'adresse par exemple)

Changements apportés

  • Ajout d'un paramètre focus dans les paramètres accessibility dans tous les json, et gestion de ce paramètre dans tous les composants pour mettre le focus sur l'élément choisi quand on arrive sur l'écran
  • Inversion des boutons suivant et précédent sur tous les écrans, en les mettant dans un SignalementFormSubscreen avec la css button-group-responsive-inverted pour que le bouton suivant soit accessible avant le bouton précédent en tabulation
  • Gestion de la navigation au clavier dans le composant SignalementFormAddress
  • Changement d'un texte de suivi dans les fixtures (n'a rien à voir avec la choucroute, mais ça a perturbé Mathilde pendant ces tests sur une reviewapp)

Pré-requis

npm run watch

Tests

  • Dans l'idéal, tester le formulaire au clavier pour tous les profils et tous les désordres et en passant sur tous les écrans. En vrai en faire le max possible, en variant
  • Pour chaque écran, vérifier
  • l'ordre de tabulation
  • le focus mis sur le premier élément
  • le bouton suivant accessible avant le bouton précédent
  • la navigation au clavier sans piège dans les composants plus complexes

@hmeneuvrier hmeneuvrier force-pushed the bugfix/2991-fo---formulaire---accessibilite-tabulation branch from 94ef77b to 2b4a3f4 Compare September 16, 2024 08:48
@hmeneuvrier hmeneuvrier changed the title [WIP] Bugfix/2991 fo formulaire accessibilite tabulation [FO - Formulaire] Amélioration de la navigation au clavier - accessibilité Sep 18, 2024
@hmeneuvrier hmeneuvrier marked this pull request as ready for review September 18, 2024 07:45
@hmeneuvrier hmeneuvrier force-pushed the bugfix/2991-fo---formulaire---accessibilite-tabulation branch from 11484ac to 82200b0 Compare September 18, 2024 09:01
@hmeneuvrier hmeneuvrier force-pushed the bugfix/2991-fo---formulaire---accessibilite-tabulation branch from 82200b0 to ec3f15e Compare September 18, 2024 19:16
Copy link
Collaborator

@numew numew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai quelques tests KO (je suis pas allé plus loin)

  • Lorsque l'on soumet via entrée en étant sur un bouton précédent, on revient sur l'écran précédent, ca soumet la page et on revient donc sur l'écran initial
  • Lorsqu'on valide une proposition autocomplete (du navigateur, ex sur nom de famille) ca soumet aussi le formulaire, donc des erreur s'affiche, c'est problématique dans certains cas ou on est pas sur le dernier champs de la page mais sur le dernier obligatoire, dans ce cas on passe à l'écran suivant sans avoir tout parcourus
  • Le point "Mettre le focus sur le premier champ en erreur quand le cas se présente après clic sur bouton suivant" ne semble pas effectif (potentiellement faisable dans un ticket à part à mon sens pour celui la)

@hmeneuvrier hmeneuvrier force-pushed the bugfix/2991-fo---formulaire---accessibilite-tabulation branch 2 times, most recently from a3f79bf to 44e442b Compare September 23, 2024 14:21
@hmeneuvrier
Copy link
Collaborator Author

J'ai quelques tests KO (je suis pas allé plus loin)

* Lorsque l'on soumet via entrée en étant sur un bouton précédent, on revient sur l'écran précédent, ca soumet la page et on revient donc sur l'écran initial

* Lorsqu'on valide une proposition autocomplete (du navigateur, ex sur nom de famille) ca soumet aussi le formulaire, donc des erreur s'affiche, c'est problématique dans certains cas ou on est pas sur le dernier champs de la page mais sur le dernier obligatoire, dans ce cas on passe à l'écran suivant sans avoir tout parcourus

Pour ces deux points, j'ai annulé la validation générale de l'écran au clic sur "enter", parce que c'est impossible à gérer tel que je l'avais imaginé. Ca faisait même sauter un écran sur deux si on clique sur "enter" quand on est sur le bouton suivant parce que le "click sur enter" choppé sur le bouton "naturellement" est un événement "onclick", et le clic que j'interceptais est un événement "onkeyup" et du coup le event.preventDefault() ne fonctionne pas...

@hmeneuvrier
Copy link
Collaborator Author

Copy link
Collaborator

@numew numew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test ok

Copy link
Collaborator

@emilschn emilschn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok lecture et test

Pour le composant adresse, ça fonctionne bien si on utilise les flèches.
Si on utilise la tabulation, elle met le focus sur les éléments. Mais dans ce cas, on ne peut pas les sélectionner, alors qu'on a l'impression qu'on peut.
Possible de faire quelque chose ?

@hmeneuvrier hmeneuvrier force-pushed the bugfix/2991-fo---formulaire---accessibilite-tabulation branch from cc2f215 to 4d4e8e7 Compare September 27, 2024 08:10
Copy link
Collaborator

@emilschn emilschn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK pour moi, reste du rebase ! :)

@hmeneuvrier hmeneuvrier force-pushed the bugfix/2991-fo---formulaire---accessibilite-tabulation branch from 53ce80d to 0a1dddd Compare September 30, 2024 07:31
Copy link

sonarcloud bot commented Sep 30, 2024

@emilschn emilschn merged commit b667aa1 into develop Sep 30, 2024
3 of 4 checks passed
@sfinx13 sfinx13 modified the milestone: v2.7.0 Oct 1, 2024
@sfinx13 sfinx13 deleted the bugfix/2991-fo---formulaire---accessibilite-tabulation branch October 9, 2024 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants