fix(am): ordre Tab formulaire pro et chevrons accessibles

- Ordre de focus explicite (NumericFocusOrder) pour l’inscription AM étape 2 : chaîne des champs jusqu’aux chevrons, Pays → NIR, places → Suivant (10) puis Précédent (11).

- FocusTraversalGroup avec OrderedTraversalPolicy sur le Scaffold pour respecter cet ordre (desktop / web).

- Champ pays : TextInputAction.next, onFieldSubmitted et onEditingComplete vers le NIR ; CustomAppTextField expose onEditingComplete.

- NirTextField : focusNode et focusTraversalOrder optionnels.

Made-with: Cursor
This commit is contained in:
2026-04-13 14:09:21 +02:00
parent d550e57cb8
commit a9ce4a6756
3 changed files with 160 additions and 72 deletions
@@ -33,6 +33,8 @@ class CustomAppTextField extends StatefulWidget {
final Iterable<String>? autofillHints;
final TextInputAction? textInputAction;
final ValueChanged<String>? onFieldSubmitted;
/// Souvent appelé par la touche « suivant » du clavier (flèche), là où [onFieldSubmitted] ne lest pas.
final VoidCallback? onEditingComplete;
final List<TextInputFormatter>? inputFormatters;
final bool autocorrect;
final bool enableSuggestions;
@@ -62,6 +64,7 @@ class CustomAppTextField extends StatefulWidget {
this.autofillHints,
this.textInputAction,
this.onFieldSubmitted,
this.onEditingComplete,
this.inputFormatters,
this.autocorrect = true,
this.enableSuggestions = true,
@@ -144,6 +147,7 @@ class _CustomAppTextFieldState extends State<CustomAppTextField> {
autofillHints: widget.autofillHints,
textInputAction: widget.textInputAction,
onFieldSubmitted: widget.onFieldSubmitted,
onEditingComplete: widget.onEditingComplete,
enabled: widget.enabled,
readOnly: widget.readOnly,
onTap: widget.onTap,