Модуль 6 · Урок 21

Accessibility foundations і accessible name

Доступність — властивість змісту й функцій бути perceivable, operable, understandable та robust. Browser перетворює DOM і semantics на accessibility tree, а assistive technology працює з role, name, state і value — не з тим, на що елемент лише схожий візуально.

POURAccessibility treeNative firstRole · name · state · value

POUR — чотири питання до кожного рішення

ПринципПрактичне питання
PerceivableЧи можна отримати інформацію не лише одним сенсорним каналом?
OperableЧи доступні всі дії keyboard та іншими способами введення?
UnderstandableЧи передбачувані назви, instructions, порядок і помилки?
RobustЧи передає код правильні semantics різним browsers і assistive technologies?

Accessibility не дорівнює одному overlay, score або кольоровій схемі. Це набір перевірюваних вимог до content, code, interaction і evidence.

Native semantics перед ARIA

<button type="button">Додати до списку</button>
<!-- Не навчальний еквівалент: -->
<div class="button">Додати до списку</div>

Native button уже має роль, keyboard behavior, focusability і state model. Звичайний div не набуває їх через CSS. Перше правило ARIA: якщо native HTML передає потрібні semantics і behavior, використовуйте його. ARIA може змінити accessibility tree, але не додає keyboard behavior автоматично.

Role, name, state і value

RoleЩо це: button, link, heading, textbox.
NameЯк елемент ідентифікується: visible label, text або alt.
StateЩо зараз: expanded, checked, selected, disabled.
ValueЯке значення: введений текст, range position.

Кожен interactive control потребує accessible name. Visible label зазвичай найнадійніший, бо його бачать усі. Не дублюйте visible text через aria-label без потреби: воно може замінити computed name і розійтися з інтерфейсом.

Практика

  1. Відкрийте browser accessibility tree для flawed і reference сторінок.
  2. Заповніть role/name/state/value map для navigation, book actions і форми.
  3. Замініть один fake control native-елементом і порівняйте tree та keyboard behavior.
  4. Для кожного issue запишіть user impact, evidence і мінімальне виправлення.

Accessibility tree — не DOM screenshot

Перевіряйте computed role і name у DevTools; візуальна схожість не доводить programmatic semantics.

Офіційні джерела

Практична перевірка · урок 21 з 60

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Що означає POUR у web accessibility?
2. З чим assistive technology переважно працює в browser?
3. Що краще для звичайної дії «Надіслати»?