Filip Rut Kiddosy Design System English

DokumentacjaKomponenty

Zakładki kategorii

Każda kategoria ma swój kolor w każdej kontrolce.

Warianty

Każda kategoria ma swój kolor: hover i wybór malują kolorem kategorii, nigdy akcentem systemu. Wyjątkiem są „Wszystkie zajęcia”: krążek chartreuse na tle deep-blue-50.

Wszystkie zajęcia · wybrana
Edukacja · wybrana
Zajęcia sportowe · wybrana
Zajęcia artystyczne · wybrana
Poniżej 1280 px: same ikony, etykietę zachowuje wybrana zakładka (pozostałe zostają w drzewie dostępności).
Wszystkie zajęcia 6.8:1 Wydarzenia 5.0:1 Miejsca 7.1:1 Edukacja 6.7:1 Sport 7.4:1 Gastronomia 7.0:1 Sztuka 5.5:1 Zdrowie 9.5:1
Kolory kategorii: pary tło / tekst z kontrastem.

Stany

Wymuszone poniżej dla jednej kategorii (Sport). Pasek wyżej reaguje na prawdziwy wskaźnik i klawiaturę; wybór wprowadza krążek w 300 ms.

Spoczynek · hover (tint kategorii 8 %) · fokus (pierścień 3 px w środku) · wybrana · wybrana + hover (etykieta w głębokim niebieskim)

API

Propsy CategoryTabBar.

PropTypDomyślnieOpis
label string – Nazwa dostępna obszaru nawigacji (aria-label).
items lista zakładek – Każda zakładka: href, label, category, circleSrc (krążek 24 px, widoczny po wyborze), glyphSrc (glif 20 px, widoczny w spoczynku), current.
items[].category "all" | "education" | "sport" | "art" | "events" | "places" | "gastronomy" | "health" – Ustawia data-cat na zakładce: hover i wybór biorą kolor tej kategorii.
items[].current boolean false Zakładka bieżącego adresu; dostaje aria-current="page".
link komponent linku – Link routera wstrzykiwany przez aplikację; każda zakładka to prawdziwy link.
lead ReactNode – Element przed zakładkami, np. przycisk „Więcej filtrów”.

Dostępność

  • Kategoria jest częścią adresu, więc każda zakładka to link z aria-current="page" w nazwanym nav, a nie tablist: Wstecz wraca do poprzedniej kategorii, zakładkę da się otworzyć w nowej karcie, wyszukiwarka widzi adresy.
  • Etykiety ukryte poniżej 1280 px są zwinięte tylko wizualnie; czytnik dalej czyta nazwę każdej zakładki.
  • Cel dotyku: 44 px wysokości poniżej 1024 px; pierścień fokusu 3 px w tokenie ring, rysowany wewnątrz zakładki.
  • Etykiety zostają w kolorze foreground na każdym tincie (17,7–19,5:1); wybrana zakładka na hover robi się głęboko niebieska (7,4–8,1:1).
  • Tekst kategorii na tle kategorii: od 5,0:1 (wydarzenia) do 9,5:1 (zdrowie), wszystkie powyżej AA dla tekstu.
  • Ikony są dekoracyjne (aria-hidden); kategorię nazywa etykieta.

Dobre praktyki

TakPokazuj hover i wybór ramką albo tintem kategorii (8 / 12 %). Ta reguła obowiązuje każdą kontrolkę wyboru kategorii, od zakładki po chip.
NieNie zaznaczaj pełnym wypełnieniem ani akcentem systemu. Wypełniona zakładka zakrywa krążek kategorii i robi z lekkiej kontrolki drugą plakietkę.
Kiddosy Design System