Esimerkkejä ARIA-rooleista: Täydellinen opas
ARIA-rooliesimerkit osoittavat, kuinka roolimääritteet yhdistävät käyttöliittymäelementit esteettömyyspuuhun, ja WAI-ARIA 1.2 -määritykset määrittelevät kuusi rooliluokkaa – widget, asiakirjan rakenne, maamerkki, elävä alue, ikkuna ja abstrakti – jotka kattavat yli 80 konkreettista roolia. Tämä opas sisältää kopiointivalmiita käytännön esimerkkejä jokaisesta kategoriasta sekä säännöt, jotka määrittävät milloin rooli auttaa ja milloin se vahingoittaa aktiivisesti.
Keskeiset kohdat
- ARIA-roolit kertovat aputeknologialle, mikä kohde on; ne eivät koskaan lisää käyttäytymistä, keskittymistä tai näppäimistötukea yksinään.
- Ensimmäinen sääntö ARIA:n käytössä on suosia alkuperäisiä HTML-elementtejä, jotka sisältävät jo implisiittisiä rooleja, tiloja ja näppäimistön hallintaa.
- Kuusi WAI-ARIA 1.2 -rooliluokkaa ovat widget, asiakirjan rakenne, maamerkki, live-alue, ikkuna ja abstrakti – abstrakteja rooleja ei saa koskaan esiintyä merkinnöissäsi.
- Maamerkkiroolit ovat kustannustehokkaimpia ja pienimmän riskin ARIA:ita, joita voit lisätä olemassa olevaan XHTML/CSS-sivustoon.
- Widget-roolit vaativat melkein aina JavaScript-kartoituksen näppäimistön vuorovaikutusta ja tilankäsittelyä varten, tai ne luovat huonomman kokemuksen kuin tavallinen HTML.
- Vahvista jokainen rooli näytönlukuohjelmalla ja automaattisella tarkistuksella; kelvollinen rooli määrittelyssä voi silti olla väärä sisällöllesi.
Mitä ARIA-roolit todella tekevät
ARIA-roolit ovat tunnuksia, jotka sijoitat “role”-attribuutissa korvaamaan tai tarjoamaan esteettömyyspuun elementin semanttisen identiteetin. <div role="button"> käskee näytönlukijaa ilmoittamaan “painikkeen”, mutta selain käsittelee sitä silti yleisenä säilönä: se ei ole tarkennettavissa, se ei vastaa Enter- tai Space-näppäimeen, eikä se ole poistettu käytöstä. Tämä kuilu mainostetun semantiikan ja todellisen käyttäytymisen välillä on yleisin ARIA-virheen lähde. Nämä ovat yleisiä aria-rooliesimerkkejä siitä, kuinka semantiikka voi poiketa käyttäytymisestä.
WAI-ARIA-spesifikaatio, jota ylläpitää W3C:n Accessible Rich Internet Applications Working Group, määrittelee roolit sekä tilat ja ominaisuudet. Roolit ovat “mikä se on” -kerros; tilat ja ominaisuudet, kuten “aria-expanded”, “aria-checked” ja “aria-label” ovat “missä kunnossa se on” -taso. Rooli ilman vaadittuja tiloja on epätäydellinen – role="checkbox" edellyttää aria-checked, ja role="combobox" vaatii aria-expanded` sekä valvotun luetteloruudun.
Alkuperäisillä HTML-elementeillä on implisiittiset roolit. <button> vastaa painikkeen roolia, <nav> navigointia, <h1> -
otsikkoa javalintaruutua. Koska selain tarjoaa automaattisesti roolin, näppäimistön toiminnan ja tilan, ensimmäinen ARIA:n käytön sääntö, joka on dokumentoitu W3C:n ARIA Authoring Practices Guide -oppaassa, on käyttää alkuperäistä semantiikkaa aina, kun vastaava elementti on olemassa. Etsi eksplisiittisiä rooleja vain silloin, kun mikään natiivielementti ei sovellu, kuten mukautettu puunäkymä tai välilehtipaneeli, joka on rakennettu`-elementeistä.
Kuusi WAI-ARIA-rooliluokkaa
WAI-ARIA 1.2 järjestää roolit kuuteen luokkaan, ja kun tiedät, mihin luokkaan rooli kuuluu, näet kuinka paljon JavaScriptiä olet sille velkaa. Tässä on joitain yleisiä esimerkkejä aria-rooleista:
Aiheeseen liittyvä: — Superposición de IA que promete cumplimiento WCAG en 48 horas.
Luokka Tarkoitus Esimerkkiroolit Tarvitaanko JavaScript? Widget Interaktiiviset säätimet ”painike”, “valintaruutu”, “välilehti”, “liukusäädin”, “yhdistelmälaatikko” Kyllä — näppäimistö + tila Asiakirjan rakenne Sisällön järjestäminen ”otsikko”, “luettelo”, “luettelonimike”, “taulukko”, “artikkeli” Ei Maamerkki Sivualueet navigointia varten ”banneri”, “pää”, “navigointi”, “täydentävä” Ei Live-alue Ilmoita dynaamisista päivityksistä ”hälytys”, “tila”, “loki”, “ajastin” Yleensä — käynnistää päivityksiä Ikkuna Ali-ikkunat ja valintaikkunat ”dialog”, “alertdialog” Kyllä — painopisteen hallinta Abstrakti Huippuluokan roolit, ei koskaan määriteltäviä ”widget”, “syöttö”, “osio”, “maamerkki” N/A – älä käytä
Abstraktit roolit ovat olemassa vain taksonomian järjestämiseksi. role="input" tai role="section" kirjoittaminen HTML-koodiin on vahvistusvirhe ja tuottaa arvaamattomia ilmoituksia, koska näillä rooleilla ei ole määriteltyä toimintaa aputekniikalle.
Esimerkkejä maamerkkirooleista
Maamerkkiroolit ovat turvallisimpia ja vaikuttavimpia esimerkkejä ARIA-rooleista, jotka voit lisätä vanhemmalle XHTML/CSS-sivustolle, koska ne eivät vaadi JavaScriptiä ja ne kartoitetaan suoraan jo olemassa oleviin alueisiin. Tyypillinen sivurunko:
<header role="banner">
<nav role="navigation" aria-label="Principal">
<ul>...</ul>
</nav>
</header>
<main role="main">
<article>...</article>
<aside role="complementary" aria-label="Artículos relacionados">...</aside>
</main>
<footer role="contentinfo">...</footer>
Jokainen merkkirooli vastaa natiivielementtiä – bannerista '
Katsomisen arvoinen: — Accesibilidad gestionada: automatización combinada con revisión humana.
' ylätasolla, ‘main’ on '', ‘navigation’ on '
Kuusi WAI-ARIA-rooliluokkaa
WAI-ARIA 1.2 järjestää roolit kuuteen luokkaan, ja kun tiedät, mihin luokkaan rooli kuuluu, näet kuinka paljon JavaScriptiä olet sille velkaa. Tässä on joitain yleisiä esimerkkejä aria-rooleista:
Aiheeseen liittyvä: — Superposición de IA que promete cumplimiento WCAG en 48 horas.
| Luokka | Tarkoitus | Esimerkkiroolit | Tarvitaanko JavaScript? |
|---|---|---|---|
| Widget | Interaktiiviset säätimet | ”painike”, “valintaruutu”, “välilehti”, “liukusäädin”, “yhdistelmälaatikko” | Kyllä — näppäimistö + tila |
| Asiakirjan rakenne | Sisällön järjestäminen | ”otsikko”, “luettelo”, “luettelonimike”, “taulukko”, “artikkeli” | Ei |
| Maamerkki | Sivualueet navigointia varten | ”banneri”, “pää”, “navigointi”, “täydentävä” | Ei |
| Live-alue | Ilmoita dynaamisista päivityksistä | ”hälytys”, “tila”, “loki”, “ajastin” | Yleensä — käynnistää päivityksiä |
| Ikkuna | Ali-ikkunat ja valintaikkunat | ”dialog”, “alertdialog” | Kyllä — painopisteen hallinta |
| Abstrakti | Huippuluokan roolit, ei koskaan määriteltäviä | ”widget”, “syöttö”, “osio”, “maamerkki” | N/A – älä käytä |
Abstraktit roolit ovat olemassa vain taksonomian järjestämiseksi. role="input" tai role="section" kirjoittaminen HTML-koodiin on vahvistusvirhe ja tuottaa arvaamattomia ilmoituksia, koska näillä rooleilla ei ole määriteltyä toimintaa aputekniikalle.
Esimerkkejä maamerkkirooleista
Maamerkkiroolit ovat turvallisimpia ja vaikuttavimpia esimerkkejä ARIA-rooleista, jotka voit lisätä vanhemmalle XHTML/CSS-sivustolle, koska ne eivät vaadi JavaScriptiä ja ne kartoitetaan suoraan jo olemassa oleviin alueisiin. Tyypillinen sivurunko:
<header role="banner">
<nav role="navigation" aria-label="Principal">
<ul>...</ul>
</nav>
</header>
<main role="main">
<article>...</article>
<aside role="complementary" aria-label="Artículos relacionados">...</aside>
</main>
<footer role="contentinfo">...</footer>
Jokainen merkkirooli vastaa natiivielementtiä – bannerista '
Katsomisen arvoinen: — Accesibilidad gestionada: automatización combinada con revisión humana.
Usein kysytyt kysymykset
Mitä ARIA-roolit ovat ja miten ne toimivat?
ARIA-roolit ovat rooliattribuutin arvoja, jotka määrittävät esteettömyyspuun elementin identiteetin, jotta näytönlukuohjelmat ilmoittavat sen oikein. Ne muuttavat vain semantiikkaa, eivät ulkonäköä, tarkennusta tai näppäimistön käyttäytymistä. WAI-ARIA 1.2 -spesifikaatio määrittelee kuusi rooliluokkaa ja yli 80 konkreettista roolia, joista jokaisella on vaaditut tilat ja ominaisuudet.
Milloin minun pitäisi käyttää ARIA-rooleja alkuperäisen HTML:n sijaan?
Käytä ARIA-rooleja vain, kun mikään natiivi HTML-elementti ei tarjoa tarvitsemaasi semantiikkaa. Natiivielementeillä, kuten <button>, <nav> ja <input type='checkbox'>, on implisiittiset roolit sekä sisäänrakennettu näppäimistötuki ja tilanhallinta. Ensimmäinen ARIA-käytön sääntö on suosia alkuperäistä semantiikkaa ja lisätä eksplisiittisiä rooleja vain mukautetuille widgeteille tai vanhoille merkinnöille, joita et voi muokata uudelleen.
Mitä eroa on ARIA-rooleilla ja ARIA-määritteillä?
ARIA-roolit vastaavat "mikä tämä kohde on", kun taas ARIA-attribuutit, kuten aria-expanded, aria-checked ja aria-label, vastaavat "missä tilassa se on" tai "millä nimellä sitä kutsutaan". Roolit ja niiden vaaditut attribuutit toimivat yhdessä: aria-rooliesimerkkeinä role='checkbox' on epätäydellinen ilman aria-valintaa, ja role='combobox' tarvitsee aria-laajennuksen sekä kontrolloidun luetteloruudun.
Voinko käyttää ARIA-rooleja missä tahansa HTML-elementissä?
ARIA-rooleja voidaan käyttää useimpiin elementteihin, mutta jotkin yhdistelmät ovat virheellisiä tai haitallisia. Abstrakteja rooleja, kuten widgetiä ja syötettä, ei saa koskaan kirjoittaa. Linkin roolin muuttaminen rooliksi role='button' rikkoo linkin odotetun toiminnan, ja role='presentation' fokusoitavasta elementistä poistaa sen semantiikan ja jättää sen sarkainjärjestykseen.
Toimivatko ARIA-roolit ilman JavaScriptiä?
Asiakirjan rakenne ja maamerkkiroolit toimivat ilman JavaScriptiä, koska ne muokkaavat vain semantiikkaa. Widgetin roolit, kuten välilehti, liukusäädin ja yhdistelmälaatikko, vaativat JavaScriptin näppäimistön vuorovaikutuksen toteuttamiseen ja tilojen päivittämiseen – ilman sitä elementti ilmoittaa olevansa ohjausobjekti, mutta ei toimi kuten se, mikä on pahempaa kuin tavallinen HTML.
Kuinka tarkistan, ovatko ARIA-roolini oikein?
Yhdistä automaattinen ja manuaalinen testaus. Suorita axe DevTools, WAVE tai Lighthouse havaitaksesi virheelliset roolit ja puuttuvat pakolliset attribuutit, ja testaa sitten NVDA:lla, JAWS:lla ja VoiceOverilla vahvistaaksesi ilmoitukset ja näppäimistön toiminnan. Chromen ja Firefox DevToolsin esteettömyyspaneeli näyttää lasketun roolin ja paljastaa roolit, jotka selain ohittaa tai ohittaa.
Añade accesibilidad en 5 minuuttia
Widget de accesibilidad con plan gratuito para empezar hoy mismo