Statusberichten
Silktide vraagt je te controleren of statusberichten - toasts, snackbars, meldingsbanners en feedback over geslaagde en mislukte acties - zo zijn ingesteld dat ze aankondigen wanneer ze verschijnen.
Dit is een : automatisering kan niet betrouwbaar vaststellen welke elementen statusoppervlakken zijn (klassennamen, talen en verkleinde markup variëren eindeloos), dus Silktide toont op elke pagina de prompt en een persoon bevestigt deze.
<!-- Stil: schermlezers kondigen dit niet aan wanneer het verschijnt -->
<div class="toast">Item added to cart</div>
<!-- Aangekondigd: role="status" maakt dit een livegebied -->
<div class="toast" role="status">Item added to cart</div>
Waarom dit belangrijk is
Statusberichten melden het resultaat van wat een gebruiker zojuist heeft gedaan: "Formulier opgeslagen", "Item toegevoegd aan winkelwagen", "3 resultaten gevonden", "Er is iets misgegaan". Zienden merken dat ze verschijnen; een schermlezer leest wat op dat moment de focus heeft, en een bericht dat elders op de pagina verschijnt, zegt niets. De gebruiker verzendt een formulier en hoort stilte - die kan niet weten of het is gelukt, mislukt of nog steeds wordt geladen.
Door het bericht als te markeren, geef je opdracht het aan te kondigen zodra het verschijnt, zonder de focus van de gebruiker te verplaatsen.
Wat je moet controleren
- Zoek elk statusoppervlak op de pagina (toasts, snackbars, flashberichten, inlinebanners voor geslaagde of mislukte acties en updates van aantallen resultaten).
- Bevestig dat elk oppervlak - of een permanente container waarin het
schrijft -
role="status",role="alert",role="log"ofaria-live="polite"/aria-live="assertive"bevat. - Geef de voorkeur aan een livegebiedcontainer die al bestaat wanneer de pagina wordt geladen; voeg tijdens runtime alleen de berichttekst toe. Livegebieden die tegelijk met hun bericht worden aangemaakt, worden vaak niet aangekondigd.
Als de pagina geen statusberichten bevat, of als elk bericht correct wordt aangekondigd, de bevinding goed.
Hoe je dit oplost
- Voeg een livegebiedrol toe aan de berichtcontainer:
role="status"voor routine-updates zoals bevestigingen en aantallen resultaten.role="alert"voor belangrijke, tijdgevoelige berichten zoals fouten.
- Of gebruik het -attribuut rechtstreeks:
aria-live="polite"(wacht op een pauze in de spraak) ofaria-live="assertive"(onderbreekt onmiddellijk).
Hoe Silktide dit test
Silktide kan statusoppervlakken niet betrouwbaar automatisch detecteren - raden op basis van klassennamen wekt een vals gevoel van zekerheid en mist gegenereerde of niet-Nederlandstalige markup - dus deze controle toont één beoordelingsprompt per pagina met een beschrijving van wat je moet controleren.