Lomakkeet
Lomake muodostuu ryhmästä toisiinsa liittyviä lomakekomponentteja, joiden avulla asiakas voi syöttää ja muokata tietoja sekä tehdä valintoja ja määrityksiä.
Lomake muodostuu ryhmästä toisiinsa liittyviä lomakekomponentteja, joiden avulla asiakas voi syöttää ja muokata tietoja sekä tehdä valintoja ja määrityksiä.
Lomakkeiden avulla kerätään tietoa. Lomakkeen täyttäminen tulisi olla mahdollisimman joustavaa ilman turhia keskeytyksiä. Lomakkeesta tulisi silmäilemällä selvitä sen käyttötarkoitus ja laajuus.
Lomakkeiden tulisi olla teknisesti saavutettavia, selkeitä ja ymmärrettäviä. Huolellisesti suunnitellut ja toteutetut lomakkeet tekevät niiden täyttämisestä helppoa kaikille käyttäjille.
Asettelulla tarkoitetaan lomake-elementtien sijoittelua; kokoa, sijaintia ja välejä suhteessa toisiinsa. Asettelun avulla ohjataan käyttäjää tekemään oikeita valintoja ja osoitetaan mihin käyttäjän tulisi ensimmäiseksi kiinnittää huomiota:
Yhden palstan pystysuuntaisessa asettelussa lomakekentän eri osat ovat allekkain.
Kahden palstan asettelussa lomakekentän eri osa ovat rinnakkain.
Muokkaa lomakekenttien leveyttä ja responsiivisuutta käyttämällä sivun rakenteen toteutukseen tarkoitettuja
Row
ja Column
-komponentteja. Lomakekenttien leveys määräytyy käytetyn palstarakenteen perusteella.
Lomakekenttien ja niiden osien johdonmukainen välistys on tärkeää lomakkeen luettavuuden ja ymmärrettävyyden kannalta. Johdonmukainen tyhjän tilan käyttö luo lomakkeelle selkeän rakenteen.
Lomakkeiden välistys noudattaa KDS:n kahdeksalla jaollisia välistysarvoja. Sovella alla olevia perussääntöjä myös omien, räätälöityjen lomakekenttien toteutuksessa.
Syöttökentissä käyteään sivusuunnassa 16px välistyksiä ja pystysuunnassa 8px välistyksiä. Kentän korkeus noudattaa painikkeiden korkeutta (40px + 1px reunaviiva).
Yksittäisen lomakekentän osien, kuten tekstien ja syöttökentän, välillä käytetään pääsääntöisesti 8px välistystä. Virheellisen kentän korostettua, punaista reunaviivaa ei lasketa mukaan välistykseen vaan se käyttäytyy kuin normaali kenttä 1px reunaviivalla.
Lomakekenttien ja kenttäryhmien välissä käytetään 24px välistystä erottamaan eri kentät ja toimintopainikkeet toisistaan.
Kaksi palstaisen lomakkeen välistyksessä käytetään samoja perussääntöjä.
Erilaiset lomakekentät rakentuvat pääpiirteittäin samanlaisista osista:
Jokaisella lomake-elementillä ja kenttäryhmällä on oltava nimilappu, josta käy ilmi, mitä kuhunkin lomakekenttään tulee syöttää.
Pakollisen kentän merkki kertoo, että lomaketta ei voi lähettää ennen kuin ko. kenttä on täytetty.
Jos nimilappu ei tarjoa riittävästi ohjeistusta kentän täyttämiseen, voi ohjeen kirjoittaa tavallisena tekstinä kentän yläpuolelle. Ohjetekstissä voi avata esim. vaikeita termejä. Täyttöohje sisältää minimiohjeen.
Pyri pitämään täyttöohjeet lyhyenä. Mahdolliset lisäohjeet esim. erityistilanteisiin tai rajatuille asiakasryhmille kannattaa näyttää piilotetulla täyttöohjeella. Piilotettua täyttöohjetta kannattaa käyttää myös, jos ohjeteksti on pitkä.
Lomakekomponentti, jonka avulla asiakas voi syöttää ja muokata tietoja sekä tehdä valintoja ja määrityksiä.
Kenttään sidotun tekstin avulla voidaan ilmaista esim. yksiköitä.
Aputekstin avulla voidaan kertoa esim. käytettävissä oleva merkkimäärä. Aputeksti on tasattu kentän vasempaan reunaan.
Valintanapin ja -ruudun kohdalla aputekstiä voi käyttää kentän täyttöohjeen tilalla tai sen apuna selkeyttämään vaihtoehtoja.
Placeholder-tekstin avulla voidaan antaa asiakkaalle vinkkiä syötteen muodosta. Placeholder-teksti katoaa, kun asiakas vie kohdistuksen kenttään.
Virheilmoitus ilmaisee virheellisesti täytetyn tai puuttuvan lomakekentän.
Kenttään sidottu toiminto sopii tilanteisiin, joissa halutaan esittää tiiviisti yksittäinen kenttä ja siihen liittyvä toimintopainike, esimerkiksi hakukenttä.
Lomakekenttien ryhmittely loogisiin kokonaisuuksiin helpottaa lomakkeen ymmärtämistä ja täyttämistä. Lomakeryhmä (fieldset) koostuu useasta, samaan aiheeseen liittyvästä lomakekentästä ja kenttäryhmän otsikosta (legend). Valintanapit (radio button) tulee toteuttaa aina kenttäryhmänä. Samoin valintaruudut, jos samaan aiheeseen liittyviä valintoja on useita.
Asiakkaan tulee nähdä, missä elementissä näppäimistön kohdistus (focus) kulloinkin on.
Lomake-elementit voivat olla joko aktiivisia, estettyjä (disabled) tai lukutilaisia (read-only).
Tee lomake-elementtien käytöstä ja silmäilystä mahdollisimman sujuvaa.
Käyttäjälle tulee antaa riittävä ohjeistus lomakkeen täyttämistä varten. Lomakkeen pääotsikko kertoo lomakkeen käyttötarkoituksen. Ryhmittelevät otsikot helpottavat varsinkin pitkän lomakkeen silmäilyä ja ymmärrettävyyttä.
Koko lomaketta koskevat ohjeet tulisi kertoa lomakkeen alussa, esimerkiksi pakollisten tietojen merkitseminen. Pakolliset kentät merkitään mustalla tähdellä *.
Jokaisella lomake-elementillä on oltava nimilappu (Aria-label), josta käy ilmi, mitä kuhunkin lomakekenttään tulee kirjoittaa. Tarjoa tarvittaessa lisäohjeita esim. täyttöohje ja avaa vaikeita termejä.
Käyttäjälle on hyvä antaa palautetta lomakkeen täytöstä. Ilmoitukset keskeyttävät normaalin työnkulun ja niitä tulee siksi käyttää harkiten.
Virheellisesti täytetyt kentät tai muut virhetilanteet on hyvä sekä listata yhteen lomakkeen alkuun että ilmoittaa virheestä jokaisen virheellisesti täytetyn lomakekentän kohdalla. Virheilmoituksessa kerrotaan mitä on tapahtunut ja ohjeistetaan virheen korjaamiseen. Lomakkeen alkuun tuleva listaus sopii esim. kansalaisen palveluissa tilanteeseen, jossa lomakkeella on vain yksi lähetä-painike. Sisäisissä järjestelmissä ns. asiantuntijakäyttöliittymissä, riittää usein virheilmoituksen näyttäminen asiayhteydessä tai esim. tietyn paneelin yläreunassa.
Muodollisuus- ja oikeinkirjoitukseen liittyvät virheilmoitukset näytetään mahdollisuuksien mukaan heti kentästä poistuttaessa. Virheilmoituksen aktivoituessa fokuksen eli kohdistimen on oltava virheilmoituksessa.
Virheilmoitus esitetään virheen aiheuttaneen lomakekentän alapuolella.
Kun lomake on onnistuneesti lähetetty, asiakkaalle on annettava tästä palautetta. Vältä kuitenkin turhien onnistumisilmoitusten esittämistä rutiiniluontoisten toimintojen yhteydessä.
Varmista, että lomake voidaan täyttää käyttäen pelkkää näppäimistöä. Asiakkaan ei tule joutua vaihtamaan hiiren ja näppäimistön välillä pystyäkseen navigoimaan ja täyttämään lomaketta.