SkipToContent — это компонент, обеспечивающий быстрый доступ к основному содержимому страницы для пользователей, использующих клавиатуру или вспомогательные технологии, такие как экранные читалки. Он реализует принцип доступности WCAG (Web Content Accessibility Guidelines), позволяя пропускать навигационные блоки и переходить сразу к основной информации.
Carbon Components Svelte устанавливается через npm:
npm install carbon-components-svelte
После установки компонент SkipToContent импортируется в проект:
import { SkipToContent } from 'carbon-components-svelte';
Размещение компонента на странице обычно производится в начале body или внутри корневого контейнера приложения, чтобы он был доступен сразу после загрузки DOM.
target — селектор элемента, к которому будет
осуществлён переход. Пример: target="#main-content". Это
позволяет пользователю мгновенно фокусироваться на основном блоке
контента.
label — текст ссылки, отображаемый пользователю.
По умолчанию "Skip to main content", но рекомендуется
локализовать текст согласно языку интерфейса.
class — CSS-классы для кастомизации внешнего вида компонента.
Пример использования:
<SkipToContent target="#main-content" label="Перейти к основному контенту" class="skip-link" />
<main id="main-content">
<h1>Основной заголовок</h1>
<p>Текст основного содержимого...</p>
</main>
Компонент реализован как скрытая по умолчанию ссылка, которая появляется при фокусе с клавиатуры:
.skip-link {
position: absolute;
top: -40px;
left: 0;
background: #0f62fe;
color: white;
padding: 8px 16px;
z-index: 1000;
transition: top 0.3s ease;
}
.skip-link:focus {
top: 0;
}
SkipToContent:
<a> с
атрибутом href, указывающим на целевой блок.label.Компонент легко комбинируется с любыми другими компонентами Carbon,
такими как Header, SideNav,
ContentSwitcher. Важно, чтобы target
всегда указывал на основной блок контента, а не на обёртку, содержащую
навигацию, иначе эффект будет нивелирован.
Пример интеграции с Header и SideNav:
<SkipToContent target="#main-content" label="Пропустить навигацию" />
<Header>
<HeaderName href="/">Логотип</HeaderName>
</Header>
<SideNav expanded>
<SideNavItems>
<SideNavLink href="/page1">Страница 1</SideNavLink>
<SideNavLink href="/page2">Страница 2</SideNavLink>
</SideNavItems>
</SideNav>
<main id="main-content">
<h1>Добро пожаловать</h1>
<p>Основное содержимое страницы...</p>
</main>
<body> или корневого контейнера приложения.target и подключает стили skip-link глобально.SkipToContent в Carbon Components Svelte обеспечивает простой, но мощный способ улучшения доступности, минимизируя количество действий для пользователей, использующих клавиатуру, и поддерживая современные стандарты веб-доступности.