SegmentedControl lar brukeren velge mellom nært beslektede alternativer som påvirker innhold eller visning. Den består av en gruppe knapper hvor nøyaktig ett alternativ kan være valgt om gangen.
Oversikt
SegmentedControl
SegmentedControl grupperer to eller flere valg og lar brukeren velge ett alternativ. Den kan brukes kontrollert med value eller ukontrollert med defaultValue.
SegmentedControl.Item og SegmentedChoice
Hvert valg angis med SegmentedControl.Item (foretrukket) eller SegmentedChoice. Send inn en unik value som identifiserer valget, og bruk tekst og/eller ikon som innhold.
selectedValue er avviklet. Bruk value (kontrollert) eller defaultValue (ukontrollert) i stedet.
Retningslinjer
- Egnet til: filtrering av innhold og veksling mellom visninger/innstillinger. Passer godt for valg som påvirker nærliggende innhold (f.eks. "Avreise" vs. "Ankomst").
- Uegnet til: navigasjon mellom paneler/sider (bruk
Tabs), og som erstatning forRadioGroupi skjema med innsending. - Plassering: plasser komponenten nær innholdet den styrer. Bruk
aria-controlshvis den styrer innhold lenger nede på siden. - Antall og bredde: hold antall valg lavt (≤ 5). Sørg for at alle valg er synlige på skjermen. Hold tekstene korte og konsistente.
- Ikoner: kun ikoner kan brukes for ekspertbrukere. Gi alltid en skjermleser-tekst med
aria-labelnår innholdet ikke er selvdokumenterende. - Label: bruk
labelfor å beskrive hva valget styrer for å gjøre det lettere for brukeren å forstå der det er nødvendig.
Anbefalingene er inspirert av bruksmønstre i ToggleGroup i Aksel og Designsystemet.
Eksempler
Endret visning avhengig av valg
Ukontrollert med defaultValue
Kun ikoner med skjermleser-tekst
Tilgjengelighet
SegmentedControlharrole="radiogroup"og hvert valg harrole="radio"medaria-checkedfor valgt tilstand.- Roving tabindex: piltaster flytter fokus mellom valg.
Space/Entervelger,Escapefjerner fokus. - Bruk
labelfor å beskrive hva valgene styrer, ogaria-labelpå valg som kun har ikon. - Knytt gjerne komponenten til innholdet den styrer med
aria-controlspåSegmentedControlnår relevant.
Props
SegmentedControl
Denne komponenten har ingen props
SegmentedChoice
Denne komponenten har ingen props