Esikatselu
<Checkbox labelText="Lorem ipsum" defaultChecked />
Käyttötarkoitus
Käytä valintaruutuja tilanteissa, joissa asiakas voi valita yhden tai useamman vaihtoehdon. Asiakas voi
myös olla valitsematta yhtään vaihtoehtoa. Valintaruuturyhmä voi myös olla pakollinen, jos asiakkaan
odotetaan valitsevan vähintään yksi vaihtoehto.
Ryhmittele valintaruudut loogisesti ja nimeä ne ymmärrettävästi. Yritä pitää vaihtoehtojen määrä
hallittavana. Jos vaihtoehtoja alkaa olla paljon, kannattaa harkita Multiselect-komponentin käyttöä.
Samaan ryhmään kuuluvat valintaruudut järjestetään allekkain SelectionGroup-komponentilla.
Voit käyttää yksittäistä valintaruutua tilanteessa, jossa asiakas tekee päälle / pois
päältä -tyyppisen valinnan. Huolehdi tällöin, että valintaruudun teksti on riittävän
yksiselitteinen. Asiakkaan pitää myös ymmärtää, mitä valitsematta jättäminen tarkoittaa.
Jos tällaisen yksittäisen valintaruudun tapauksessa valitun tilan vastakohta ei ole
yksiselitteisesti pääteltävissä, käytä tilanteessa mieluummin valintaruutuja,
joilla kuvaat molemmat tilat.
- Luettele valintaruudut loogisessa järjestyksessä, esimerkiksi valinnan yleisyyden mukaan tai aakkosjärjestyksessä.
- Nimeä vaihtoehdot selkeästi ja ymmärrettävästi, mutta mahdollisimman napakasti. Lisää valintaruuturyhmälle kuvaava otsikko.
- Jos haluat käyttää oletusvalintaa, valitse asiakkaan kannalta todennäköisin tai sopivin vaihtoehto. Huolehdi, että oletusvalinnan käyttö on myös asiakkaan kannalta turvallista.
- Käytä valintaruutua päälle / pois päältä -tyyppisessä tilanteessa vain, jos vaihtoehdon valitsemisen ja valitsematta jättäminen ovat yksiselitteisesti ymmärrettävissä.
Saavutettavuus
Komponentti toteuttaa yksittäisen saavutettavan valintaruudun.
Esimerkit
<Checkbox labelText="Valintaruutu" />
Valintaruudun nimilapun voi piilottaa visuaalisesti hideLabel
-propilla, kun valintaruutu
on yhdistetty muihin komponentteihin.
<Checkbox labelText="Valintaruutu piilotetulla nimilapulla" hideLabel />
Pakollisuus
Yksittäisen valintaruudun voi merkitä pakolliseksi required
-propilla. Älä käytä tätä merkintätapaa,
jos kyseessä on useasta valintaruudusta muodostuva kenttäryhmä. Katso SelectionGroup-komponentti.
<Checkbox labelText="Vakuutan antamani tiedot oikeiksi ja ilmoitan, jos tiedot muuttuvat" required />
Aputeksti
Pidä valintaruudun nimilappu lyhyenä ja selkeänä. Vaihtoehtojen selitykseen voi käyttää aputekstiä infoText
-propilla,
mikä voi helpottaa lyhyiden ja selkeiden nimilappujen suunnittelua.
<Checkbox labelText="Valintaruutu" infoText="Tähän voi laittaa valinnan lisäkuvauksen." />
Oletusvalinta
<Checkbox labelText="Valintaruutu oletusvalinnalla" defaultChecked />
Virheellinen arvo
Yksittäisen valintaruudun yhteyteen voi tulostaa virheilmoitustekstin errorText
-propilla.
Useasta valintaruudusta koostuvan kenttäryhmän virhetilanteet esitetään eri tavalla, katso esimerkki SelectionGroup-komponentin sivulta.
<Checkbox
required
invalid
labelText="Vakuutan antamani tiedot oikeiksi ja ilmoitan, jos tiedot muuttuvat"
errorText="Pakollinen tieto puuttuu."
/>
Estetty valintaruutu
<Checkbox labelText="Estetty valintaruutu" disabled />
Tietojen ryhmittely
const ExampleAccordion = () => {
const [isOpen, setOpen] = useState(false);
return (
<>
<SelectionGroup labelText="Tulotiedot">
<Checkbox
labelText="Palkkatuloja"
infoText="Ilmoita palkkatuloina myös mahdollinen ulkomaan työskentelyn ajalle määritelty vakuutuspalkka."
/>
<Checkbox
labelText="Yrittäjän työtuloja"
infoText="Yrittäjätuloilla tarkoitetaan yrittäjän YEL-työtuloja ja maatalousyrittäjän ja apurahansaajan MYEL-työtuloja."
/>
<Checkbox labelText="Kelan tai muiden laitosten maksamia etuuksia" />
<Accordion className="kds-mx-8 kds-my-1" id="asunnon-pinta-ala" isOpen={isOpen} appearance="link">
<AccordionToggle onClick={() => setOpen(!isOpen)}>Näitä etuuksia ovat</AccordionToggle>
<AccordionBody>
<List>
<ListItem>työttömyysetuus</ListItem>
<ListItem>vuorottelukorvaus</ListItem>
<ListItem>sairauspäiväraha</ListItem>
<ListItem>YEL-päiväraha ja Mela-sairauspäiväraha</ListItem>
<ListItem>osasairauspäiväraha</ListItem>
<ListItem>vanhempainpäiväraha</ListItem>
</List>
</AccordionBody>
</Accordion>
</SelectionGroup>
</>
);
};
render(<ExampleAccordion />);