ARIA roolit kuvaavat komponentin tarkoituksen. Roolit eivät saa selaimia tarjoamaan näppäimistötoimintoja tai tyylejä. Roolit lisätään attribuutilla role="*TYPE*"
. Rooli ei muutu sen jälkeen, kun se on asetettu.
ARIA rooleja on kuutta kategoriaa:
Maamerkkirooleja on seuraavia:
<header>
.<aside>
.<footer>
.<main>
.<nav>
.<section>
, kunhan sille on annettu saavutettava nimi.Kuten olet saattanut huomata, useimmalla maamerkkiroolilla on vastaava HTML-elementti. Aina, kun on mahdollista, pyri käyttämään HTML-elementtejä. Olen nähnyt myös tilanteita, joissa on käytetty sekä HTML-elementtiä, että vastaavaa maamerkkiroolia, esimerkiksi <header role="banner">
. Tämä on teknisesti sallittua, mutta tarpeetonta, ellei haluta tukea erityisen vanhoja selaimia tai vanhaa avustavaa teknologiaa.
Jokaisella elementillä, jolla on region-rooli, tulisi olla myös nimitieto, joka kuvaa tämän maamerkin tarkoitusta. Toivotuin merkintätapa on attribuutti aria-labelledby
, joka viittaa näkyvään otsikkoon. Mikäli sopivaa näkyvää otsikkoa ei ole, käytä mieluummin attribuuttia aria-label
.
Tiedostorakenteen rooleja käytetään tarjoamaan rakenteellinen kuvaus sisällön osasta. Useimmat näistä rooleista ovat tuettuja semanttisten HTML-elementtien avulla, joilla on sama merkitys. Eli näitä ei pitäisi enää käyttää. Seuraaville rooleille ei tällä hetkellä ole vastaavaa natiivia HTML-elementtiä:
Vimpain-rooleja käytetään määrittämään yleisiä interaktiivisia kuvioita. Vastaavasti kuin tiedostorakenteen roolit, joillakin näistä rooleista on vastaava semanttinen HTML-elementti. Näiden kahden roolin erona on, että pääasiassa vimpain-roolit vaativat JavaScript-toiminnallisuutta, kun taas tiedostorakenteen roolit eivät välttämättä vaadi.
Ikkunarooleilla määritetään ali-ikkunoita pääikkunaan saman ikkunan sisällä, kuten pop-upeja ja modaaleja:
Live-alueen rooleilla määritetään elementtejä, joiden sisältöä tullaan dynaamisesti päivittämään. Näkevät käyttäjät voivat nähdä dynaamiset muutokset, koska ne ovat yleensä visuaalisesti havaittavia. Nämä roolit auttavat avustavaa teknologiaa käyttäviä käyttäjiä tietämään, että jokin sisältö on päivittynyt. Avustavat teknologiat voidaan asettaa ilmoittamaan dynaamisista muutoksista:
Abstrakteja rooleja eivät sivustojen kehittäjät käytä tuottaessaan HTML:ää. Selaimet käyttävät näitä rooleja järjestämään sisältöä. Mikäli abstrakteja rooleja yrittää käyttää, avustaville teknologioille ei välity mitään hyödyllistä tietoa.
ARIA roolit lisätään role-attribuutilla:
<div role="menuitem">Tekstiä</div>
ARIA Wunderin Saavutettavuuden osiossa Wunderpediassa