Przejdź do treści
A11ySignal
Poziom AWCAG 2.0WCAG 2.1WCAG 2.2EN 301 549 § 9.4.1.2

4.1.2
Nazwa, rola, wartość

Każda kontrolka musi ujawniać, czym jest, jak się nazywa i w jakim jest stanie.

Co mówi norma

Dla wszystkich komponentów interfejsu użytkownika (włączając w to elementy formularzy, linki oraz komponenty wygenerowane przez skrypty) nazwa oraz rola mogą być określone programowo; stany, właściwości i wartości, które mogą być ustawione przez użytkownika, mogą być również ustawione programowo; a powiadomienie o zmianach w tych elementach jest dostępne dla klientów użytkownika, w tym technologii wspomagających.

Dlaczego to ma znaczenie

To kryterium, na którym wykładają się własne komponenty. `div` ostylowany na pole wyboru nie mówi technologiom asystującym nic o tym, czy jest zaznaczony.

Jak wygląda błąd

  • błądPrzełącznik z `<div>` bez `role="switch"` i bez `aria-checked`.
  • błądPrzycisk z ikoną bez dostępnej nazwy.
  • błądAkordeon, którego nagłówek nigdy nie aktualizuje `aria-expanded`.
  • błądWłasny `<select>` bez `role="combobox"` i bez `aria-activedescendant`.

Jak to naprawić

  • róbUżywaj natywnego elementu wszędzie tam, gdzie taki istnieje. `<button>`, `<input type="checkbox">` i `<select>` dają to wszystko za darmo.
  • róbPrzy naprawdę własnym komponencie trzymaj się odpowiedniego wzorca z ARIA Authoring Practices, razem z obsługą klawiatury.
  • róbTrzymaj atrybuty stanu w zgodzie z tym, co jest na ekranie.

Jak sprawdza to A11ySignal

Przy każdym skanowaniu względem tego kryterium uruchamia się 29 automatycznych sprawdzeń.

krytycznyaria-required-attrWymagane atrybuty ARIA muszą istnieć.

Także pod 4.1 Kompatybilność