Siirry sisältöön

14.5.0

Chat

Komponentti tiedon esitykseen vuoropuheluna.

Julkaistu versiossa 1.1.0

Esikatselu

Käyttötarkoitus

Käytä Chat-komponenttia, kun haluat viestiä asiakkaalle vuoropuhelumaisesti. Komponentti sopii tilanteisiin, joissa halutaan edetä yksi asia tai kysymys kerrallaan. Komponenttia voi soveltaa esimerkiksi live-chatissa, chattirobotissa tai kysymys kerrallaan etenevässä hakemusmallissa.

Tee näin
  • Pidä viestit lyhyinä ja ytimekkäinä.
  • Pitkät asiakokonaisuudet kannattaa jakaa useaan viestiin, jotka ilmestyvät peräkkäin pienellä viiveellä.
    • Esitä tärkein asia ensin, mutta asiakkaalle esitetyt kysymykset aina viimeiseksi.
  • Esitä sinisessä viestikuplassa vain tekstiä ja linkkejä.
  • Käytä aina loading-proppia, jos viestin muodostamisessa on viivettä.
  • Esitä asiakkaan toiminnot ja vastaukset aina vaaleanharmaassa viestikuplassa.
Älä tee näin
  • Älä laita yhteen viestikuplaan montaa eri asiaa.
  • Älä käytä sinisessä viestikuplassa tekstin alleviivausta tai lihavointia.

Saavutettavuus

Jos käytät chat-komponenttia live-chatissa tai chattirobotissa, muista varmistaa, että chat-ikkuna on löydettävissä sivulta nopeasti ja sen avaaminen ja sulkeminen on helppoa. Tähän liittyen on hyvä huomioida muutamia asioita:

  • oletuksena chat-ikkuna on kiinni
  • jos chat-ikkuna sijaitsee dom-puun lopussa, sivun alkuun on lisättävä ohituslinkki
  • myös maamerkki (role=“log”) autaa chat-ikkunan havaitsemista ja löytämistä

On suositeltava, että kirjoituskentästä pääsee siirtymään sulkemispainikkeeseen max. muutamalla tabin painalluksella. Avaamisen tai sulkemisen jälkeen chat-ikkunan tilan on päivityttävä. Sulkemisen jälkeen fokus siirretään sivun alkuun tai muuhun loogiseen paikkaan.

Chatin sisällön saavutettavuus

Chat-komponenttia käytettäessä pitää kiinnittää huomiota viestikuplien ja sisältöjen saavutettavuuteen.

  • Varmista, että sisältöä on mahdollista scrollata: overflow-y: scroll.
  • Varmista, että chat-ikkunassa voi liikkua nuolinäppäimillä.
  • Ruudunlukijan varassa chatia käytettävän käyttäjän on tärkeä saada tieto uuden viestin saapumisesta. Tämä onnistuu asettamalla Chat-komponentille aria-live- ja aria-atomic-attribuutit.
  • Sininen viestikupla on tarkoitettu pääasiassa tekstille ja linkeille.
  • Muut sisällöt, kuten taulukot, tulee laittaa valkoiseen viestikuplaan sinisen viestin yhteyteen.
  • Vaaleanharmaisiin viestikupliin voi laittaa sisältöjä laajemmin, esim. lomake-elementtejä, mutta näissäkin tulee varmistaa, että saavutettavuusvaatimukset toteutuvat, mm.:
    • kontrastivaatimukset täyttyvät
    • kaikilla interaktiivisilla elementeilla on label / aria-label -attribuutit
    • kuvilla on alt -attribuutit
  • Sinisen viestikuplan linkit alleviivataan automaattisesti. Älä siis käytä tekstin alleviivausta korostamaan tekstiä sinisessä viestikuplassa.

Esimerkit

Väri ja asettelu

Kelan ja Kannan viestit

Kelan ja Kannan viestit (esim. chattirobotti, hakemusavustaja ym.) esitetään aina keskusteluketjun vasemmassa reunassa sinisellä taustavärillä.

Viestikuplille on suositeltavaa antaa name-propilla viestijän nimi tai rooli, sekä aikaleima.

Valkopohjainen viestikupla

Mikäli Kelan ja Kannan viestissä on tarve esittää tekstin lisäksi muuta lisätietoa, kuten taulukoita tai muita komponentteja, lisää lisätieto omaan valkopohjaiseen viestikuplaan käyttämällä outline-propia.

Käytä valkopohjaista viestikuplaa:

  • Pohjatietojen näyttämiseen.
  • Sinipohjaisen kysymyskuplan yläpuolella selventämään kysymystä.
  • Toimintaohjeena, kun asiakkaalle näytetään lisätietoa hänen antamastaan vastauksesta.

Kirjoita lyhyitä tekstejä. Osan teksteistä voi piilottaa Accordion-komponentin avulla.

Vuoropuhelun pohjatiedot

Voit käyttää valkopohjaista viestikuplaa pohjatietojen näyttämiseen.

Kysymyksen selventäminen

Voit alustaa tai selventää valkopohjaisessa viestikuplassa sinisen kuplan kysymystä.

Voit piilottaa osan teksteistä Accordion-komponentin avulla. Käytä Chat-kuplassa Accordion-komponenttia, kevyt haitarielementti linkkipainikkeen tyylillä.

Vuoropuhelun aloitus

Voit käyttää valkopohjaista viestikuplaa vuoropuhelun aloituksena.

Toimintaohje

Voit antaa valkoisessa kuplassa asiakkaan vastaukseen liittyvää palautetta ja toimintaohjeita.

Yhteenvetonäkymä

Komponentin ulkoasun voi määrittää vapaammin position, variant ja outline ja rounded -proppien yhdistelmillä, kun sitä käytetään normaalin Chat-toiminnallisuuden ulkopuolella, esimerkiksi Chat-muotoisen hakemuksen yhteenvetonäkymässä.

Asiakkaan viestit

Asiakkaan viestit esitetään aina keskusteluketjun oikealla puolella vaaleanharmaissa viestikuplissa. Jos asiakasta pyydetään vastaamaan kysymyksiin painikkeilla tai täyttämällä lomake-elementtejä, ne tulee esittää aina asiakkaan viestikuplassa, viestiketjun oikealla puolella.

Jos sisältönä on muutakin, kuin teksti, on huomioitava, että:

  • kuvilla on alt-atribuutti
  • interaktiivisilla elementeilla on labelit / aria-labelit

Viestien lataaminen

Jos viestin sisällön muodostamisessa on viivettä, käytä loading-propia antamaan asiakkaalle palautetta sisällön latauksesta ja viestiketjun etenemisestä.

Koko

Viestin koko ja viestien välinen tyhjä tila skaalautuu automaattisesti pienille näytöille.

Lisää viestille form-prop, jos viesti sisältää tekstin lisäksi muita komponentteja, kuten taulukoita, painikkeita tai lomake-elementtejä. Tämä lisää viestiin hieman enemmän paddingia ja se on helpompi lukea.

Ilmoitus viestikuplassa

Viestikuplassa sijaitsevan ilmoituksen voi muuttaa valkoiseksi ja sen sisällölle saa enemmän tilaa sijoittamalla ikonin tekstin yläpuolelle. Ilmoitusta voi myös tiivistää size-propin tarjoamilla kokovaihtoehdoilla.

Animaatio

ChatMessage-komponentti on animoitu kiinnittämään asiakkaan huomiota uusiin viesteihin ja korostamaan esitystavan keskustelumaisuutta. Mount-animaation voi poistaa animate-propilla, jos viestejä tulee kerralla useita, esimerkiksi kun viestejä sisältävä näkymä ladataan ensimmäisen kerran.

Alla on yksinkertainen esimerkkitoteutus, joka esittelee animaation toimintaa.