« 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>
22 lines
666 B
C#
22 lines
666 B
C#
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));
|
|
}
|
|
}
|