Доступность SVG и MathML: стандарты альтернативного текста
Быстрый ответ
Чтобы улучшить доступность, используйте элементы <title>
и <desc>
внутри SVG
, а также атрибут alttext
в MathML
.
<!-- SVG отображает изображение -->
<svg aria-labelledby="title desc" role="img">
<title id="title">Годовая столбчатая диаграмма роста</title>
<desc id="desc">Диаграмма демонстрирует стабильный прирост дохода.</desc>
</svg>
<!-- MathML способствует легкому восприятию математических формул -->
<math alttext="a^2 + b^2 = c^2" role="math">
<!-- Здесь размещена математическая выражение -->
</math>
Alt-текст должен служить звуковым соответствием графического контента и передавать его историю или назначение.
Обеспечение доступности с ARIA и управлением с клавиатурой
В SVG
и MathML
стоит применять ARIA для улучшения доступности, а также обеспечивать управление клавиатурой для тех, кто полагается на программы чтения с экрана.
SVG:
<title>
предоставляет краткую пометку.<desc>
предлагает полное описание.role="img"
обозначает, что элемент SVG воспринимается как изображение.aria-labelledby
связывает элементы, предназначенные для заголовка и описания.
MathML:
<div>
с атрибутамиrole="math"
иaria-label
создаёт контекст для голосового доступа.- Если уравнения слишком сложны для описания через
aria-label
, <цalttext
будет вам в помощь.
Добавьте tabindex="0"
к элементам, чтобы их было возможно выбрать при навигации по странице с клавиатурой.
Адаптация SVG и MathML для улучшения восприятия
Чтобы SVG и MathML были удобными для любого пользователя:
1. Правильное использование SVG-элементов
- Элементы
<text>
следует оставлять в исходном виде. Перевод текста в графические пути может ухудшить передачу информации. - В случае проблем с контролем уникальных идентификаторов, стоит рассмотреть возможность использования тегов
<img>
для вставки SVG. - Для декоративных SVG используйте
aria-hidden="true"
, чтобы они не были восприняты читалками.
2. Текстовые альтернативы для математики и графики
<figcaption>
или<p>
с альтернативным текстом помогут лучше понять содержимое страницы.- Вне видимой области можно разместить дополнительный текст, чтобы улучшить доступность и восприятие.
3. Избегайте ошибок и подводных камней
- Поддержка экранными читалками для
aria-label
иalttext
может быть разной, поэтому необходимо использовать их с умом. - Следуйте за обновлениями спецификаций W3C, чтобы быть в курсе актуальных рекомендаций по лучшим практикам.
Визуализация
Alt-тekст
– это голос для невидящих
<!--Image может говорить более чем тысячу слов-->
SVG (🖼): "Лицо со счастливой улыбкой, глаза, сияющие радостью. Улыбка шире просторов Техаса."
<!--Математика теперь может общаться-->
MathML (🧮): "Формула E=mc² символизирует связь между энергией, массой и скоростью света."
Альтернативный текст, произнесенный программами для чтения с экрана, позволяет преобразовать визуальный контент и математические выражения в слова, доступные для восприятия.
Как адаптировать работу экранных читалок
Понимание особенностей экранных читалок и их настройка может значительно улучшить доступность вашего сайта:
- В зависимости от настроек или версий, читалки могут воспроизвести все
<title>
и<desc>
, что не является ошибкой, а особенностью. - Поддержка
aria-label
иalttext
может отличаться в разных читалках, особенно при работе с MathML.
Экранные читалки имеют свои особенности, поэтому важно постоянно повышать свой уровень знаний и следить за обновлениями стандартов доступности.
Полезные материалы
- Home | Web Accessibility Initiative (WAI) | W3C — Основной ресурс по стандартам доступности.
- WebAIM: Alternative Text — Основной источник информации о создании alt-текста.
- Accessibility Support — SVG 2 — Всё, что вам следует знать о доступности в SVG.
- W3C Math Home — Главный ресурс для MathML.
- Accessible SVG Icons With Inline Sprites | CSS-Tricks — Отличная статья для разработчиков интерфейсов.
- Home Page | GBH — Истории за пределами тем о пикселях и уравнениях.
- ARIA Authoring Practices Guide | APG | WAI | W3C — Руководство по работе с графикой.