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
- Zadanie twórcy
- Nadaj komponentom prawidłowe nazwy, role, stany i wartości.
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.
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.
Powiązane zasoby
Zasoby służą wyłącznie celom informacyjnym i nie sugerują żadnego poparcia.
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 kojarzenia etykiet tekstowych z formantami formularzy
- H64: Użycie atrybutu title do nazywania elementów frame i iframe
- H65: Użycie atrybutu title do nazywania formantów 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
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)
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 te oferowane przez popularne programy użytkownika
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 transformacji treści (np. w celu uczynienia tabel bardziej dostępnymi).
Technologie wspomagające często przekazują informacje i dane do standardowych aplikacji za pośrednictwem specjalnych API.
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.
informacje i wrażenia sensoryczne, które mają być przekazywane użytkownikowi za pomocą oprogramowania użytkownika, w tym kod lub znaczniki, które definiują strukturę, prezentację i interakcje
język mówiony, pisany lub migowy (za pomocą znaków zarówno wizualnych, jak dotykowych) służący do komunikowania się między ludźmi.
Zobacz także język migowy.
tekst lub inny komponent z alternatywą tekstową, który jest prezentowany użytkownikowi w celu identyfikacji komponentu w treści internetowej
Etykieta jest widoczna dla wszystkich użytkowników, podczas gdy nazwa może być ukryta i przekazywana tylko technologiom wspomagającym. W wielu przypadkach (choć nie we wszystkich) etykieta i nazwa są takie same.
Pojęcie etykiety nie ogranicza się tylko do elementu „label” w HTML.
tekst, po którym oprogramowanie może zidentyfikować komponent w treści internetowej
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 wielu (ale nie wszystkich) przypadkach etykieta i nazwa są takie same.
To nie jest to samo, co atrybut „name” w HTML.
każda treść, która nie jest sekwencją znaków, którą można określić programowo lub w przypadku których sekwencja nie wyraża czegoś w jakimkolwiek języku naturalnym
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.
renderowanie treści w sposób, który jest postrzegalny dla użytkownika
takie przedstawienie danych przez oprogramowanie dostawcy, które umożliwia różnym programom użytkownika, w tym technologiom wspomagającym, wyodrębnienie i przedstawienie tych informacji użytkownikom, w sposób, jakiego potrzebują
ustawione przez oprogramowanie wykorzystującego metody obsługiwane przez oprogramowanie 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
język wykorzystujący kombinacje ruchów rąk i ramion, mimiki twarzy i pozycji ciała, w celu przekazania informacji.
- 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
sekwencja znaków, którą można określić programowo, gdzie sekwencja wyraża coś w języku naturalnym
Tekst, który jest programowo powiązany z treścią nietekstową lub odnoszący się do tekstu programowo powiązanego z treścią nietekstową. Tekst powiązany programowo to tekst, którego położenie może być programowo określone w stosunku do treści nietekstowej.
Więcej informacji można znaleźć w sekcji Objaśnienie alternatyw tekstowych.
dowolne oprogramowanie, które pobiera i prezentuje użytkownikom treści internetowe
część treści internetowej postrzegana przez użytkownika jako pojedyncza kontrolka dla określonej funkcji
Wiele komponentów interfejsu użytkownika może być implementowanych w postaci pojedynczego elementu. „Komponenty” nie są tu związane z konkretną techniką programistyczną, a raczej z tym, co użytkownik odbiera jako pojedynczą kontrolkę.
Do komponentów interfejsu użytkownika należą elementy formularzy i linków, jak również komponenty generowane przez skrypty.
To, co rozumie się tutaj pod pojęciem „komponent” lub „składnik interfejsu użytkownika”, jest czasami nazywane także „elementem interfejsu użytkownika”
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 wraz z wszelkimi innymi zasobami użytymi do renderowania strony lub takimi, które potencjalnie mogą być użyte do renderowania w programie użytkownika
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.
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ą.
Zasady testowania
Poniżej znajdują się zasady testowe dla niektórych aspektów tego kryterium sukcesu. Nie jest konieczne korzystanie z tych konkretnych zasad testowych w celu sprawdzenia zgodności z WCAG, ale są one zdefiniowanymi i zatwierdzonymi metodami testowymi. Aby uzyskać informacje na temat korzystania z reguł testowych, zobacz Objaśnienie testowych dla kryteriów sukcesu WCAG.
- Przycisk ma niepustą dostępną nazwę
- Element z aria-hidden nie ma treści w sekwencyjnej nawigacji fokusowej
- Element z dziećmi prezentacyjnymi nie ma treści, na której można ustawić fokus.
- Pole formularza ma niepustą dostępną nazwę
- Przycisk graficzny ma niepustą dostępną nazwę
- Łącze ma niepustą dostępną nazwę
- Pozycja menu ma niepustą dostępną nazwę
- Atrybut ARIA jest zdefiniowany w ARIA
- Istnieją wymagane przez ARIA odwołania do ID
- Stan lub właściwość ARIA ma prawidłową wartość
- Stan lub właściwość ARIA jest dozwolony
- Element z atrybutem role ma wymagane stany i właściwości
- Element iframe ma niepustą dostępną nazwę
- Elementy Iframe o identycznych dostępnych nazwach mają równoważne przeznaczenie
- Atrybut role ma prawidłową wartość