Siirry pääsisältöön
Niquelao Web-saavutettavuus ja front-end-kehitys: WCAG-standardit, saavutettavat widgetit ja Firefox-laajennukset selitettynä käytännön koodiesimerkeillä.

Osa tämän sivuston linkeistä on kumppanuuslinkkejä: ostamalla niiden kautta voimme ansaita komission ilman lisäkustannuksia sinulle. Tämä ei vaikuta suosituksiimme. Lue lisää kumppanuusilmoituksestamme. Kumppanuusilmoitus.

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.

LuokkaTarkoitusEsimerkkiroolitTarvitaanko JavaScript?
WidgetInteraktiiviset säätimet”painike”, “valintaruutu”, “välilehti”, “liukusäädin”, “yhdistelmälaatikko”Kyllä — näppäimistö + tila
Asiakirjan rakenneSisällön järjestäminen”otsikko”, “luettelo”, “luettelonimike”, “taulukko”, “artikkeli”Ei
MaamerkkiSivualueet navigointia varten”banneri”, “pää”, “navigointi”, “täydentävä”Ei
Live-alueIlmoita dynaamisista päivityksistä”hälytys”, “tila”, “loki”, “ajastin”Yleensä — käynnistää päivityksiä
IkkunaAli-ikkunat ja valintaikkunat”dialog”, “alertdialog”Kyllä — painopisteen hallinta
AbstraktiHuippuluokan 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 '

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