Siirry sisältöön

14.5.0

Spinner

Komponentti kertoo asiakkaalle, että hitaasti valmistuvan toiminnon suoritus on meneillään.

Julkaistu versiossa 1.2.0

Esikatselu

Käyttötarkoitus

Käytä Spinner-komponenttia antamaan asiakkaalle palautetta tilanteissa, joissa käyttöliittymän tai sen osan latautuminen/päivitys kestää yli sekunnin.

Käytettävyyden perusperiaatteisiin kuuluu käyttöliittymän nopea reagointi asiakkaan syötteisiin ja muihin tapahtumiin. Latausprosessia kuvaava Spinner-komponentin avulla asiakas saa reaaliaikaisen vahvistuksen siitä, että tietty toiminto edistyy.

Spinner soveltuu pääsääntöisesti tilanteisiin, joissa latausaika on lyhyt eikä sen tarkkaa kestoa tai edistymistä voida esittää. Latausindikaattori esitetään ensisijaisesti sinisävyisenä. Tummilla taustoilla voi käyttää vaaleaa latausindikaattoria. Muut värit ovat erikoistapauksia tilanteisiin, joihin sininen väri ei sovellu.

Kela Design Systemin ensisijainen tapa esittää asioiden latautumista on Skeleton-komponentti. Käytä Spinner-komponenttia tilanteisiin, joihin Skeleton ei sovellu.

Tee näin
  • Käytä Spinner-komponenttia latausindikaattorina silloin, kun Skeleton-komponentti ei sovellu käyttötilanteeseen.
  • Käytä komponenttia tilanteissa, joissa viiveen kesto on tuntematon.
  • Käytä komponenttia latausindikaattorina tilanteissa, joissa tarvittava sisältö on jo näkyvissä.
Älä tee näin
  • Älä käytä Spinneriä, jos viiveen kesto tai valmistumisaika on mahdollista esittää.
  • Älä käytä komponenttiä sovelluksen käynnistyksen tai kokonaisten näkymien latausindikaattorina.
  • Älä käytä saman lataustapahtuman esittämiseen samanaikaisesti sekä Spinner- että Skeleton-komponenttia.

Saavutettavuus

Hitaasti valmistuvan toiminnon suorituksesta pitää välittyä viesti myös ruudunlukijalle. Toteutustapa riippuu käyttötilanteesta.

Komponentille voi antaa vain ruudunlukijoille näkyvän tekstin srLoadingText-propilla. Tilatietoa lataustapahtumasta voi myös välittää automaattisesti ruudunlukijoille käyttämällä aria-live ja aria-atomic -attribuutteja tai role="status"-attribuuttia. Näiden toteutus jää kunkin sovelluksen ja sen kehittäjien vastuulle.

Alla on kuvitteellinen ja interaktiivinen esimerkki latausindikaattorin käytöstä toimintopainikkeen yhteydessä. Tässä esimerkissä ruudunlukija lukee asiakkaalle automaattisesti vihjeen, kun hidasta toimintoa suoritetaan ja kun se on valmistunut.

Esimerkit

Väri

Spinner-komponentti on toteutettu svg-kuvakkeena, joka on animoitu CSS:llä. Komponentti perii oletuksena käyttökontekstin mukaisen tekstivärin.. Väriä voi lisäksi muuttaa variant- tai util-propeilla.

Koko

Komponentin koko periytyy kuvakkeiden tapaan käyttökontekstin tekstikoon mukaan. Kokoa voi myös muokata size propin tarjoamilla kokovaihtoehdoilla, jotka vastaavat KDS:n kuvakekokoja.

Spinnerin käyttö taulukossa

Esimerkki liitetiedostojen lähetyksestä FileInput-komponentin yhteydessä.

Spinnerin käyttö painikkeessa

Painikkeissa komponenttia tulee käyttää ilman variant-propia. Näin se saa automaattisesti oikean värin painikkeen tekstivärin perusteella.