tablist
Merkitsee säilön välilehtien nauhaksi välilehtirajapinnassa. Pitää sisällään role="tab"-lapset. Välilehdet ja tabpanel-elementit ovat pelkästään ARIA-kuvio — natiivista HTML:stä ei löydy tablist-elementtiä.
Milloin käyttää
role="tab"-elementtien rivin (tai sarakkeen) ympärille välilehtirajapinnassa. Tablist-elementillä TÄYTYY olla saavutettava nimi aria-label- tai aria-labelledby-attribuutin kautta — ilman sitä ruudunlukuohjelman käyttäjä kuulee “välilehtilista” eikä pysty erottamaan, mikä sivun tablist-elementeistä on kyseessä.
Pystysuuntaiset välilehtinauhat tarvitsevat aria-orientation="vertical"-attribuutin. Oletusarvo on vaakasuuntainen, joten attribuutti voidaan jättää pois vaakasuuntaisista välilehdistä.
Jos “välilehdet” ovat tosiasiassa navigointia muihin URL-osoitteisiin, käytä <nav>-elementtiä <a>-linkkeineen — URL-muutos napsautuksella ei vastaa tablist-semantiikkaa.
Näppäimistö- ja kohdistussopimus
APG:n välilehtikuvion mukaan:
- Tab siirtää kohdistuksen tablist-elementtiin ja valitulle välilehdelle; toinen Tab siirtää kohdistuksen ULOS (tyypillisesti aktiiviseen tabpanel-elementtiin).
- Vasen/Oikea-nuoli siirtää kohdistuksen välilehtien välillä (Ylös/Alas pystysuuntaisissa tablist-elementeissä). Kierto on valinnainen mutta tavanomainen.
- Home / End siirtää ensimmäiseen / viimeiseen välilehteen.
- Aktivointi: automaattisessa tilassa nuolinäppäimet sekä siirtävät kohdistuksen ETTÄ valitsevat. Manuaalisessa tilassa (suositeltava, kun aktivointi on raskas toiminto), Välilyönti tai Enter valitsee kohdistetun välilehden.
Tablist-elementti itse ei käsittele kohdistusta — kohdistus siirtyy välilehteen, ei tablist-säilöön.
Yleiset virheet
- Tablist ilman saavutettavaa nimeä. Useita tablist-elementtejä samalla sivulla ei voi erottaa toisistaan.
- Kaikilla välilehdillä
tabindex="0". Kuvio on yhden pysähdyksen kuvio; vain valitulla välilehdellä ontabindex="0". - Puuttuva
aria-orientation="vertical"-attribuutti pystysuuntaisessa tablist-elementissä — ruudunlukuohjelma neuvoo käyttäjiä käyttämään Vasen/Oikea-nuolia, kun visuaalinen asettelu edellyttää Ylös/Alas-nuolia. role="tablist"ympäröi linkkejä (<a href="#section">) painikkeiden sijaan. Ankkuri vierittää sivua ja rikkoo takaisin-painikkeen.- Tabpanel-elementti piilotettu sekä
display: none-attribuutilla ETTÄhidden-attribuutilla, kun yksi riittäisi.
Esimerkki
<div role="tablist" aria-label="Projektin osiot" aria-orientation="horizontal">
<button role="tab" id="t-overview" aria-selected="true" aria-controls="p-overview" tabindex="0">Yleiskatsaus</button>
<button role="tab" id="t-files" aria-selected="false" aria-controls="p-files" tabindex="-1">Tiedostot</button>
<button role="tab" id="t-team" aria-selected="false" aria-controls="p-team" tabindex="-1">Tiimi</button>
</div>