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:
mathieu
2026-08-22 01:39:28 +02:00
co-authored by Claude Opus 5
parent e85867014c
commit c168959e12
8 changed files with 63 additions and 13 deletions
+21
View File
@@ -0,0 +1,21 @@
using MaBibli.Client.Services;
namespace MaBibli.Tests;
/// <summary>
/// L'état ARIA s'écrit en toutes lettres (2026-08-22).
/// </summary>
/// <remarks>
/// ⚠️ Ce que ce test verrouille n'est pas la fonction — elle tient en une ligne — mais le
/// <b>contrat</b> : « false » est une valeur, et non l'absence d'attribut. C'est exactement ce
/// que Blazor faisait à sa place, et ce qui rendait un bouton replié muet aux lecteurs d'écran.
/// </remarks>
public class AriaTests
{
[Fact]
public void L_etat_est_toujours_une_chaine()
{
Assert.Equal("true", Aria.Etat(true));
Assert.Equal("false", Aria.Etat(false));
}
}