useAriaLive
React Hook ilmoitusten toteuttamiseen ruudunlukijalle.
React Hook ilmoitusten toteuttamiseen ruudunlukijalle.
Käytä useAriaLive
-hookia, kun haluat toteuttaa ruudunlukijalle luettavan ilmoituksen, jota ei välttämättä näytetä muuten ruudulla.
Toteutus perustuu aria-live(Avautuu uuteen välilehteen)-attribuuttiin.
Ilmoitus voi olla esimerkiksi hakutulosten lukumäärä, tietojen järjestyksen vaihtumisesta ilmoittaminen tai muu vastaava tieto, joka helpottaa ruudunlukijan käyttäjää ymmärtämään mitä palvelussa tapahtuu.
Ilmoitus poistetaan hetken kuluttua sen asettamisesta, jolloin siihen ei pääse navigoimaan näppäimistöllä.
Oletuksena asetetaan alla olevat attribuutit ja ilmoitus poistetaan puolen minuutin kuluttua.
<div aria-live="polite" class="kds-sr-only"></div>
Toimintaa voi muokata välittämällä hookille seuraavat parametrit:
const { ariaLiveProps, announce } = useAriaLive(ref, {ariaAtomic: true,ariaLive: "assertive",cleanupTimeout: 750,shouldCleanup: true,suppressError: true,});
Esimerkki ei tee mitään näkyvää, vaan ainoastaan lisää ilmoituksen ruudunlukijan luettavaksi.
React-komponenttien ulkopuolella voi käyttää announceAriaLive
-funktiota.
announceAriaLive(document.querySelector("[aria-live]"), "Tämä on ruudunlukijalle luettava ilmoitus");