Экранные дикторы и доступность в HERE Technologies JavaScript API строятся вокруг принципов семантической разметки, управляемых обновлений интерфейса и корректного взаимодействия с ARIA-атрибутами. Геоинформационные приложения предъявляют повышенные требования к доступности, поскольку значительная часть контента представлена визуально: карты, маркеры, маршруты, слои и динамические объекты. Для корректной работы с экранными дикторами требуется трансформация визуальной модели карты в логически структурированное представление.
Карты в JavaScript API представляют собой canvas/WebGL-контент, который не имеет собственной семантики для доступных технологий. Экранные дикторы не интерпретируют географические элементы напрямую, поэтому ключевая задача заключается в создании параллельного DOM-слоя с описательной информацией.
Основные ограничения:
В результате доступность реализуется не через саму карту, а через её отражение в структурированном интерфейсе.
ARIA-атрибуты формируют связующий слой между геопространственными объектами и текстовым представлением.
Ключевые элементы:
role="application" — обозначение интерактивной области
картыaria-label — описание карты или её состоянияaria-live — динамические уведомленияrole="list" и role="listitem" —
представление объектов (маршрутов, точек интереса)aria-describedby — связь объектов с расширенными
описаниямиСтруктурирование данных карты в список объектов позволяет экранным дикторам последовательно озвучивать элементы, превращая карту в навигационный список.
Карты постоянно изменяются: добавляются маркеры, обновляются маршруты, изменяется масштаб. Без механизмов уведомления экранный диктор не фиксирует изменения.
Использование aria-live позволяет транслировать
изменения состояния:
Пример типовых категорий уведомлений:
Для предотвращения перегрузки речевого вывода обновления агрегируются и отправляются пакетно.
Фокусная модель является критическим элементом доступности. Карта как единый canvas не имеет естественных фокусируемых элементов, поэтому фокус распределяется между виртуальными компонентами.
Основные принципы:
Особое значение имеет синхронизация фокуса с экранным диктором: изменение выделенного маркера должно сопровождаться обновлением доступного описания.
Географические маркеры не имеют семантики, поэтому создаются их текстовые аналоги.
Каждый маркер описывается через:
Структура может быть представлена как список:
При активации маркера происходит переход фокуса и обновление доступного текста.
Скрытые элементы (visually hidden) используются для
хранения информации, недоступной визуальному интерфейсу, но необходимой
экранным дикторам.
Применения:
Эти элементы не участвуют в визуальной отрисовке, но формируют текстовую карту.
Экранные дикторы тесно связаны с клавиатурной навигацией. Управление осуществляется через обработчики событий:
Логика навигации строится не на координатной сетке, а на последовательности логических объектов.
При высокой плотности данных маркеры объединяются в кластеры. Для экранных дикторов кластеры должны иметь собственную семантику.
Типовая модель:
Экранный диктор озвучивает не геометрию, а смысловую структуру: «группа из 12 объектов».
Маршруты представляют сложную структуру, состоящую из сегментов, поворотов и расстояний.
Для экранных дикторов маршрут трансформируется в последовательность:
Каждый сегмент может быть представлен как отдельный элемент списка с описанием действия. Это позволяет линейно воспроизводить маршрут.
Динамические данные требуют явного отражения состояния:
Для этого используются:
aria-busyЭкранный диктор получает не визуальное состояние, а текстовую интерпретацию процесса.
Результаты геокодирования формируются как доступные списки:
Каждый результат имеет структурированное описание, позволяющее экранному диктору воспроизводить информацию без визуального контекста.
Информационные окна (popups) требуют отдельной семантической обработки.
Принципы:
Каждое окно рассматривается как самостоятельный интерактивный блок.
Карты часто содержат несколько слоёв: транспорт, трафик, спутник, точки интереса.
Для экранных дикторов:
Слои не визуализируются как графика, а представляются как набор доступных режимов.
Основная сложность заключается в синхронизации двух параллельных представлений:
Несоответствие между ними приводит к рассинхронизации восприятия. Поэтому любые изменения на карте должны немедленно отражаться в текстовой модели.
Ключевые механизмы синхронизации:
Изменение масштаба и положения карты влияет на доступные элементы.
Поведение для экранных дикторов:
С точки зрения доступности карта превращается в динамический фильтр объектов.
Типовые проблемы:
Такие ошибки приводят к невозможности последовательного чтения карты экранным диктором и разрушению логики навигации.
Экранные дикторы не взаимодействуют с картой напрямую. Между ними всегда существует абстракционный слой, преобразующий географические данные в линейную текстовую структуру.
Эта модель включает:
Именно этот слой определяет качество доступности, а не графическая реализация карты.