A11ying with Sanna - Toki, jos voisin opas saavutettavuuteen

Aria-live -alueet

Attribuutin aria-live kanssa kommunikoidaan avustavaa teknologiata käyttäville ns. livenä. Tätä voidaan käyttää dynaamisiin päivityksiin, jotka halutaan lukea käyttäjälle heti riippumatta siitä missä kohdin sivulla he ovat. Käyttäjän toimesta aiheutuvat statusviestit ovat esimerkki tilanteista, joissa tätä attribuuttia on hyvä käyttää.

Sallitut aria-liven arvot

Aria-livellä on kolme sallittua arvoa: polite, assertive ja off.

Käytä assertive-arvoa vain ja ainoastaan silloin, mikäli informaatio on äärimmäisen tärkeää, koska tämä arvo keskeyttää sen mitä käyttäjä on sillä hetkellä tekemässä. Yleensä polite-arvo on parempi lähestymistapa, koska se odottaa, että käyttäjä saa valmiiksi sen mikä heillä on kesken, ja vasta sen jälkeen kertoo heille päivittyneet tiedot.

Arvo "off" ei tarkoita, että muutoksista ei pitäisi ilmoittaa. Elementin sisällön muutoksista on tarkoitus ilmoittaa vain silloin, kun kohdistus (focus) on elementissä tai sen sisällä.

Esimerkki aria-liven käytöstä

<div class="info" aria-live="polite">Tämä tieto luetaan avustavaa teknologiaa käyttäville.</div>

Aria-live -alueiden tyypit

Hälytysrooli

ARIA-hälytys on alue, jolla on arvona assertive . Tämän alueen kanssa voi käyttäjille välittää tärkeää tietoa. Tämä on muutoin vastaava kuin pelkkä aria-live="assertive", mutta hälytysroolista jotkin ruudunlukijat kertovat käyttäjälle sen roolin. Hälytysroolia käytetään määrittämällä aria-live-alueelle role="alert".

Tilarooli

Kun alueella on rooli role="status", luetaan tilapäivitykset ruudunlukijakäyttäjille. Tilapäivitykset ovat ilmoituksia, jotka eivät ole yhtä kiireellisiä kuin hälytykset. Tilapäivityksillä on oletuksena ja aria-live="polite" ja aria-atomic=true. Jotkin ruudunlukijat ilmoittavat tilaroolin käyttäjille.

Ajastinrooli

Kun elementille asetetaan ajastinrooli (role="timer") määrittää se koko alueen aikalaskuriksi, joka voi laskea ylös- tai alaspäin. Tämä rooli ei välttämättä ole yhtä hyödyllinen kuin muut, sillä oletusarvo on aria-live="off", joka tarkoittaa, että ruudunlukijat eivät ilmoita muutoksia tähän alueeseen lainkaan. Ruudunlukijakäyttäjät voivat erikseen siirtyä tähän elementtiin ja kuunnella sen sisällön.

Joissain tapauksissa saatat haluta kertoa käyttäjille ajan laskemisesta. Mutta muista, että päivitysten kuuleminen sekunnin välein on epämiellyttävää. Eli varmista, että laskemisesta kerrotaan käyttäjille sopivammalla syklillä.

Marquee-rooli

Jos alueelle asettaa roolin role="marquee", määrittää se alueen vieriväksi alueeksi. Vierivää sisältöä on monesti käytetty esimerkiksi logokaruselleissa tai uutisotsikoiden näyttämisessä. Tällaiset ilmoitukset ovat epäolennaisia ja oletusarvo tälle on aria-live="off". Tämä tarkoittaa, että ruudunlukijat eivät ilmoita muutoksissa näissä elementeissä lainkaan. Ruudunlukijakäyttäjä pääsee kyllä lukemaan tällaisen elementin sisällön navigoimalla tähän elementtiin ja kuuntelemalla sen sisällön.

Itse suosittelen marquee-elementin välttämistä, ne ovat monesti näkeville käyttäjille häiritseviä.

Aria-atomic

Aria-atomic kertoo avustavalle teknologialle mikäli koko alue halutaan lukea käyttäjälle vai ainoastaan muutos. Oletuksena aria-atomic on epätosi: aria-atomic="false". Tämä tarkoittaa, että kun alueella on muutos, tämä muutos voidaan esittää käyttäjälle sellaisenaan. Esimerkki tällaisesta käyttötarkoituksesta voisi olla uuden uutisen otsikon nostaminen uutislistaukseen.

Kun aria-atomic on tosi: aria-atomic="true", koko live-alue luetaan käyttäjälle, jotta käyttäjä saa riittävästi kontekstia muutokseen. Tämä tarkoittaa, että jokaisen muutoksen kohdalla koko alue luetaan uudelleen käyttäjälle. Tästä syystä aria-atomicia kannattaa käyttää harkiten.