Filip Rut Kiddosy Design System English

DokumentacjaKomponenty

Lista rozwijana

Jedyna lista rozwijana: natywny select w dwóch układach.

Warianty

Dwa układy jednego komponentu. Field stoi w formularzach i wygląda jak pole tekstowe. Inline stoi w pasku listy: etykieta obok, wartość pogrubiona.

W latach

layout = field
layout = inline · variant = plain (sortowanie)
layout = inline · variant = outline (liczba na stronie)

Stany

Układ field. Fokus jest poniżej wymuszony, żeby było go widać bez klawiatury; listy wyżej reagują na prawdziwy fokus.

Spoczynek
Fokus
Wyłączone

Wybierz kategorię zajęć

Błąd

API

Propsy SelectField. Pozostałe natywne atrybuty selecta (value, onChange, disabled…) przechodzą dalej.

PropTypDomyślnieOpis
id string – Wymagane. Łączy etykietę z listą.
label string – Wymagane. Obok listy (inline) albo nad nią (field).
layout "inline" | "field" "inline" Inline: mała lista w pasku listy. Field: pole formularza wyglądające jak pole tekstowe.
variant "plain" | "outline" "plain" Tylko inline. Plain bez ramki (sortowanie), outline z ramką (liczba na stronie).
labelFromMd boolean false Tylko inline. Etykieta widoczna od 768 px; na telefonie zostaje dla czytników.
hint string – Tylko field. Tekst pod listą, powiązany przez aria-describedby.
error string | null – Tylko field. Komunikat pod listą; ustawia aria-invalid, ogłaszany jako alert.
chevron node – Ikona strzałki od aplikacji. Bez niej zostaje natywna strzałka przeglądarki.
children elementy option – Zwykłe natywne opcje.

Dostępność

  • Natywny select: klawiatura, czytniki i systemowy wybór na telefonie działają bez dodatkowego kodu.
  • Cel dotyku co najmniej 44 px w obu układach; strzałka nie przechwytuje wskaźnika, więc całą pigułkę da się kliknąć.
  • Field: podpowiedź i błąd są powiązane przez aria-describedby; błąd ustawia aria-invalid i jest ogłaszany jako alert.
  • Inline z labelFromMd: etykieta jest wizualnie ukryta na telefonie, ale zostaje dla czytników.
  • Kontrast: wartość 19,3:1 na tle pola, podpowiedź 6,9:1, etykieta inline 6,9:1 i ramka outline 13,3:1 na tle strony; błąd 4,8:1 na białej karcie (4,4:1 na liliowym tle, więc formularze na kartach).

Dobre praktyki

Kategoria
TakUżywaj SelectField do każdego wyboru z listy. To celowo jedyna lista rozwijana w systemie.
NieNie buduj własnej listy z divów do wyboru w formularzu: traci klawiaturę, czytnik i systemowy wybór na telefonie.
Kiddosy Design System