aria-posinset
Kohteen sijainti joukossa, kun DOM ei pysty sitä ilmaisemaan — tyypillisesti siksi, että kohteet ovat virtualisoituja, sivutettuja tai suodatettuja. Yhdistä aina aria-setsize-attribuuttiin, jotta ruudunlukuohjelmat voivat ilmoittaa "3 / 47".
Milloin käyttää
Kun DOM ei sisällä koko joukkoa — virtualisoidut luettelot, jotka renderöivät vain näkyvät kohteet, sivutetut ruudukot, suodatetut comboboxit, loputtomasti vieritettävät syötteet. Ilman aria-posinset- ja aria-setsize-attribuutteja ruudunlukuohjelma joutuu arvaamaan sisarussisartelusta ja ilmoittaa “kohde 1 / 10”, vaikka käyttäjä on oikeasti kohdassa 327 / 5 000.
Kelvollinen sisäkkäisesti joukkoluonteisiin säiliöihin: option listbox-säiliössä, menuitem menu-säiliössä, treeitem tree-säiliössä, tab tablist-säiliössä, article feed-säiliössä, row grid-säiliössä.
Jos DOM sisältää luonnollisesti kaikki kohteet lähejärjestyksessä, aria-posinset-attribuuttia ei tarvita; avustava teknologia laskee sisaret automaattisesti.
Toimintatapa
Arvo on positiivinen kokonaisluku — tämän kohteen 1-pohjainen indeksi koko joukossa. Yhdistä aria-setsize-attribuuttiin samassa elementissä; molemmat attribuutit kuuluvat kohteisiin eivätkä säiliöön.
Kun kohteet suodatetaan, päivitä molemmat attribuutit vastaamaan näkyvää ja relevanttia joukkoa, ei alkuperäistä täyttä luetteloa. Muussa tapauksessa käyttäjät kuulevat sijainteja, joihin he eivät pysty navigoimaan.
aria-setsize="-1" on kelvollinen tapauksissa, joissa kokonaismäärä on aidosti tuntematon (avoin hakusyöte). Jotkut avustavat teknologiat ilmoittavat sen “paljon”; toiset vaikenevat.
Yleiset virheet
aria-posinset-asetus ilmanaria-setsize-attribuuttia. Puolet tiedoista puuttuu; avustava teknologia ei pysty sanomaan “3 / kuinka monta”.- Arvojen päivittämättä jättäminen lajittelun tai suodatuksen jälkeen. Käyttäjät kuulevat vanhentuneita sijainteja.
- Attribuuttien sijoittaminen säiliöön kohteiden sijaan.
aria-posinset-käyttö silloin, kun DOM jo heijastaa koko joukkoa — avustava teknologia olisi laskenut oikein, ja nyt tietoja on kahdessa paikassa, jotka voivat eriytyä.- Nolla tai negatiiviset arvot
aria-posinset-attribuutille (negatiiviset eivät ole sallittuja; vainaria-setsizehyväksyy arvon-1). - Sijaintinumerot eivät vastaa visuaalista järjestystä — ruudunlukuohjelman käyttäjä kuulee “kohde 5”, kun kolmas näkyvä kohde on korostettu.
Esimerkki
<!-- Virtualisoitu listbox: vain kohteet 12–16 ovat DOM:ssa, mutta joukossa on 5 000 kohdetta -->
<div role="listbox" aria-label="Customers">
<div role="option" aria-posinset="12" aria-setsize="5000">Customer 12</div>
<div role="option" aria-posinset="13" aria-setsize="5000">Customer 13</div>
<div role="option" aria-posinset="14" aria-setsize="5000" aria-selected="true">Customer 14</div>
<div role="option" aria-posinset="15" aria-setsize="5000">Customer 15</div>
<div role="option" aria-posinset="16" aria-setsize="5000">Customer 16</div>
</div>