Mitä ovat ARIA-roolit? Käytännön opas kehittäjille
Mitä ovat ARIA-roolit? ARIA-roolit ovat 87 määritellyn arvon sanastoa (WAI-ARIA 1.2:sta lähtien), jotka kertovat avustaville teknologioille, mikä elementti on ja miten sen tulee käyttäytyä HTML-tunnisteestaan riippumatta. Rooli, kuten “button”, “navigation” tai “dialog”, määrittää yleisen "
Miksi ARIA-rooleja ylipäätään on olemassa
Ymmärtääkseen, mitä aria-roolit ovat, täytyy nähdä, että ne ratkaisevat rakenteellisen ongelman, jota HTML ei yksin pysty ratkaisemaan. Alkuperäisillä HTML-elementeillä on implisiittinen semantiikka: <button> ilmoittaa olevansa painike, se voidaan tarkentaa, vastaa Enter- ja välilyöntinäppäimeen ja näyttää painetun tilan tarvittaessa.
Kun kehittäjät luovat mukautettuja widgetejä (yhdistelmälaatikko, välilehtipaneeli, puunäkymä), he käyttävät usein "
WAI-ARIA-spesifikaatiota ylläpitää W3C:n Accessible Rich Internet Applications Working Group. Ensimmäisestä versiosta, ARIA 1.0:sta, tuli W3C-suositus vuonna 2014; ARIA 1.1 seurasi vuonna 2017, ja ARIA 1.2 saavutti suosituksen tilan vuonna 2023. Rooleja, tiloja ja ominaisuuksia lisättiin jokaisessa versiossa, ja jokainen on linkitetty luontikäytäntödokumenttiin, joka kuvaa näppäimistön odotettua toimintaa.
Aiheeseen liittyvä: — Superposición de IA que promete cumplimiento WCAG en 48 horas.
Keskeinen ero erottaa roolit kahdesta muusta ARIA-luokasta. Roolit vastaavat: “Mikä tämä on?” Tilat ja ominaisuudet vastaavat: “Missä kunnossa se on?” ja “Mihin se liittyy?” role="checkbox" ilmoittaa widgetin tyypin; aria-checked="true" osoittaa sen nykyisen tilan. Näiden kahden sekoittaminen on yksi yleisimmistä rikkoutuneiden mukautettujen widgetien syistä.
Kuusi rooliluokkaa
ARIA-roolien ymmärtämiseksi on hyödyllistä tietää, että ARIA-spesifikaatio ryhmittelee roolit kuuteen perheeseen. Perheen ymmärtäminen antaa sinun ennustaa, mitä tiloja ja ominaisuuksia rooli tukee ja mitä näppäimistökuvioita sovelletaan.
| Luokka | Tarkoitus | Edustavat roolit |
|---|---|---|
| Abstrakti | Superluokan määritelmät, joita ei koskaan käytetä merkinnöissä | ”widget”, “syöttö”, “section” |
| Widget | Interaktiiviset säätimet | ”painike”, “checkbox”, “slider”, “tab” |
| Asiakirjan rakenne | Sivun maamerkit ja alueet | ”banneri”, “pää”, “navigointi”, “alue” |
| Maamerkki | Navigoitavissa olevat sivualueet (rakenteen osajoukko) | “banneri”, “täydentävä”, “sisältötiedot”, “lomake” |
| Live-alue | Ilmoita dynaamisista sisällön muutoksista | ”hälytys”, “tila”, “loki”, “ajastin” |
| Ikkuna | Selain- tai sovellusikkunat | ”dialog”, “alertdialog” |
Abstrakteja rooleja käytetään vain taksonomian järjestämiseen. Tekijät eivät saa koskaan kirjoittaa role="widget" tai role="input" merkintöihin; tämä johtaa määrittelemättömään toimintaan ja validointi epäonnistuu. Loput viisi luokkaa ovat niitä, joita todella haet.
Katsomisen arvoinen: — Accesibilidad gestionada: automatización combinada con revisión humana.
Implisiittiset roolit ja ARIAn ensimmäinen sääntö
Jokaisella HTML-elementillä on implisiittinen ARIA-funktio (joka selittää, mitkä ovat aria-roolit), jotka on määritetty HTML Accessibility API Mapping (AAM) -määrityksen mukaan. <nav>-elementillä on implisiittinen role="navigation". <ul> sisältää implisiittisen role="list". Kohdissa "
" - "
" on “role=“heading"". on rooli “taulukko”.
Ensimmäinen W3C-sääntö ARIA:n käytöstä sanoo selvästi: Jos natiivi HTML-elementti tai -attribuutti välittää jo vaaditun semantiikan ja käyttäytymisen, käytä sitä sen sijaan, että käyttäisit elementtiä uudelleen ARIA:n kanssa. Role=“button”-tunnisteen lisääminen "
Ensimmäinen W3C-sääntö ARIA:n käytöstä sanoo selvästi: Jos natiivi HTML-elementti tai -attribuutti välittää jo vaaditun semantiikan ja käyttäytymisen, käytä sitä sen sijaan, että käyttäisit elementtiä uudelleen ARIA:n kanssa. Role=“button”-tunnisteen lisääminen "
Usein kysytyt kysymykset
Mitä ovat ARIA-roolit yksinkertaisesti sanottuna?
ARIA-roolit ovat tunnisteita, jotka liitetään HTML-elementteihin kertomaan aputeknologialle, mitä elementti edustaa. <div role='button'> ilmoitetaan painikkeena eikä yleisenä tekstinä. Roolit tarjoavat, mikä tarkoittaa, että taustalla oleva tagi ei tarjoa, mutta ne eivät lisää käyttäytymistä, tarkennuksen käsittelyä tai näppäimistötukea yksinään.
Mitä eroa on ARIA-rooleilla ja ARIA-määritteillä?
Roolit kuvaavat elementin tyyppiä, kun taas attribuutit kuvaavat sen tilaa, arvoa tai suhteita. role='slider' identifioi liukusäätimen; aria-valuenow='50' ilmoittaa nykyisen sijaintinsa ja aria-labelledby-pisteet nimiönsä. Rooleja ja attribuutteja käytetään yhdessä, ja jokainen rooli määrittelee, mitä attribuutteja se tukee.
Kuinka monta ARIA-roolia on?
WAI-ARIA 1.2 määrittelee 87 roolia, jotka on ryhmitelty kuuteen luokkaan: abstrakti, widget, asiakirjarakenne, maamerkki, elävä alue ja ikkuna. Abstraktit roolit, kuten widget ja syöte, ovat olemassa vain määrityksen sisäisessä taksonomiassa, eikä niitä koskaan tule kirjoittaa HTML-kielellä. Määrä kasvaa jokaisen spesifikaatiopäivityksen myötä.
Pitäisikö minun käyttää ARIA-rooleja semanttisen HTML:n sijaan?
Ei. ARIA-käytön ensimmäinen sääntö sanoo, että kannattaa suosia alkuperäistä HTML-elementtiä aina, kun sellainen on olemassa vaaditulla semantiikkalla ja käyttäytymisellä. Käytä <button> <div role='button'> sijaan ja <nav> <div role='navigation'> sijaan. ARIA-roolit ovat varavaihtoehto tapauksiin, joissa ei ole sopivaa alkuperäistä elementtiä.
Toimivatko ARIA-roolit kaikissa selaimissa ja näytönlukuohjelmissa?
Nykyaikaiset selaimet ja näytönlukuohjelmat tukevat luotettavasti ydinrooleja, kuten painike, linkki, otsikko ja navigointi. Uudemmat tai erikoistuneemmat roolit, mukaan lukien Digital Publishing -moduulin roolit, tarjoavat monipuolisempaa tukea. Voit olla varma vain testaamalla yleisösi käyttämillä selaimen ja näytönlukuohjelman yhdistelmillä.
Voiko ARIA-roolin lisääminen häiritä käytettävyyttä?
Kyllä. Implisiittisen roolin ohittaminen voi menettää hyödyllisen semantiikan, esimerkiksi kun role='presentation' käytetään tietotaulukkoon. Sovellus role='application' voi estää käyttäjiä, jos mukautettu näppäimistön käsittely on epätäydellinen. Ylimääräiset roolit alkuperäisissä elementeissä aiheuttavat tarpeetonta melua ja johtavat toisinaan ristiriitaisiin ilmoituksiin.
Añade accesibilidad en 5 minuuttia
Widget de accesibilidad con plan gratuito para empezar hoy mismo