Общие WAI-ARIA, которые вы можете использовать в своем веб-сайте


Семантика

С ростом сложности возникает необходимость создания веб-сайта. Поэтому использование HTML-тегов уже не может быть таким простым, как раньше, когда для всех видов вопросов использовался только <div>. В то время нам нужно было добавить, например, id или класс: <div id="landmark" class="landmark">.

К счастью, с HTML5 стало проще писать код, связанный с достопримечательностями. Мы можем написать его как в следующем примере <header> или <main>.

Технология A11s (Accessibility) на веб-сайтах в значительной степени зависит от правильного или рекомендуемого использования тегов HTML. Такие технологии, как устройства для чтения с экрана, будут читать в соответствии с порядком структуры HTML. Правильное структурирование HTML-тегов значительно поможет этой технологии.

Некоторые примеры семантического кода тегов HTML, которые мы должны применять.

<header>…</header>

<nav>…</nav>

<main>…</main>

<article>…</article>

<aside>…</aside>

<footer>…</footer>

<button>…</button>

<!-- dan banyak lagi -->
Войдите в полноэкранный режим Выход из полноэкранного режима

ARIA — это Полифил

Мы не должны останавливаться на семантике, потому что семантика не охватывает всего. Для некоторых вещей мы должны реализовать ARIA.

Полифилы — это код для реализации функций в браузерах, которые пока их не поддерживают. Но в контексте A11s полифилы — это дополнительные технологии для поддержки технологий A11s. Одним из примеров являются устройства чтения с экрана.

Ранний пример форм ARIA можно увидеть ниже

<!-- role -->
<nav role="navigation"></nav>

<!-- properties -->
<button aria-label="tutup">x</button>

<!-- states -->
<button aria-disabled="true">Tutup</button>
Войдите в полноэкранный режим Выход из полноэкранного режима

Достопримечательности

Ориентиры — это определенные части веб-сайта. Подобно физическим объектам, которые мы видим, ориентирами на сайте могут быть <header>, <nav>, <footer> и так далее. Некоторые примеры часто используемых ориентиров приведены ниже.

<header role="banner"></header>

<main role="main"></main>

<aside role="complementary"></aside>

<footer role="contentinfo"></footer>
Войдите в полноэкранный режим Выход из полноэкранного режима

Этот звук предназначен для того, чтобы читателям с экрана было легче ориентироваться в фокусе элемента на основе звука. Чтобы читателям экрана было легко указать, где я сейчас нахожусь.

Название — это звук по умолчанию

Создание заголовков в каждом из наших HTML-тегов очень важно. Но если поместить структурированный заголовок, это улучшит навигацию. Потому что в навигации для чтения с экрана есть возможность перейти непосредственно к определенному разделу слушания, непосредственно к тому разделу, который вы хотите просмотреть. Обычно в начале веб-сайта есть раздел «Перейти к основному содержанию».

aria-label

Наиболее часто используемым ARIA является aria-label. Потому что при его применении разработчикам достаточно поместить его в качестве дополнительного атрибута в элемент. Например, вы можете увидеть следующее

<button arial-label="tutup">X</button>

<input id="name" name="name" aria-label="nama" required>
Войдите в полноэкранный режим Выход из полноэкранного режима

В приведенном выше случае, если мы не поместим aria-label, то элемент не будет распознан как метка. Будет очень непонятно, если мы окажемся на входе без инструкций.

aria-live

aria-live используется для HTML-тегов, требующих обновления содержимого. Всплывающие окна — один из примеров использования aria-live. Существует 3 типа aria-live, которые могут быть использованы

<div aria-live="off"></div>

<div aria-live="polite"></div>

<div aria-live="assertive"></div>
Войдите в полноэкранный режим Выход из полноэкранного режима

Небольшое дополнение, aria-atomic также должно быть добавлено к тегу HTML, если содержимое aria-live должно быть известно ассистивным технологиям.

Также можно добавить атрибут role="alert" для обозначения того, что всплывающее окно также является предупреждением.

aria-required

Чтобы сообщить устройству чтения с экрана, что вводимые данные должны быть заполнены, можно использовать атрибут aria-required="true" или просто атрибут «required».

<input aria-required="true" required>
Войдите в полноэкранный режим Выход из полноэкранного режима

aria-hidden

Иногда в HTML-тегах есть части, которые не нужно упоминать или которые не должны определяться устройствами чтения с экрана. Но в интерфейсе он все равно должен отображаться. Обычно это просто для украшения или дополнительной информации. Для этого мы можем использовать атрибут aria-hidden.

<div aria-hidden="true"></div>
Войдите в полноэкранный режим Выход из полноэкранного режима

tabindex

Для того чтобы HTML-теги были сфокусированы с помощью tab, нам также необходимо добавить tabindex в атрибут.

<div tabindex="0"></div>
<div tabindex="-1"></div>
Войдите в полноэкранный режим Выход из полноэкранного режима

Значение 0 для навигации по вкладкам по умолчанию. Значение -1 для программной навигации по вкладкам с помощью JS.

Атрибут lang

Одним из атрибутов, о котором многие разработчики могут не заботиться, является атрибут HTML тега lang. lang — это сокращение от language, которое служит уведомлением для устройств чтения с экрана о том, что содержимое HTML-тега должно быть произнесено на определенном языке. Это будет объяснено на примере ниже

<html lang="id">
<head>
  <title>Contoh penggunaan lang</title>
</head>

  <button>Tutup</button>
  <button lang="en">Close</button>

</html>

Войдите в полноэкранный режим Выход из полноэкранного режима

Последние слова

«Отсутствие ARIA лучше, чем небрежное использование ARIA» — автор RahmaUt

Ссылки

  1. https://developer.mozilla.org/en-US/docs/Learn/Accessibility/WAI-ARIA_basics
  2. https://www.powermapper.com/tests/screen-readers/aria/
  3. https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles
  4. https://www.powermapper.com/tests/screen-readers/aria/

Оцените статью
devanswers.ru
Добавить комментарий