Визначають структуру документа, типи віджетів тощо.
Користуйтеся семантичними HTML-елементами, і вам ніколи не треба буде цей атрибут.
Детальніше: WAI-ARIA Roles на MDN
Впливає на порядок переходу по елементах натисканням клавіші Tab
tabindex=-1
не дозволяє фокусувати елемент з клавіатури.tabindex=0
означає, що він буде фокусуватися в порядку появи в HTML-кодіtabindex=<+int>
вказує конкретний порядок фокусу
Якщо ви не пишете віджет на JS, то порядок фокусування вам не треба.
aria-hidden
Не може бути пустим, або true
або false
.
Відповідно, відображає або приховує елемент із дерева доступності.
Якщо в елемента немає label'а,
aria-label
дозволяє його задати.
Наприклад, для гіперпосилання у вигляді іконки:
<a href=https://huggingface.co aria-label="Hugging face">🤗</a>
Якщо візуальний label є, то варто скористатися aria-labelledby
,
вказуючи в значенні ID елемента, який описує даний інтерактивний елмент.
Наприклад:
Почитати про <span id=resource-name>Hugging Face</span>
можна <a href=https://huggingface.co>тут</a>.
Ніколи не робіть так ☝️, робіть отак 👇
Дізнайтеся більше про ресурс на сторінці
<a href=https://huggingface.co>Hugging Face</a>.
aria-description
, aria-describedby
працюють аналогічно,
але додають опис, а не заголовок.
Якщо опис видимий на сторінці, використовуйте aria-describedby
.
Якщо краще, щоб опис можна було побачити, використовуйте title
.
Три можливох значення:
off
(за промовчанням) — ніколи не оголошувати зміниpolite
— оголосити зміни, коли користувач не зайнятий (не друкує, не читає)assertive
— оголосити відразу (перебиваючи читання тощо)
Керуйтеся двома правилами:
- Не робіть «живих» елементів
- Якщо треба живий контет, наприклад, спливаюче вікно пошуку, використовуйте
polite
aria-pressed
використовується для того, щоб позначити кнопку натиснутою.
Наприклад, для доступного переключателя на базі <button>
aria-selected
для позначення обраних елементів у кастомну <select>
Про ці та інші ARIA-атрибути можна почитати на MDN.