Generator dostępnego spinera CSS

Dalej

Kręcący się pierścień nic nie znaczy dla osoby korzystającej z czytnika ekranu, a ciągły ruch może przeszkadzać osobom wrażliwym na animacje. Wygeneruj tutaj spinner, a następnie dodaj poniżej znaczniki i regułę ograniczenia ruchu.

Jak zrobić dostępny spinner

  1. 1

    Wygeneruj pierścień

    Ustaw Rozmiar (px), Grubość, Kolor i Prędkość (s) w narzędziu, a następnie skopiuj CSS.

  2. 2

    Sprawdź kontrast kolorów

    Wybierz kolor łuku, który wyraźnie odcina się od jasnoszarego toru i od tła strony.

  3. 3

    Dodaj znaczniki statusu

    Nadaj elementowi spinera rolę i etykietę, tak jak pokazano na tej stronie.

  4. 4

    Dodaj regułę ograniczenia ruchu

    Wklej zapytanie o media poniżej wygenerowanego CSS.

Co robi wygenerowany CSS, a czego nie obejmuje

Narzędzie daje część wizualną: obramowany okrąg i obrót. Sam wizualny wskaźnik nie ma znaczenia dla technologii asystujących, ponieważ element jest pusty. Dostępność zapewniają znaczniki i jedna dodatkowa reguła CSS, którą dodajesz wokół nich.

Znaczniki informujące o stanie

<div class="loader" role="status" aria-label="Ładowanie wyników"></div>

role="status" oznacza element jako region na żywo, dzięki czemu wiele czytników ekranu ogłasza jego etykietę po pojawieniu się. aria-label powinna opisywać, co się ładuje, na przykład „Ładowanie wyników” lub „Zapisywanie”, a nie ogólnikowe słowo. Usuń element po zakończeniu pracy i pokaż nową treść.

Możesz też umieścić widoczny tekst obok pierścienia. Widoczny tekst pomaga wszystkim, także osobom, które słabo widzą ruch.

Uwzględnij ograniczenie ruchu

Niektórzy odwiedzający włączają ustawienie systemowe, które prosi strony o ograniczenie animacji. Uszanuj je, dodając zapytanie o media po wygenerowanym CSS:

@media (prefers-reduced-motion: reduce) {
  .loader {
    animation-duration: 3s;
  }
}

Ta reguła spowalnia obrót zamiast go usuwać, więc wskaźnik nadal wygląda na żywy, ale bez szybkiego ruchu. Jeśli wolisz sygnał statyczny, użyj animation: none; i pokaż obok pierścienia tekst „Ładowanie”.

Lista kontrolna kontrastu i rozmiaru

Sprawdzenie Do czego dążyć
Łuk na tle strony Wyraźnie widoczny, najlepiej współczynnik kontrastu 3:1 lub więcej
Łuk na szarym torze Wyraźnie odrębny, aby można było śledzić łuk wzrokiem
Rozmiar Co najmniej 24 px dla elementów, które odwiedzający musi zauważyć
Prędkość Od 0,8 do 1,5 sekundy na jeden obrót

Ograniczenia

  • Generator sam wybiera kolor toru (#eee). Zmień go w wklejonym CSS, jeśli tło strony jest podobne.
  • Bardzo duża wartość prędkości sprawia, że pierścień migocze. Unikaj wartości poniżej około 0,5 sekundy.
  • Nie polegaj wyłącznie na spinerze przy długim oczekiwaniu. Napisz tekstem, co się dzieje.

Szybki test

Włącz w systemie opcję ograniczenia ruchu i przeładuj stronę: pierścień powinien obracać się wolniej. Następnie przejdź po stronie klawiszem Tab, aby sprawdzić, czy spinner nigdy nie zabiera fokusu z elementu, z którego korzystał odwiedzający. Na koniec włącz czytnik ekranu i wywołaj raz stan ładowania, aby sprawdzić, czy etykieta jest ogłaszana po pojawieniu się elementu oraz czy nowa treść jest dostępna później.

Najczęściej zadawane pytania

Tylko wtedy, gdy dodasz znaczniki. Pusty element jest niemy, więc nadaj mu role=“status” i opisową aria-label.

To zapytanie o media w CSS, które działa, gdy odwiedzający poprosił urządzenie o ograniczenie animacji. Możesz z niego skorzystać, aby spowolnić lub zatrzymać spinner.

Obie opcje są dopuszczalne. Spowolnienie zachowuje wrażenie aktywności, a zatrzymanie jest najbezpieczniejszym wyborem, jeśli dodatkowo pokażesz komunikat tekstowy, np. „Ładowanie”.

Opisz czynność prostymi słowami, na przykład „Ładowanie wyników” lub „Zapisywanie zmian”. Unikaj niejasnych etykiet typu „spinner”.

Większy rozmiar i mocny kontrast ułatwiają zobaczenie spinera, ale nie zastępują etykiety tekstowej, którą odczytuje technologia asystująca.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach

Poradniki i zastosowania