Om komponenten
Formål
Én enkelt avkrysningsboks med boksen plassert før etikett-teksten (motsatt rekkefølge av resten av skjemafelt-familien, som er den etablerte konvensjonen for checkbokser), men samme hjelpetekst-/feilmeldingsoppsett og form-association som de andre feltene.
Egner seg for
- Ett enkeltstående ja/nei-valg i et skjema som skal sendes inn (godta vilkår, huk av for nyhetsbrev).
- Flere uavhengige avkrysningsvalg ved siden av hverandre (velg flere kategorier).
Egner seg ikke for
- En umiddelbar av/på-innstilling utenfor et innsendingsskjema (varsler på/av) - bruk
<lm-switch-field>. - Et sett med gjensidig utelukkende valg - bruk
<lm-radio-group-field>eller<lm-select-field>.
Bruk
<script type="module" src="/designsystem/komponenter/skjema/checkbox-field/checkbox-field.js"></script>
<lm-checkbox-field name="godtaVilkar" label="Jeg godtar vilkårene" required></lm-checkbox-field>
Prøv selv
Rediger koden under - resultatet oppdateres live.
Attributter
| Attributt | Type | Standard | Beskrivelse |
|---|---|---|---|
label | string | Attributt/property. Synlig etikett-tekst, plassert etter selve boksen. | |
name | string | Attributt. Skjemafelt-navn - komponenten er form-associated og deltar i FormData under dette navnet. | |
value | string | "on" | Attributt. Verdien sendt i FormData når boksen er haket av (samme native standardverdi som <input type="checkbox">). |
checked | boolean | false | Attributt/property. Om boksen er haket av. |
required | boolean | false | Attributt/property. Krever at boksen hakes av for å sende inn skjemaet. |
disabled | boolean | false | Attributt/property. Deaktiverer feltet (arves også automatisk fra en <fieldset disabled>). |
help | string | Attributt. Kort hjelpetekst vist under feltet, koblet via aria-describedby. |
Parts
| Part | Beskrivelse |
|---|---|
etikett | Det omsluttende <label>-elementet. |
etikett-tekst | <span>-en med selve etikett-teksten. |
felt | Det interne <input type="checkbox">-elementet. |
hjelpetekst | <small>-elementet med hjelpeteksten. |
feilmelding | <small role="alert">-elementet med valideringsmeldingen. |
Styling med ::part()
Hver part over kan restyles direkte fra et vanlig, ytre stilark - uten å måtte endre selve komponenten eller duplisere den:
lm-checkbox-field::part(etikett) {
/* egne stiler for "Det omsluttende `<label>`-elementet." */
}
lm-checkbox-field::part(etikett-tekst) {
/* egne stiler for "`<span>`-en med selve etikett-teksten." */
}
lm-checkbox-field::part(felt) {
/* egne stiler for "Det interne `<input type="checkbox">`-elementet." */
}
lm-checkbox-field::part(hjelpetekst) {
/* egne stiler for "`<small>`-elementet med hjelpeteksten." */
}
lm-checkbox-field::part(feilmelding) {
/* egne stiler for "`<small role="alert">`-elementet med valideringsmeldingen." */
}
Metoder
| Metode | Parametre | Returverdi | Beskrivelse |
|---|---|---|---|
checkValidity() | - | Videresender til den interne ElementInternals.checkValidity(). | |
reportValidity() | - | Videresender til den interne ElementInternals.reportValidity(). |
Tilgjengelighet
Selve avkrysningsboksen beholder all native tastatur- (mellomrom for å hake av/på) og skjermleserstøtte uendret. <label> omslutter både boks og tekst, slik at hele raden er klikkbar.
<label>omslutter både boks og tekst, slik at hele raden er klikkbar og fokuserbar.- Selve avkrysningsboksen beholder all native tastatur- og skjermleserstøtte uendret.
Detaljer
- Er form-associated og deltar i
FormDataunder sittname-attributt medvalue(standard "on") når haket av, og er utelatt helt fra FormData når ikke haket av - identisk med native<input type="checkbox">-oppførsel.
Referanser
Se også:
../switch-field/index.html - brukes i stedet for en umiddelbar av/på-innstilling utenfor et innsendingsskjema.../radio-group-field/index.html - brukes i stedet for gjensidig utelukkende valg.../../../guider/skjemafelt/index.html - full oversikt over hvilken feltkomponent som dekker hvilken native input-type.
Brukes av:
okonomi/lonn/forhandlinger/index.html (forberedelses-sjekkliste per planlagt lønnsforhandling)
Avhengigheter: designsystem/komponenter/skjema/skjema-felt-delt.css, designsystem/komponenter/skjema/skjema-felt-delt.js