Standardit · ARIA

Ominaisuus Widgetin tila

aria-sort

Sarake- tai riviylätunnisteessa lajiteltavassa ruudukossa tai taulukossa: ilmoittaa nykyisen lajittelusuunnan. Arvot: "ascending", "descending", "other" tai "none". Vain yhdellä ylätunnisteella kerrallaan saa olla lajiteltu arvo.

Milloin käyttää

role="columnheader"- tai role="rowheader"-elementissä (tai natiivissa <th>-elementissä) ruudukossa tai taulukossa, jonka käyttäjä voi lajitella uudelleen. Attribuutti kertoo avustavalle teknologialle sekä sen, että sarake on lajiteltavissa, että nykyisen lajittelusuunnan — ruudunlukuohjelman käyttäjä kuulee “Sukunimi, lajiteltu nousevasti” ennen sarakkeen lukemista.

Jos sarake ei ole lajiteltavissa, älä lisää siihen aria-sort-attribuuttia. Attribuutti on sopimus, joka sanoo “tätä voidaan muuttaa”.

Miten se toimii

Hyväksyy neljä arvoavainta:

  • "ascending" — A→Ö, 0→9, vanhin→uusin.
  • "descending" — Ö→A, 9→0, uusin→vanhin.
  • "none" — lajiteltavissa, mutta tätä saraketta ei tällä hetkellä käytetä lajitteluperusteena. Tämä on oletustila, kun toinen sarake ottaa lajittelun.
  • "other" — lajiteltavissa, mutta nykyinen lajittelu perustuu ei-aakkosnumeeriseen sääntöön, joka ei sovi nousevaan tai laskevaan (esimerkiksi mukautettu relevanssipisteytys). Harvinainen käytännössä.

Vain yhdellä ylätunnisteella taulukossa saa kerrallaan olla "ascending", "descending" tai "other". Kun käyttäjä vaihtaa lajittelua, aseta uudelle sarakkeelle uusi arvo ja nollaa edellinen sarake "none"-arvoon (tai poista attribuutti).

aria-sort on pelkästään ilmoitusmekanismi. Todellinen lajittelutoiminto — klikkauksen käsittely, näppäimistöaktivointi, rivien järjestely — on kehittäjän vastuulla. Avustava teknologia ei lajittele taulukkoa puolestasi.

Yleiset virheet

  • Näkyvän lajitteluilmaisimen (nuolikuvake) päivitys ilman aria-sort-attribuutin päivitystä. Ruudunlukuohjelman käyttäjät kuulevat väärän suunnan.
  • Kaksi saraketta, joissa molemmissa on aria-sort="ascending" uuden ylätunnisteen klikkauksen jälkeen. Ensimmäinen sarake ei enää ohjaa lajittelua mutta väittää silti tekevänsä niin.
  • aria-sort-attribuutin lisääminen lajittelemattomaan sarakkeeseen. Avustava teknologia lupaa lajittelutoiminnon, jota käyttäjä ei voi käynnistää.
  • Sallittujen neljän arvoavaimen ulkopuolisen arvon käyttö — aria-sort="asc" on virheellinen ja jätetään huomiotta.
  • Ylätunnisteen näppäimistöaktivoinnin unohtaminen. aria-sort ei tee sarakeylätunnisteesta kohdistettavaa; se on kehittäjän vastuulla.
  • aria-sort-attribuutin käsittely totuuden lähteenä lajittelutilan sijaan. Uudelleenrenderöinnin jälkeen attribuutin häviäminen poistaa ilmoituksen.

Esimerkki

<table>
  <thead>
    <tr>
      <th
        scope="col"
        aria-sort="ascending"
      >
        <button type="button">Sukunimi</button>
      </th>
      <th scope="col" aria-sort="none">
        <button type="button">Etunimi</button>
      </th>
      <th scope="col">Sähköposti</th>
    </tr>
  </thead>
  <tbody>
    <!-- … rivit lajiteltuna sukunimen mukaan nousevasti -->
  </tbody>
</table>