Fait dire aux boutons repliables s'ils sont ouverts ou fermés
« aria-expanded="@_ouvert" » ne rend pas « true » ou « false » : Blazor y voit un attribut de présence, comme disabled. Vrai donnait aria-expanded="", faux retirait l'attribut — dans les deux cas, un lecteur d'écran n'apprenait rien, et un bouton replié ne s'annonçait plus comme repliable. Le défaut valait pour les six boutons de l'application. Une fonction nommée remplace le booléen nu, qui se relisait comme correct. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -3353,16 +3353,24 @@ un cran trop haut qu'un catalogue qui ne s'affiche plus. Un test le verrouille.
|
||||
reste un vrai lien vers `/series/{id}`.
|
||||
|
||||
⚠️ **`aria-expanded="@Deplie"` ne fait pas ce qu'on croit** : Blazor traite un booléen comme un
|
||||
attribut de *présence* et rend `aria-expanded=""`, que les lecteurs d'écran ne savent pas lire.
|
||||
L'état doit être écrit en toutes lettres (`@(Deplie ? "true" : "false")`). Constaté ici, mesuré
|
||||
dans le navigateur — **le même défaut subsiste ailleurs** (`ArbreSerie`, le bouton « Filtrer » du
|
||||
catalogue), non corrigé faute d'être dans la demande.
|
||||
attribut de *présence*, à la manière de `disabled` — vrai rend `aria-expanded=""`, faux **retire
|
||||
l'attribut**. Or ARIA attend les chaînes « true » et « false », et un lecteur d'écran ne sait lire
|
||||
aucune des deux formes produites : replié, le bouton ne s'annonce plus comme repliable du tout.
|
||||
|
||||
Le défaut était passé inaperçu **six fois** — il ne se voit pas à l'écran, et aucun test ne rend
|
||||
de balisage. `Services/Aria.cs` porte donc la mise en garde et la conversion
|
||||
(`aria-expanded="@Aria.Etat(_ouvert)"`), appliquée partout : bascule du menu, bouton « Filtrer »
|
||||
du catalogue et de la bibliographie, dépli d'une œuvre bibliographique, arbre des séries, blocs
|
||||
du catalogue. ⚠️ **Une fonction plutôt qu'un ternaire recopié** : un booléen nu se lit comme
|
||||
correct à la relecture, un appel nommé se remarque quand il manque.
|
||||
|
||||
Vérifié en exécution sur les six : « false » à l'état replié, « true » une fois ouvert.
|
||||
|
||||
**Vérifié en exécution** (375 px puis 320 px) : le cycle *La Légende de Drizzt* coiffe ses deux
|
||||
sous-séries, chaque niveau se replie et se déplie indépendamment, l'état d'un sous-niveau survit
|
||||
au repli de son cycle, le compteur reste « 6 livres » dans tous les cas, le repli survit à une
|
||||
recherche (« salvatore ») et à son effacement, le nom mène toujours à `/series/6`, aucun
|
||||
débordement horizontal (`scrollWidth` = 320) et aucune erreur de console. 627 tests au vert.
|
||||
débordement horizontal (`scrollWidth` = 320) et aucune erreur de console. 628 tests au vert.
|
||||
|
||||
**Vérifié en exécution** (320 px puis 1280 px, base de développement garnie de trois tomes et
|
||||
d'un livre hors série) : blocs « L'Elfe noir » (2 tomes, dans l'ordre de **lecture** — l'inverse
|
||||
|
||||
Reference in New Issue
Block a user