5 примеров, показывающих, что произойдет, если вы не добавите атрибуты ARIA на свои веб-сайты.
Недавно я наткнулся на вопрос на доске обсуждений моего курса «Дизайн пользовательского опыта», написанного другим студентом.
Я немного знаком с идеей атрибутов ARIA , но как человек, который никогда не использовал программу чтения с экрана или другие вспомогательные технологии, мне всегда было любопытно, какое конкретное влияние различные атрибуты ARIA оказывают на то, как они представляют контент пользователям. .
Являются ли большинство из них просто заделом на будущее на тот случай, если вспомогательные технологии решат использовать эту информацию в будущем, или большинство атрибутов на самом деле имеют ощутимый эффект уже сейчас?
Может ли чрезмерное использование атрибутов ARIA в некоторых случаях навредить пользовательскому опыту?
Изучение подобных вещей кажется важным для создания веб-сайтов, доступных на практике, а не только в теории.
Я думаю, что большинство разработчиков на высоком уровне понимают, что атрибуты ARIA важны для пользователей с ограниченными возможностями. Но как человеку, которому никогда не приходилось использовать программу чтения с экрана, я не совсем понимаю, к каким последствиям приведет неправильная настройка атрибутов. Вот почему я хочу изучить реальные примеры того, что может услышать слабовидящий пользователь, когда веб-сайт неправильно настроен с атрибутами ARIA. Но сначала нам нужно понять, как именно работает программа чтения с экрана.
Что такое программы чтения с экрана и кто их использует?
Средства чтения с экрана используют синтез речи и другие методы для чтения вслух содержимого и элементов на экране, таких как текст, кнопки, ссылки и изображения, и позволяют пользователям перемещаться по содержимому и взаимодействовать с ним с помощью команд клавиатуры или других средств. методы ввода. Этот простой цикл «навигация-слушание-взаимодействие» позволяет пользователям использовать все функции веб-сайта, если он разработан с учетом такого типа взаимодействия с пользователем.
Существуют встроенные параметры, такие как VoiceOver (входит в состав операционных систем Apple macOS и iOS) и экранный диктор (входит в состав Microsoft Windows), а также подключаемый модуль браузера, который обычно предоставляет дополнительные функции и настройки.
Хотя большинство считает, что скринридеры вредны для пользователей с плохим зрением или без него. Они также используются лицами с когнитивными нарушениями или нарушениями подвижности, а также лицами, не имеющими инвалидности, но нуждающимися в доступе к электронной информации и веб-сайтам в ситуациях, когда визуальный доступ невозможен или практичен.
Пример 1: изображение
Давайте возьмем это простое изображение мопса.
<img src="assets/images/8193903121.png"/>
A pug wearing a red party hat with white dots
8193903121.png, изображение
Который не предоставляет информацию пользователю программы чтения с экрана, кроме факта наличия изображения. Чтобы это исправить, добавьте alt
тег к изображениям.
<img
src="assets/images/8193903121.png"
alt="A pug wearing a red party hat with white dots"
/>
В качестве примечания: когда элемент html поддерживает этот alt
тег, его следует использовать поверх aria-label
. Aria-label
следует использовать только в особых случаях, например, когда a div
имеет свойство role=”img”
.
Пример 2: неактивная кнопка отправки
<button disabled>Let's Go!</button>
A disabled button labeled “Let’s Go!” at the end of form
Поехали!, кнопка
Это не говорит пользователю, что будет делать нажатие кнопки, или тот факт, что она отключена. Давайте исправим это:
<button aria-label="Submit email" aria-disabled="true" disabled>Let's Go!</button>
Здесь описывает aria-label
назначение кнопки, а aria-disabled
атрибут позволяет программе чтения с экрана описать, что кнопка затемнена и в настоящее время отключена.
Пример 3: поле комментария с меткой
Comment:
<textarea></textarea>
<p> Your comment will be visible to all members of your organization.</p>
A highlighted text area with the label “Comment:” and a description below it: “Your comment will be visible to all member of your organization.”
Редактировать текст, пустой
Чтобы исправить это, нам нужно связать текстовую область с меткой и описанием.
<label id="comment-label" for="comment-box">Comment:</label>
<textarea
id="comment-box"
aria-labelledby="comment-label"
aria-describedby="comment-desc"
></textarea>
<p id="comment-desc">Your comment will be visible to all members of your organization.</p>
Здесь aria-labelledby
соединяется textarea
с label
, позволяя программе чтения с экрана понять, что поле запрашивает комментарий. Также обратите внимание, что for
свойство в метке делает обратное, поэтому, когда программа чтения с экрана фокусируется на label
, она знает, что это метка для textarea
. Наконец, aria-describedby
атрибут связывает описание с файлом textarea
.
Пример 4: простая таблица
<table>
<thead>
<tr>
<th>Name</th>
<th>Quantity</th>
<th>Rating</th>
</tr>
</thead>
<tbody>
<tr>
<th>Product 1</th>
<td>5</td>
<td>4.5</td>
</tr>
<tr>
<th>Product 2</th>
<td>3</td>
<td>3.7</td>
</tr>
</tbody>
</table>
A 3x3 table listing the name, quantity, and rating of Product 1 and Product 2
Название: (Колонка 1 из 3) -> Количество: (Колонка 2 из 3) -> Рейтинг: (Колонка 3 из 3) -> Продукт 1 -> 5 -> 4,5 -> Продукт 2 -> 3 -> 3,7
Некоторым пользователям этого может быть достаточно, особенно когда стол короткий. Однако мы можем добавить атрибуты Aria, чтобы значительно улучшить этот опыт.
<table role="table" aria-label="Product Comparison">
<thead>
<tr>
<th scope="col" aria-label="Product Name">Name</th>
<th scope="col" aria-label="Product Quantity">Quantity</th>
<th scope="col" aria-label="Product Rating">Rating</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row" aria-label="Product 1">Product 1</th>
<td>5</td>
<td>4.5</td>
</tr>
<tr>
<th scope="row" aria-label="Product 2">Product 2</th>
<td>3</td>
<td>3.7</td>
</tr>
</tbody>
</table>
Теперь, просматривая 3-й столбец, программа чтения с экрана может сказать:
Название продукта: Продукт 2-> Количество продуктов: 3-> Рейтинг продукта: 3,7
Конечно, в большинстве программ чтения с экрана можно настроить уровень детализации, чтобы не произносить заголовки столбцов после x повторений, но добавление этих меток дает пользователю контроль и позволяет ему выбирать, сколько он хочет услышать.
Пример 5: чрезмерное использование атрибутов Aria
Конечно, как и в большинстве вещей в жизни, слишком много хорошего может быть плохим.
<div
role="dialog"
aria-labelledby="modal-title"
aria-describedby="modal-description"
aria-modal="true"
aria-hidden="false"
aria-live="polite"
aria-atomic="true"
>
<h2 id="modal-title">Modal Title</h2>
<p id="modal-description">This is a modal window that contains important information for the user.</p>
{...}
</div>
Будущее АРИИ
Поскольку Интернет продолжает развиваться и становиться все более сложным, ARIA будет продолжать играть решающую роль в обеспечении доступности и удобства веб-приложений для пользователей вспомогательных технологий, таких как программы чтения с экрана и навигация с помощью клавиатуры.
Одной из ключевых областей, в которых ARIA, вероятно, ждет дальнейшее развитие, является поддержка новых веб-технологий и шаблонов проектирования . Например, по мере того, как все больше веб-приложений переходят на использование одностраничных архитектур и асинхронного JavaScript, ARIA потребуется предоставить новые атрибуты и методы, чтобы сделать эти приложения доступными для пользователей вспомогательных технологий.
Еще одной важной областью будущего ARIA является улучшение функциональной совместимости и совместимости атрибутов ARIA в различных браузерах и вспомогательных технологиях . В настоящее время существуют некоторые несоответствия и различия в том, как разные браузеры и вспомогательные технологии интерпретируют и используют атрибуты ARIA. Работа над более последовательной и стандартизированной реализацией ARIA в Интернете будет иметь решающее значение для улучшения пользовательского опыта пользователей вспомогательных технологий.
Наконец, будущее ARIA также будет связано с постоянным сотрудничеством и диалогом между веб-разработчиками, экспертами по доступности и пользователями вспомогательных технологий . По мере появления новых проблем и возможностей в мире доступности Интернета для этих заинтересованных сторон будет важно работать вместе для выявления и решения потенциальных проблем, а также для разработки новых решений, которые могут принести пользу всем пользователям Интернета.
В целом будущее ARIA выглядит ярким и многообещающим. Поскольку Интернет продолжает развиваться, ARIA будет играть решающую роль в том, чтобы сделать его более доступным и удобным для всех. Веб-разработчики должны:
- Используйте атрибуты и методы ARIA, чтобы предоставить дополнительный контекст и функциональные возможности вспомогательным технологиям.
- Предоставьте четкие и описательные метки и описания для всех элементов и элементов управления.
- Используйте семантические элементы HTML, чтобы точно передать структуру и содержание страницы.
- Убедитесь, что контент правильно структурирован и организован, с четкой иерархией и взаимосвязями между элементами.
- Разумно используйте цвет и контраст, чтобы содержимое было разборчивым и видимым для пользователей с плохим зрением.
- Обеспечьте специальные возможности клавиатуры, позволяя пользователям перемещаться и взаимодействовать со страницей, используя только клавиатуру или другое устройство ввода.
- Протестируйте приложение с помощью вспомогательных технологий, чтобы убедиться в его пригодности и доступности.
Есть много других атрибутов ARIA, которые я здесь не показывал. Полный их список смотрите здесь:https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes
Обратите внимание, что ChatGPT использовался для исследований и написания некоторых частей этой статьи.