FullPage.js позволяет создавать полноэкранные скроллируемые страницы
с разделами (sections) и слайдами (slides).
Правильная семантическая разметка критична для доступности, SEO и
удобства поддержки кода. Основной принцип заключается в использовании
HTML-тегов по их назначению, вместо универсальных
<div>.
Основная структура страницы для fullPage.js выглядит следующим образом:
<div id="fullpage">
<section class="section">
<header>
<h1>Заголовок первой секции</h1>
</header>
<article>
<p>Содержимое первой секции</p>
</article>
<footer>
<p>Футер первой секции</p>
</footer>
</section>
<section class="section">
<header>
<h1>Заголовок второй секции</h1>
</header>
<article>
<p>Содержимое второй секции</p>
</article>
<footer>
<p>Футер второй секции</p>
</footer>
</section>
</div>
Ключевые моменты:
section используется для каждого экрана fullPage.js.
Этот тег семантически соответствует отдельной секции контента.header и footer внутри секции выделяют
заголовки и нижние части секции.article применяется для основного содержимого, которое
логически представляет собой самостоятельную единицу информации.Слайды внутри секции оформляются с использованием контейнера
slide:
<section class="section">
<div class="slide">
<h2>Первый слайд</h2>
<p>Контент первого слайда</p>
</div>
<div class="slide">
<h2>Второй слайд</h2>
<p>Контент второго слайда</p>
</div>
</section>
Особенности:
<h2>, <p> обеспечивает
правильную семантическую структуру.<section> внутри слайда, если слайд представляет
отдельный контентный блок.FullPage.js поддерживает клавиатурную навигацию и управление
скроллом. Для повышения доступности важно использовать
aria-label и role:
<nav role="navigation" aria-label="Основная навигация">
<ul>
<li><a href="#section1">Секция 1</a></li>
<li><a href="#section2">Секция 2</a></li>
<li><a href="#section3">Секция 3</a></li>
</ul>
</nav>
Рекомендации:
role="navigation" четко указывает назначение
элемента.aria-label помогает вспомогательным технологиям
идентифицировать область.href="#sectionX") синхронизируются с
fullPage.js через идентификаторы.Контент секции и слайдов можно структурировать с помощью:
<h1>…<h6> для заголовков, соблюдая
иерархию.<article> для независимых единиц контента.<aside> для боковой информации или дополнительных
блоков.<figure> и <figcaption> для
иллюстраций с подписями.<blockquote> для цитат.Пример с комбинированными элементами:
<section class="section">
<header>
<h1>Новости компании</h1>
</header>
<article>
<h2>Выпуск нового продукта</h2>
<p>Описание нового продукта с важными деталями.</p>
<figure>
<img src="product.jpg" alt="Новый продукт">
<figcaption>Фото нового продукта</figcaption>
</figure>
</article>
<aside>
<p>Дополнительная информация: контакты для прессы</p>
</aside>
</section>
id, что
облегчает навигацию и улучшает SEO.section и slide обязательны для
работы fullPage.js.<section> и <article> используются
корректно.<h1>–<h6> и структурированы
основные блоки.aria-label, role и
уникальных id повышает удобство навигации для пользователей
с ограниченными возможностями.<section>.<div class="slide"> или дополнительно
<section> при необходимости.<article>, <aside>,
<figure> и других семантических элементов.aria-label и
корректными role для доступности.Эта структура обеспечивает не только корректную работу fullPage.js, но и создает семантически осмысленную страницу, удобную для поисковых систем и пользователей с различными потребностями.