1. Jeden akcentLink do sekcji 1. Jeden akcent
Bursztyn jest jedynym akcentem. Oznacza główną akcję widoku, bieżący element i obwódkę fokusa, i nic więcej. Kolory statusu służą do statusu: zielony mówi „zrobione”, czerwony „nie udało się”. Gdy wszystko jest kolorowe, nic się nie wyróżnia.
2. Kolor nigdy samLink do sekcji 2. Kolor nigdy sam
Około jeden mężczyzna na dwunastu nie odróżnia czerwonego od zielonego, a tryb wysokiego kontrastu systemu Windows zastępuje każdy kolor. Dlatego każdy stan łączy kolor ze słowem, znakiem albo kształtem. Plakietki niosą słowo, alerty niosą słowo tonu dla czytników ekranu i ikonę o własnym kształcie, a bieżąca strona ma pasek, a nie tylko podbarwienie.
3. Dostępność domyślnieLink do sekcji 3. Dostępność domyślnie
Dostępny sposób jest jedynym, jaki daje komponent. Zachowanie pochodzi z React Aria, więc obsługa klawiatury, zarządzanie fokusem i semantyka dla czytników ekranu podążają za wzorcami ARIA. Obwódka fokusa jest zwykłym CSS w domyślnych stylach strony, więc kontrolka, która zapomni o własnej, nadal ją pokazuje. Cele mają co najmniej 24 na 24 piksele, komunikaty, które przychodzą później, są odczytywane, a ruch się zatrzymuje, gdy czytelnik prosi o mniej.
Celem jest WCAG 2.2 AA. Strona Dostępność wymienia, co biblioteka robi dla każdego kryterium i za co nadal odpowiada aplikacja.
4. Brak wbudowanego tekstuLink do sekcji 4. Brak wbudowanego tekstu
Aplikacje mają własne pliki językowe, więc żaden komponent nie zawiera własnego słowa. Każda widoczna etykieta i każda nazwa dostępna, aż po przycisk zamknięcia toastu, jest propem. Brakująca etykieta to błąd typów, a nie po cichu angielska wartość domyślna.
<ToastViewport
toneLabels={{ ok: t('tone.ok'), info: t('tone.info'), warn: t('tone.warn'), danger: t('tone.danger') }}
closeLabel={t('toast.close')}
regionLabel={t('toast.region')}
/>5. Działa z Reactem i bez niegoLink do sekcji 5. Działa z Reactem i bez niego
Strona marketingowa w Astro i aplikacja w Reakcie powinny wyglądać jak jeden produkt. Klasy czystego CSS odpowiadają komponentom React, więc strona bez JavaScriptu dostaje ten sam przycisk, pole, kartę i komunikat.
<Button variant="outline">Cancel</Button><button class="sk-button sk-button--outline">Cancel</button>6. Tokeny w pierwszej kolejnościLink do sekcji 6. Tokeny w pierwszej kolejności
Komponenty używają semantycznych narzędzi, takich jak bg-surface i text-muted, nigdy koloru szesnastkowego, klasy gray-* ani wariantu dark:. Tokeny decydują, jak wygląda powierzchnia w każdym motywie, więc komponent jest poprawny w każdym motywie, nie wiedząc, który jest włączony.
<div className="border-border bg-surface text-fg" /><div className="bg-white text-gray-900 dark:bg-gray-900" />