Objaśnienie KS 4.1.2:Nazwa, rola, wartość (Poziom A)
W skrócie
- Cel
- Osoby korzystające z technologii wspomagających rozumieją wszystkie komponenty
- Co zrobić
- Nadaj komponentom prawidłowe nazwy, role, stany i wartości.
- Dlaczego to jest ważne
- Technologia wspomagająca działa dobrze tylko wtedy, gdy kod jest wykonany prawidłowo.
Intencja
Celem tego kryterium sukcesu jest zapewnienie, że technologie wspomagające (AT) mogą gromadzić informacje, aktywować (lub ustawiać) i aktualizować stan elementów sterujących interfejsu użytkownika w treści.
Gdy używane są standardowe elementy sterujące z dostępnych technologii, proces ten jest prosty. Jeśli elementy interfejsu użytkownika są używane zgodnie ze specyfikacją, warunki tego przepisu zostaną spełnione. (Zobacz przykłady kryterium sukcesu 4.1.2 poniżej)
Jeśli jednak tworzone są niestandardowe elementy sterujące lub elementy interfejsu są zaprogramowane (w kodzie lub skrypcie) tak, aby miały inną rolę lub funkcję niż zwykle, należy podjąć dodatkowe środki w celu zapewnienia, że elementy sterujące dostarczają istotnych informacji technologiom wspomagającym i umożliwiają sterowanie nimi przez technologie wspomagające.
Szczególnie ważnym stanem kontrolki interfejsu użytkownika jest to, czy ma ona fokus. Stan fokusu kontrolki można określić programowo, a powiadomienia o zmianie fokusu są wysyłane do programów użytkownika i technologii wspomagających. Innymi przykładami stanu kontrolki interfejsu użytkownika jest to, czy pole wyboru lub przycisk radiowy został zaznaczony, lub czy zwijany węzeł drzewa lub listy jest rozwinięty lub zwinięty.
Uwaga
Kryterium sukcesu 4.1.2 wymaga programowo definiowalnej nazwy dla wszystkich komponentów interfejsu użytkownika. Nazwy mogą być widoczne lub niewidoczne. Czasami nazwa musi być widoczna, w takim przypadku jest identyfikowana jako etykieta. Więcej informacji można znaleźć w definicji nazwy i etykiety w słowniczku.
Korzyści
- Zapewnienie informacji o roli, stanie i wartości dla wszystkich komponentów interfejsu użytkownika umożliwia zgodność z technologiami wspomagającymi, takimi jak czytniki ekranu, lupy ekranowe i oprogramowanie do rozpoznawania mowy, używane przez osoby z niepełnosprawnościami.
Przykłady
- API dostępności
- Aplet Java korzysta z interfejsu API dostępności zdefiniowanego przez język.
Powiązane zasoby
Zasoby służą wyłącznie celom informacyjnym. Nie należy traktować ich jako zaleceń.
- Dynamic Accessible Web Content Roadmap (Mapa drogowa dynamicznej dostępnej zawartości internetowej)
- Role Taxonomy for Accessible Adaptable Applications (Taksonomia ról dla dostępnych adaptowalnych aplikacji)
- Web Accessibility Initiative - Accessible Rich Internet Applications (ARIA)
- Moduł stanów i właściwości adaptacyjnych
- Microsoft Active Accessibility, wersja 2.0
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.
Sytuacja A: W przypadku korzystania ze standardowego komponentu interfejsu użytkownika w języku znaczników (np. HTML):
- ARIA14: Użycie atrybutu aria-label, aby zapewnić niewidoczną etykietę, gdy nie można użyć widocznej etykiety
- ARIA16: Użycie atrybutu aria-labelledby, aby zapewnić nazwę dla elementów sterujących interfejsem użytkownika
-
G108: Wykorzystanie funkcji znaczników do ujawnienia nazwy i roli, aby bezpośrednio ustawiać właściwości użytkownika i powiadamiać o zmianach za pomocą poniższych technik specyficznych dla technologii:
- H91: Korzystanie z kontrolek formularzy HTML i łączy
- H44: Użycie elementu label do powiązania etykiet tekstowych z kontrolkami formularzy
- H64: Użycie atrybutu title do nazywania elementów frame i iframe
- H65: Użycie atrybutu title do nazywania kontrolek formularzy, gdy nie można użyć elementu label
- H88: Używanie HTML zgodnie ze specyfikacją
Sytuacja B: W przypadku korzystania ze skryptu lub kodu w celu ponownego zastosowania standardowego komponentu interfejsu użytkownika w języku znaczników:
-
Wyeksponowanie nazw i ról, umożliwienie bezpośredniego ustawiania właściwości ustawianych przez użytkownika oraz powiadamianie o zmianach za pomocą jednej z następujących technik
Sytuacja C: W przypadku stosowania standardowego komponentu interfejsu użytkownika w technologii programowania:
-
G135: Użycie funkcji API dostępności technologii do ujawniania nazw i powiadamiania o zmianach za pomocą jednej z następujących technik
Sytuacja D: W przypadku tworzenia własnego komponentu interfejsu użytkownika w języku programowa:
-
G10: Tworzenie komponentów przy użyciu technologii obsługującej powiadamianie o zmianach dotyczących dostępności za pomocą poniższych technik specyficznych dla technologii:
- ARIA4: Użycie atrybutu role, aby wyeksponować rolę komponentu interfejsu użytkownika
- ARIA5: Użycie atrybutów stanu i właściwości WAI-ARIA do ujawnienia stanu komponentu interfejsu użytkownika
- ARIA16: Użycie atrybutu aria-labelledby, aby zapewnić nazwę dla elementów sterujących interfejsem użytkownika
Błędy
Poniżej wymieniono typowe błędy, które Grupa Robocza WCAG uważa za niespełnienie tego kryterium sukcesu.
- F59: Niespełnienie kryterium sukcesu 4.1.2 z powodu użycia skryptu do utworzenia kontrolki interfejsu użytkownika za pomocą elementu div lub span w HTML bez podawania roli tej kontrolki
- F15: Niespełnienie kryterium sukcesu 4.1.2 z powodu implementacji niestandardowych elementów sterujących, które w ogóle nie korzystają albo korzystają nie w pełni z interfejsu API dostępności dla tej technologii
- F20: Niespełnienie kryterium sukcesu 1.1.1 i 4.1.2 ze względu na brak aktualizacji tekstów alternatywnych w przypadku wystąpienia zmian w treści nietekstowej
- F68: Niespełnienie kryterium 4.1.2 z powodu kontrolki interfejsu użytkownika, która nie ma programowo określonej nazwy
- F79: Niespełnienie kryterium sukcesu 4.1.2 ze względu na stan fokusu na składniku interfejsu użytkownika, który nie jest programowo określony lub brak powiadomienia o zmianie stanu fokusu
- F86: Niespełnienie kryterium sukcesu 4.1.2 ze względu na brak podawania nazw dla każdej części wieloczęściowego pola formularza, takiego jak amerykański numer telefonu
- F89: Niespełnienie kryterium sukcesu 2.4.4, 2.4.9 i 4.1.2 ze względu na brak podania dostępnej nazwy obrazu, który jest jedyną treścią w łączu
Kluczowe pojęcia
tekst lub inny komponent z tekstem alternatywnym, który jest prezentowany użytkownikowi w celu identyfikacji komponentu w treści internetowej
Uwaga
Etykieta jest widoczna dla wszystkich użytkowników, podczas gdy nazwa może być przekazywana tylko technologiom wspomagającym. W wielu przypadkach (choć nie we wszystkich) etykieta i nazwa są takie same.
Uwaga
Pojęcie etykiety nie ogranicza się tylko do elementu label
w HTML.
język stosujący kombinację gestów dłoni i ramion, mimiki twarzy i pozycji ciała, w celu przekazania informacji.
język mówiony, pisany lub język migowy (znaków zarówno wizualnych, jak dotykowych) służący do komunikowania się między ludźmi.
Uwaga
Zobacz także język migowy.
fragment treści internetowej odbierany przez użytkownika jako pojedyncza kontrolka dla określonej funkcji
Uwaga
Wiele komponentów interfejsu użytkownika może być implementowanych w postaci pojedynczego elementu. Tutaj komponenty nie są związane z konkretną techniką programistyczną, a raczej z tym, co użytkownik odbiera jako pojedynczą kontrolkę.
Uwaga
Do komponentów interfejsu użytkownika należą elementy formularzy i linków, jak również komponenty generowane przez skrypty.
Uwaga
To, co jest tutaj rozumiane jako „komponent” lub „komponent interfejsu użytkownika” jest również czasami nazywane „elementem interfejsu użytkownika”.
tekst, po którym oprogramowanie może zidentyfikować obiekty w treści
Uwaga
Nazwa może być ukryta i przekazywana tylko poprzez technologie wspomagające, w odróżnieniu od etykiet, które są prezentowane wszystkim użytkownikom. W niektórych, ale nie wszystkich wypadkach, etykieta i nazwa są tożsame.
Uwaga
To nie jest to samo, co atrybut „name” w HTML.
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
ustawione przez oprogramowanie, które wykorzystuj metody obsługiwane przez programy użytkownika, w tym przez technologie wspomagające
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.
albo ASCII art - proste rysunki tworzone za pomocą znaków lub glifów układanych na obszarze o stałej szerokości kolumn oraz o stałej wysokości znaków (zazwyczaj z 95 możliwych do wydrukowania znaków zdefiniowanych przez ASCII). Ten sposób tworzenia grafiki, a raczej jej symbolizowania, nazywa się semigrafiką lub pseudografiką. ASCII art były początkowo tworzone z myślą o wydrukowaniu ich na drukarkach znakowych.
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.
ciąg znaków, który można programowo określić, gdzie ciąg ten wyraża coś w języku naturalnym
tekst skojarzony programowo z treścią nietekstową lub odnoszący się do tekstu programowo skojarzonego z treścią nietekstową. Tekst programowo skojarzony to taki tekst, którego położenie może być programowo określone w stosunku do treści nietekstowej.
Uwaga
Więcej na ten temat: Objaśnienie pojęcia „alternatywa tekstowa”
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
każda treść, która nie jest sekwencją znaków, które mogą być programowo określone lub nie wyraża niczego w jakimkolwiek języku naturalnym
Uwaga
Obejmuje to sztukę tekstową (ASCII art, będącą układanką złożoną ze znaków), emotikony, slang na forach (korzystający z zastępowania znaków) i obrazy przedstawiające tekst.