Une recherche BnF coûte environ une seconde par page, et jusqu'à dix pages pour les nouveautés : sans rien à l'écran, l'application se lit comme plantée. Le lot H l'avait montré — un écran qui ne dit rien pousse à recliquer, donc à relancer l'appel. Un indicateur ne remplace aucun message d'échec : une source muette garde ses `EtatSourceBibliographie` et ses motifs. Ici on dit « ça travaille », jamais « ça a marché ». L'animation se neutralise sous `prefers-reduced-motion`, la rondelle restant visible : c'est elle qui porte l'information, pas sa rotation. Le champ « nom d'une nouvelle série » et son bouton tiennent maintenant sur une ligne. `min-width: 0` est ce qui la fait tenir à 320 px : sans lui, un élément de formulaire refuse de rétrécir sous sa largeur intrinsèque et pousse le bouton hors de l'écran. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
26 lines
1.1 KiB
Plaintext
26 lines
1.1 KiB
Plaintext
@*
|
|
Indicateur d'attente pour les appels lents (lot L1).
|
|
|
|
⚠️ Le besoin n'est pas décoratif. Une recherche BnF coûte environ une seconde par page, et
|
|
jusqu'à dix pages pour les nouveautés : sans rien à l'écran, l'application se lit comme
|
|
plantée, et l'utilisateur reclique — donc relance l'appel. C'est exactement ce que le lot H
|
|
avait constaté sur la bibliographie.
|
|
|
|
⚠️ Un indicateur NE REMPLACE PAS un message d'échec. Une source muette garde ses états
|
|
EtatSourceBibliographie et son motif : ici on dit « ça travaille », jamais « ça a marché ».
|
|
|
|
role="status" et non role="alert" : l'attente s'annonce sans interrompre le lecteur d'écran.
|
|
L'animation est neutralisée sous prefers-reduced-motion (voir app.css).
|
|
*@
|
|
<p class="attente @Classe" role="status">
|
|
<span class="attente-rondelle" aria-hidden="true"></span>
|
|
<span>@Message</span>
|
|
</p>
|
|
|
|
@code {
|
|
/// <summary>Ce qu'on attend, dit à l'utilisateur. Jamais un libellé générique si l'on sait mieux.</summary>
|
|
[Parameter, EditorRequired] public string Message { get; set; } = default!;
|
|
|
|
[Parameter] public string? Classe { get; set; }
|
|
}
|