Objaśnienie KS 4.1.3:Komunikaty o stanie (Poziom AA)
W skrócie
- Cel
- Informowanie użytkowników o ważnych zmianach w treści
- Co zrobić
- Umożliwiaj technologii wspomagającej powiadamianie użytkowników o zmianach stanu, które nie wymagają fokusu.
- Dlaczego to jest ważne
- Osoby, które nie widzą powiadomień, muszą być o nich informowane.
Intencja
Intencją tego kryterium sukcesu jest informowanie użytkowników o ważnych zmianach w treści, które nie są w centrum uwagi, i zrobienie tego w sposób, który nie przerywa niepotrzebnie ich pracy.
Beneficjentami są niewidomi i słabowidzący użytkownicy technologii wspomagających z funkcją czytnika ekranu. Dodatkową korzyścią jest to, że technologie wspomagające dla użytkowników z zaburzeniami poznawczymi mogą osiągnąć alternatywny sposób wskazywania (lub nawet opóźniania lub tłumienia) komunikatów o stanie, zgodnie z preferencjami użytkownika.
Zakres tego kryterium sukcesu jest specyficzny dla zmian w treści, które obejmują komunikaty o stanie. Komunikat o stanie jest pojęciem zdefiniowanym w WCAG. Istnieją dwa główne kryteria, które określają, czy coś spełnia definicję komunikatu o stanie:
- Komunikat
dostarcza użytkownikowi informacji o powodzeniu lub wynikach działania, o stanie oczekiwania aplikacji, o postępie procesu lub o istnieniu błędów
; - wiadomość nie jest dostarczana poprzez zmianę kontekstu.
Do stron można dodawać informacje, które nie spełniają definicji komunikatu o stanie. Na przykład lista wyników wyszukiwania nie jest uważana za aktualizację stanu, a zatem nie jest objęta tym kryterium sukcesu. Jednak krótkie komunikaty tekstowe wyświetlane na temat zakończenia lub statusu wyszukiwania, takie jak „Wyszukiwanie...”, „Zwrócono 18 wyników” lub „Nie zwrócono żadnych wyników” byłyby aktualizacjami stanu, gdyby nie otrzymywały fokusu. Przykłady komunikatów o stanie podano poniżej w sekcji zatytułowanej Przykłady komunikatów o stanie.
To kryterium sukcesu odnosi się w szczególności do scenariuszy, w których do strony jest dodawana nowa treść bez zmiany kontekstu użytkownika. Zmiany kontekstu z natury przerywają użytkownikowi, skupiając jego uwagę. Są one już wyświetlane przez technologie wspomagające, a więc już osiągnęły cel, jakim jest ostrzeganie użytkownika o nowych treściach. W związku z tym komunikaty, które wiążą się ze zmianami kontekstu, nie muszą być brane pod uwagę i nie wchodzą w zakres tego kryterium sukcesu. Przykłady scenariuszy, które dodają nową treść poprzez zmianę kontekstu, podano poniżej w sekcji zatytułowanej Przykłady zmian, które nie są komunikatami o stanie.
Korzyści
- Gdy odpowiednie role lub właściwości są przypisane do komunikatów o stanie, nowa treść jest wypowiadana przez czytniki ekranu w taki sposób, aby pomóc użytkownikom niewidomym i słabowidzącym. Większość widzących użytkowników może obserwować tekst dodany peryferyjnie do rzutni. Taka treść dostarcza dodatkowych informacji bez wpływu na aktualny punkt przeglądania użytkownika. Zdolność technologii wspomagającej do ogłaszania takich nowych ważnych treści tekstowych pozwala większej liczbie użytkowników korzystać ze świadomości informacji w równoważny sposób.
- Przypisanie odpowiednich ról lub właściwości do komunikatów o stanie zapewnia możliwe przyszłe zastosowania i możliwości personalizacji, takie jak potencjał do wykorzystania przez technologie wspomagające stworzone dla użytkowników z niektórymi niepełnosprawnościami poznawczymi. Tam, gdzie autorzy stron decydują się na zaprojektowanie dodatków do ekranu, które nie zmieniają kontekstu użytkownika (tj. przejmują fokus), informacje są prawdopodobnie mniej ważne niż te prezentowane za pomocą modalnego okna dialogowego, które musi zostać potwierdzone przez użytkownika. W związku z tym, w zależności od preferencji użytkownika, technologia wspomagająca może zdecydować się na opóźnienie, stłumienie lub przekształcenie takich komunikatów, aby użytkownik nie był niepotrzebnie przerywany; lub odwrotnie, technologia wspomagająca może wyróżnić takie komunikaty, gdy użytkownik uzna to za optymalne.
Przykłady
Przykłady komunikatów o stanie
- Po naciśnięciu przez użytkownika przycisku Szukaj, treść strony jest aktualizowana w celu uwzględnienia wyników wyszukiwania, które są wyświetlane w sekcji poniżej przycisku wyszukiwania. Zmiana treści obejmuje również komunikat „Zwrócono 5 wyników" w górnej części tej nowej treści. Tekst ten ma odpowiednią rolę dla komunikatu o stanie. Czytnik ekranu informuje: „Zwrócono pięć wyników".
- Po naciśnięciu przez użytkownika przycisku Dodaj do koszyka sekcja treści w pobliżu ikony koszyka dodaje tekst „5 pozycji". Czytnik ekranu informuje „Pięć pozycji" lub „Koszyk, pięć pozycji".
- Gdy użytkownik wprowadzi nieprawidłowy tekst w polu o nazwie Kod pocztowy, nad polem pojawi się komunikat „Nieprawidłowy wpis". Czytnik ekranu wyświetli komunikat „Nieprawidłowy wpis" lub „Kod pocztowy, nieprawidłowy wpis”.
- Gdy użytkownik aktywuje proces, na ekranie pojawia się ikona symbolizująca „zajęty”. Czytnik ekranu ogłasza „aplikacja zajęta".
- Aplikacja wyświetla pasek postępu, aby wskazać stan aktualizacji. Elementowi przypisywana jest odpowiednia rola. Czytnik ekranu zapewnia przerywane powiadomienia o postępach.
- Po przesłaniu formularza przez użytkownika do istniejącego formularza dodawany jest tekst o treści „Twój formularz został pomyślnie przesłany”. Czytnik ekranu wyświetla ten sam komunikat.
- Po nieudanym wypełnieniu formularza przez użytkownika, ponieważ niektóre dane mają nieprawidłowy format, do istniejącego formularza dodawany jest tekst o treści „5 błędów na stronie”. Czytnik ekranu wyświetla ten sam komunikat.
- Gdy użytkownik umieści zdjęcie w albumie w internetowej aplikacji fotograficznej, na pasku powiadomień wyświetlany jest komunikat „Zapisane w albumie 'Ślub'”, który jest również odczytywany przez czytnik ekranu.
Przykłady komunikatów o stanie, które nie dodają nowego tekstu do ekranu
To kryterium sukcesu zostało celowo sformułowane tak, aby miało zastosowanie przede wszystkim wtedy, gdy widoczny tekst jest dodawany do strony (lub staje się na niej widoczny). Powodem tego jest to, że tam, gdzie wyświetlany jest nowy tekst, ma on być widoczny dla wszystkich użytkowników. Zapewniając programowe środki zapewniające wyświetlanie tekstu również za pomocą technologii wspomagających, kryterium sukcesu zapewnia te same informacje użytkownikom, którzy nie widzą lub nie mogą ich zobaczyć. Jednak nie wszystkie zmiany treści obejmują dodanie tekstu do ekranu. Poniżej przedstawiono wszystkie kwestie związane z tym kryterium sukcesu:
- Niewyświetlany tekst specyficzny dla użytkowników technologii wspomagającej;
- Modyfikacja tekstu statusu;
- Usunięcie tekstu statusu; oraz
- Nietekstowa treść statusu, taka jak obrazy.
Niewyświetlany tekst specyficzny dla użytkowników technologii wspomagającej
Mogą wystąpić przypadki, w których dodanie widocznego tekstu samo w sobie nie przekazuje wystarczających informacji użytkownikowi technologii wspomagającej. Na przykład bliskość nowej treści do innych informacji na ekranie może zapewnić wizualny kontekst, którego brakuje w samym tekście.
W takich przypadkach twórcy mogą chcieć wyznaczyć dodatkową treść do włączenia do komunikatu o stanie, w tym niewyświetlany tekst, który może być dostarczony do technologii wspomagających w celu dodania kontekstu. Istotne kwestie dotyczące właściwego stosowania takich technik zostały omówione w sekcji Techniki wystarczające.
Modyfikacja tekstu statusu
Jeśli komunikat o stanie utrzymuje się na stronie, modyfikacje tego tekstu są zwykle
równoważne z nowym komunikatem o stanie. Przykładem może być koszyk, który aktualizuje
tekst z „0 pozycji” do „3 pozycji”. Typowe metody zapisywania takich zmian w treści
strony powodują, że cały zmodyfikowany ciąg tekstowy jest uważany za nową zmianę,
a zatem jest odczytywany przez technologie wspomagające. Jeśli jednak tylko liczba
w tym ciągu została zakodowana jako zaktualizowany fragment treści, wynikowym doświadczeniem
dla użytkowników czytników ekranu może być tylko usłyszenie „trzech”, co może nie
być wystarczającą informacją, aby zapewnić kontekst dla użytkownika. W takich sytuacjach
oznaczenie całego ciągu „3 pozycje” jako tekstu statusu byłoby zwykle lepszym rozwiązaniem.
Zobacz Techniki wystarczające, aby uzyskać więcej informacji, w tym o użyciu aria-atomic
. W takim przypadku uprzejmością byłoby również dodanie do wiadomości tekstu poza
ekranem, takiego jak „w koszyku”.
Usunięcie tekstu statusu
W sytuacjach, w których tekst statusu jest całkowicie usuwany, jego brak może sam w sobie przekazywać informacje o statusie. Najbardziej oczywistym tego przykładem jest wyświetlenie komunikatu, że system jest „zajęty” lub „oczekuje”. Dla widzącego użytkownika, gdy ten tekst znika, jest to zwykle wskazanie, że stan jest teraz dostępny. Jednak niewidomi użytkownicy nie będą świadomi tej zmiany, chyba że koniec stanu oczekiwania spowoduje zmianę kontekstu dla użytkownika. Tam, gdzie aktualizacja widocznego komunikatu (np. do „system dostępny”) nie jest możliwa, użycie niewidocznego komunikatu o stanie, takiego jak „system dostępny”, zapewnia dostarczenie równoważnych informacji o stanie. Więcej informacji na ten temat można znaleźć w sekcji Techniki wystarczające.
Nietekstowa treść statusu
Zmiany treści nie ograniczają się do zmian tekstu. Tam, gdzie ikona lub dźwięk wskazuje komunikat o stanie, informacja ta zostanie wyświetlona przez czytnik ekranu poprzez połączenie dwóch rzeczy: 1) istniejące wymagania WCAG regulujące alternatywy tekstowe (w KS 1.1.1 Treści nietekstowe) oraz 2) wymóg tego kryterium sukcesu, aby zapewnić odpowiednią rolę.
Przykłady zmian, które nie są komunikatami o stanie
Poniższe przykłady wskazują sytuacje, w których dodatkowe działania twórcy nie są konieczne. Wszystkie przypadki są wyłączone z tego kryterium sukcesu, ponieważ nie spełniają definicji „komunikatów o stanie”.
-
Twórca wyświetla komunikat o błędzie w oknie dialogowym.
Ponieważ okno dialogowe przyjmuje fokus, jest zdefiniowane jako zmiana kontekstu i nie spełnia definicji komunikatu o stanie. W wyniku skupienia uwagi nowa zmiana kontekstu jest już ogłaszana przez czytnik ekranu, a zatem nie musi być uwzględniana w zakresie tego kryterium sukcesu.
-
Treść jest wyświetlana lub ukrywana, gdy użytkownik wchodzi w interakcję z komponentem interfejsu użytkownika, na przykład rozwijając komponenty, takie jak menu, wybór, akordeon lub drzewo, lub wybierając inny element zakładki na liście zakładek.
Żadna z wynikających z tego zmian treści nie spełnia definicji komunikatów o stanie. Ponadto wszystkie komponenty spełniające definicję komponentu interfejsu użytkownika mają już wymagania określone w punkcie 4.1.2 Nazwa, rola, wartość, w tym potrzebę udostępniania powiadomień o zmianach wartości i stanów programom użytkownika, w tym technologiom wspomagającym. W rezultacie zmiany stanu, takie jak „rozwinięcie” lub „zwinięcie”, byłyby ogłaszane przez czytnik ekranu, a tym samym użytkownik byłby powiadamiany o „dodaniu” lub „usunięciu” treści. W związku z tym takie treści nie muszą być uwzględniane w tym kryterium sukcesu.
-
Po tym, jak użytkownik wypełni ankietę wskazującą, że jest niezadowolony, do strony dodawana jest seria nowych pytań dotyczących satysfakcji klienta.
Nowe wejścia nie spełniają definicji komunikatu o stanie. Nie „dostarczają użytkownikowi informacji o powodzeniu lub wynikach działania, o stanie oczekiwania aplikacji, o postępie procesu lub o istnieniu błędów”, a zatem nie są wymagane do spełnienia tego kryterium sukcesu.
Uwaga
Utworzenie komunikatu o statusie dodawanych pytań lub powiadomienie użytkownika z wyprzedzeniem, że zmiany treści mogą nastąpić na podstawie odpowiedzi użytkownika, to najlepsze praktyki, ale nie są one wymagane w tym scenariuszu.
Inne zastosowania regionów lub alertów na żywo
Regiony na żywo i alerty mogą być z powodzeniem stosowane w wielu sytuacjach, w których następuje zmiana treści, która nie stanowi komunikatu o stanie, zgodnie z definicją w tym kryterium sukcesu. Istnieje jednak ryzyko, że aplikacja stanie się zbyt „gadatliwa” dla użytkownika czytnika ekranu. Aby zapewnić odpowiedni poziom informacji zwrotnej, należy przeprowadzić testy z użytkownikami. Techniki pomocnicze dostarczają przykładów, w jaki sposób alerty lub regiony na żywo mogą poprawić komfort użytkowania.
Uwaga
Celem tego kryterium sukcesu nie jest zmuszanie twórców do generowania nowych komunikatów o stanie. Jego celem jest zapewnienie, że gdy komunikaty o stanie są wyświetlane, są one programowo identyfikowane w sposób umożliwiający technologiom wspomagającym prezentowanie ich użytkownikowi.
Techniki
Każdy numerowany element w tej sekcji reprezentuje technikę lub kombinację technik, które Grupa Robocza WCAG uważa za wystarczające do spełnienia tego kryterium sukcesu. Nie jest jednak konieczne stosowanie tych konkretnych technik. Aby uzyskać informacje na temat stosowania innych technik, zobacz Objaśnienie technik dla kryteriów sukcesu WCAG, szczególnie w sekcji „Inne techniki”.
Techniki wystarczające
Wybierz poniżej sytuację, która pasuje do Twojej treści. Każda sytuacja obejmuje techniki lub kombinacje technik, które są znane i udokumentowane jako wystarczające w danej sytuacji.
Wybierz poniżej sytuację, która pasuje do Twojej treści. Każda sytuacja obejmuje techniki lub kombinacje technik, które są znane i udokumentowane jako wystarczające w danej sytuacji.
Sytuacja A: Jeżeli komunikat o stanie informuje o powodzeniu lub wynikach działania, lub o stanie aplikacji:
- ARIA22: Użycie atrybutu role=status do prezentacji statusu komunikatu błędu w połączeniu z jednym z poniższych:
Sytuacja B: Jeżeli komunikat o stanie przekazuje sugestię lub ostrzeżenie o istnieniu błędu:
-
ARIA19: Użycie atrybutu role=alert lub role=live do identyfikacji błędów w połączeniu z jednym z poniższych:
- G83: Zapewnienie opisów tekstowych wskazujących wymagane pola, które nie zostały wypełnione.
- G84: Zapewnienie komunikatu tekstowego, gdy użytkownik podaje informacje, które nie znajdują się na liście dozwolonych wartości
- G85: Zapewnienie komunikatu tekstowego, gdy dane wprowadzane przez użytkownika nie mieszczą się w wymaganym formacie lub zakresie wartości.
- G177: Zapewnienie tekstu sugerującego korektę
- G194: Zapewnienie sprawdzania pisowni i sugestii dotyczących poprawnej pisowni
Uwaga
Nie wszystkie przykłady w poprzednich technikach ogólnych wykorzystują komunikaty o stanie do przekazywania ostrzeżeń lub błędów użytkownikom. Rola "alert" jest konieczna tylko wtedy, gdy zmiana kontekstu nie ma miejsca.
Sytuacja C: Jeżeli komunikat o stanie przekazuje informacje o postępie procesu:
- ARIA23: ARIA23: Użycie atrybutu role=log do identyfikowania sekwencyjnych aktualizacji informacji
-
Użycie atrybutu
role="progressbar"
(łącze w przyszłości) - ARIA22: Użycie atrybutu role=status do prezentacji statusu komunikatu błędu w połączeniu z G193: Udzielanie pomocy na stronie internetowej przez asystenta
Techniki pomocnicze
Chociaż nie jest to wymagane do uzyskania zgodności, należy rozważyć następujące dodatkowe techniki, aby zwiększyć dostępność treści. Nie wszystkie techniki mogą być stosowane lub byłyby skuteczne we wszystkich sytuacjach.
- Użycie regionów aria-live z klientami czatu (łącze w przyszłości)
- Użycie regionów aria-live do obsługi 1.4.13 Treść spod kursora lub fokusu (łącze w przyszłości)
-
Użycie
role="marquee"
(łącze w przyszłości) -
Użycie
role="timer"
(łącze w przyszłości) - W stosownych przypadkach przeniesienie uwagi na nową treść za pomocą ARIA18: Użycie atrybutu aria-alertdialog do identyfikacji błędów
- Wspieranie personalizacji za pomocą SCR14: Użycie skryptów do opcjonalnych nieistotnych alertów
Błędy
Poniżej wymieniono typowe błędy, które Grupa Robocza WCAG uważa za niespełnienie tego kryterium sukcesu.
- F103: Niespełnienie kryterium sukcesu 4.1.3 z powodu dostarczania komunikatów o stanie, których nie można określić programowo za pomocą roli lub właściwości.
-
Użycie atrybutu
role="alert"
lubaria-live="assertive"
w przypadku treści, która nie jest ważna i ma znaczenie chwilowe. (łącze w przyszłości)
Kluczowe pojęcia
zmiana treści, która nie jest zmianą kontekstu i która dostarcza użytkownikowi informacji o powodzeniu lub wynikach działania, o stanie oczekiwania aplikacji, o postępie procesu lub o istnieniu błędów.
obiekt, w którym program użytkownika prezentuje treść (ang. viewport)
Uwaga
Program użytkownika prezentuje treść poprzez jeden lub więcej obszarów roboczych (rzutni). Obszarami roboczymi są okna, ramki, głośniki, wirtualne okulary. Obszar roboczy może zawierać w sobie inne rzutnie (na przykład osadzone ramki). Komponenty interfejsu użytkownika generowane przez program użytkownika, jak podpowiedzi, menu i powiadomienia, nie są obszarami roboczymi.
Uwaga
Definicja jest oparta o słowniczek z User Agent Accessibility Guidelines 1.0 Glossary [[UAAG10]].
takie przedstawienie danych przez oprogramowanie dostawcy, które pozwala różnym programom użytkownika, w tym technologiom wspomagającym, odczytać i przedstawić daną informację w sposób, jakiego potrzebuje użytkownik
renderowanie treści w sposób, który jest postrzegalny dla użytkownika
oprogramowanie umożliwiające pobieranie i przeglądanie treści internetowych
tekst lub liczba, poprzez którą oprogramowanie może określić funkcję komponentu w treści internetowej
nieosadzony zasób uzyskany z pojedynczego identyfikatora URI za pomocą protokołu HTTP wraz z wszelkimi innymi zasobami użytymi do renderowania strony w programie użytkownika lub takimi, które potencjalnie mogą być użyte do renderowania
Uwaga
Mimo że każdy z „pozostałych zasobów” mógłby być renderowany razem z podstawowym zasobem, to niekoniecznie muszą być renderowane równocześnie.
Uwaga
W celu zgodności z niniejszymi wytycznymi, zasób nie może być „osadzony” w innym zasobie wchodzącym w zakres oceny zgodności, aby można go było uznać za stronę internetową.
- Sposób, w jaki poszczególne części strony internetowej są ułożone i połączone ze sobą; oraz
- Sposób ułożenia zbioru stron internetowych.
sprzęt i oprogramowanie, które działa jako program użytkownika lub współdziała z popularnymi programami użytkownika, aby zapewnić osobom z niepełnosprawnościami niezbędne funkcjonalności, wykraczające poza możliwości oferowane przez popularne programy użytkownika;
Uwaga
Funkcjonalności zapewniane przez technologie wspomagające obejmują alternatywny sposób prezentacji treści (np. mowa syntetyczna lub powiększenie obrazu), alternatywne sposoby wprowadzania danych (np. za pomocą głosu), dodatkowe mechanizmy nawigacji i orientacji oraz przekształcania treści (np. w celu uczynienia tabel bardziej dostępnymi).
Uwaga
Technologie wspomagające często przekazują informacje i dane do standardowych aplikacji za pośrednictwem specjalnych API.
Uwaga
Rozróżnienie pomiędzy popularnymi programami użytkownika a technologiami wspomagającymi nie jest oczywiste. Wiele popularnych programów użytkownika posiada różne rozwiązania wspomagające osoby z niepełnosprawnościami. Główna różnica pomiędzy nimi polega na tym, że popularne programy użytkownika są ukierunkowane na szerokie i zróżnicowane grupy odbiorców, zarówno z niepełnosprawnościami, jak i bez niepełnosprawności. Natomiast technologie wspomagające skierowane są do wąskiej grupy odbiorców z określonymi rodzajami niepełnosprawności. Wsparcie świadczone za pomocą technologii wspomagających jest zatem bardziej wyspecjalizowane i nakierowane na odbiorcę z konkretnymi potrzebami. Popularne programy użytkownika mogą dostarczać technologiom wspomagającym niezbędne funkcjonalności, takie jak pobieranie treści internetowych z obiektów programowych lub odwzorowanie kodu do postaci przyjaźniejszej dla tych technologii.
- lupy ekranowe i inne programy wspomagające czytanie wzrokowe, używane przez osoby z niepełnosprawnościami wzroku, percepcyjnymi i innymi związanymi z korzystaniem z druku, pozwalające na zmianę czcionki, jej rozmiaru, odstępów, koloru oraz na synchronizację głosu z tekstem itp., w celu poprawienia czytelności wyświetlanego tekstu i obrazów;
- czytniki ekranu, używane przez osoby niewidome do odczytu treści tekstowych za pomocą mowy syntetycznej lub brajla;
- programy przetwarzające tekst na mowę syntetyczną, używane przez niektóre osoby z niepełnosprawnościami poznawczymi, językowymi i trudnościami w nauce w celu przekształcenia tekstu w mowę syntetyczną;
- programy rozpoznające mowę, używane przez niektóre osoby z niepełnosprawnościami fizycznymi;
- specjalne klawiatury, używane przez osoby z niektórymi niepełnosprawnościami fizycznymi, które symulują standardową klawiaturę (w tym klawiatury specjalne wyposażone we wskaźniki nagłowne, przełączniki, urządzenia „wciągnij/dmuchnij” (sip-and-puff) i inne specjalne urządzenia do wprowadzania danych);
- specjalne wskaźniki, używane przez osoby z niektórymi rodzajami niepełnosprawności fizycznych w celu symulowania kursora myszy i naciskania przycisków.
informacje i wrażenia sensoryczne, które mają być przekazywane użytkownikowi za pośrednictwem programu użytkownika, w tym kod lub znaczniki definiujące strukturę, prezentację i interakcje
duże zmiany, dokonywane bez świadomości użytkowników, które mogą ich dezorientować, gdy nie są w stanie przeglądać całej strony jednocześnie
Zmiany kontekstu obejmują zmiany:
- w programie użytkownika,
- obszaru roboczego,
- fokusu,
- treści, która zmienia sens strony internetowej.
Uwaga
Zmiana treści nie zawsze oznacza zmianę kontekstu. Zmiany treści, na przykład rozwinięcie drzewa, dynamicznego menu lub zakładki niekoniecznie zmieniają kontekst, dopóki nie zmienią jednego z powyższych (np. fokusu).