fullPage.js активно использует ARIA-атрибуты для улучшения доступности веб-страниц. Эти атрибуты помогают технологиям вспомогательного доступа, таким как экранные читалки, правильно интерпретировать структуру и поведение контента, особенно при вертикальной или горизонтальной навигации между секциями и слайдами.
role=“region” Каждая секция
(.section) получает этот атрибут для обозначения
самостоятельной смысловой области. Атрибут role="region"
помогает экранным читалкам идентифицировать отдельные части страницы как
логические блоки.
aria-label fullPage.js автоматически добавляет
aria-label к секциям, используя их порядковый номер или
заданное имя. Пример:
<div class="section" role="region" aria-label="Секция 1"></div>
aria-label позволяет пользователю понять содержание
секции, даже если визуально это не отображается.
aria-hidden При переключении между секциями
библиотека управляет видимостью контента с помощью
aria-hidden. Секции, которые не активны в данный момент,
получают aria-hidden="true", а активная секция —
aria-hidden="false". Это предотвращает озвучивание
невидимого контента.
aria-live fullPage.js может использовать
aria-live="polite" для динамического уведомления экранных
читалок о изменениях активной секции. Это особенно полезно для
одностраничных приложений, где содержимое обновляется без перезагрузки
страницы.
aria-roledescription Для слайдов внутри секций
(.slide) применяется
aria-roledescription="слайд", что позволяет пользователю
понять, что текущий элемент является частью карусели или
слайд-шоу.
fullPage.js обеспечивает управление ARIA-атрибутами при:
aria-hidden обновляется, чтобы скрытые секции не мешали
вспомогательным технологиям..fp-nav): каждая точка навигации получает
aria-controls, указывающий на соответствующую секцию.aria-hidden="false", остальным —
aria-hidden="true".<div id="fullpage">
<div class="section" role="region" aria-label="Главная секция" aria-hidden="false">
<div class="slide" aria-roledescription="слайд" aria-hidden="false">
Контент слайда 1
</div>
<div class="slide" aria-roledescription="слайд" aria-hidden="true">
Контент слайда 2
</div>
</div>
<div class="section" role="region" aria-label="Секция 2" aria-hidden="true">
Контент секции 2
</div>
</div>
fullPage.js предоставляет опции, влияющие на ARIA:
keyboardScrolling — включает или
отключает навигацию с клавиатуры, что напрямую влияет на уведомления
экранных читалок.recordHistory — при изменении URL
обновляется активная секция, что помогает вспомогательным технологиям
отслеживать навигацию.aria — булева настройка, включающая
автоматическое управление ARIA-атрибутами (true по
умолчанию).Пример инициализации с ARIA:
new fullpage('#fullpage', {
autoScrolling: true,
navigation: true,
aria: true,
keyboardScrolling: true
});
aria-label к
секциям и слайдам, чтобы точно передавать смысл контента.aria-describedby для
ссылок на поясняющий текст, если информация слишком объемная.aria-hidden вручную в
кастомных анимациях или динамических элементах вне стандартных секций и
слайдов.section,
article, nav и другие теги должны
использоваться вместе с ARIA.aria-hidden может привести к
тому, что экранные читалки будут игнорировать видимые секции.aria-roledescription="слайд", иначе пользователь может
потерять контекст перемещения внутри секции.Использование ARIA в fullPage.js делает страницы доступными и понятными для всех пользователей, обеспечивая корректное озвучивание контента и упрощая навигацию с помощью вспомогательных технологий.