Przejdź do treści
SilktidePomoc

Komunikaty o stanie

Silktide prosi o sprawdzenie, czy komunikaty o stanie — toasty, snackbary, bannery powiadomień oraz informacje zwrotne o powodzeniu i błędach — są skonfigurowane tak, aby ogłaszały je, gdy się pojawią.

To jest : automatyzacja nie potrafi wiarygodnie określić, które elementy są obszarami komunikatów o stanie (nazwy klas, języki i zminimalizowany kod różnią się bez końca), dlatego Silktide wyświetla prośbę na każdej stronie, a osoba ją potwierdza.

<!-- Bez ogłoszenia: czytniki ekranu nie ogłoszą tego, gdy się pojawi -->
<div class="toast">Produkt dodano do koszyka</div>

<!-- Ogłaszane: role="status" sprawia, że jest to region aktywny -->
<div class="toast" role="status">Produkt dodano do koszyka</div>

Dlaczego to jest ważne

Komunikaty o stanie informują o wyniku czynności wykonanej właśnie przez użytkownika: „Formularz zapisano”, „Produkt dodano do koszyka”, „Znaleziono 3 wyniki”, „Coś poszło nie tak”. Użytkownicy widzący zauważają ich pojawienie się; czytnik ekranu odczytuje to, co aktualnie ma fokus, a komunikat pojawiający się w innym miejscu strony nie jest w żaden sposób sygnalizowany. Użytkownik wysyła formularz i słyszy ciszę — nie może stwierdzić, czy operacja się powiodła, nie powiodła czy nadal trwa ładowanie.

Oznaczenie komunikatu jako informuje , aby ogłosiły go w chwili, gdy się pojawi, bez przenoszenia fokusu użytkownika.

Co sprawdzić

  1. Znajdź na stronie każdy obszar komunikatów o stanie (toasty, snackbary, komunikaty flash, wbudowane bannery powodzenia/błędu, aktualizacje liczby wyników).
  2. Potwierdź, że każdy z nich — lub stały kontener, do którego zapisuje treść — ma role="status", role="alert", role="log" lub aria-live="polite" / aria-live="assertive".
  3. Preferuj kontener regionu aktywnego, który istnieje w momencie załadowania strony; w czasie działania wstawiaj tylko tekst komunikatu. Regiony aktywne utworzone w tej samej chwili co ich komunikat często nie są ogłaszane.

Jeśli strona nie zawiera komunikatów o stanie albo wszystkie są poprawnie ogłaszane, wynik.

Jak to naprawić

  1. Dodaj rolę regionu aktywnego do kontenera komunikatu:
    • role="status" dla rutynowych aktualizacji, takich jak potwierdzenia i liczba wyników.
    • role="alert" dla ważnych, wymagających szybkiej reakcji komunikatów, takich jak błędy.
  2. Możesz też użyć bezpośrednio atrybutu : aria-live="polite" (czeka na przerwę w mowie) lub aria-live="assertive" (natychmiast przerywa).

Jak Silktide to testuje

Silktide nie może automatycznie wiarygodnie wykrywać obszarów komunikatów o stanie — zgadywanie na podstawie nazw klas tworzy fałszywe poczucie pewności i pomija generowany lub nieanglojęzyczny kod — dlatego ta kontrola wyświetla na każdej stronie jedną prośbę o przegląd, opisującą, co należy zweryfikować.

Dowiedz się więcej

Ostatnio zaktualizowano

Czy ta strona była pomocna?