Анатомия React компонента
Моё видение того, как должен выглядеть React компонент
421
7 мин.
Стандарт SSB-C определяет требования к семантике, доступности и логике работы хлебных крошек.
Хлебные крошки должны использовать <nav> для обозначения блока навигации, <ol> для упорядоченного списка и <li> для каждого элемента хлебной крошки:
<nav class="breadcrumbs">
<ol class="breadcrumbs__list">
<li class="breadcrumbs__item">
<a href="/" class="breadcrumbs__link">Главная</a>
</li>
<li class="breadcrumbs__item">
<a href="/category" class="breadcrumbs__link">Категория</a>
</li>
<li class="breadcrumbs__item breadcrumbs__item--current">
Название текущей страницы
</li>
</ol>
</nav>Последний элемент списка обозначает текущую страницу, он не должен быть ссылкой, также следует добавить aria-current="page" для улучшения доступности:
<li class="breadcrumbs__item breadcrumbs__item--current" aria-current="page">
Название текущей страницы
</li>Элементы <li> содержат базовые стили, которые наследуются ссылками <a>, а для предотвращения переноса текста используется white-space: nowrap;:
.breadcrumbs__item {
font-size: 14px;
color: #6c757d;
white-space: nowrap;
}
.breadcrumbs__link {
color: #007bff;
text-decoration: none;
}
.breadcrumbs__item--current {
font-weight: bold;
color: #343a40;
}Для удобства на мобильных устройства стоит добавить горизонтальный скролл:
.breadcrumbs {
overflow-inline: auto;
overflow-block: hidden;
}
.breadcrumbs__list {
display: flex;
}Микроразметка Schema.org помогает поисковикам правильно определять контент на странице:
<nav class="breadcrumbs">
<ol class="breadcrumbs__list" itemscope itemtype="https://schema.org/BreadcrumbList">
<li class="breadcrumbs__item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="/">
<span itemprop="name">Главная</span>
</a>
<meta itemprop="position" content="1" />
</li>
<li class="breadcrumbs__item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="/category">
<span itemprop="name">Категория</span>
</a>
<meta itemprop="position" content="2" />
</li>
<li class="breadcrumbs__item breadcrumbs__item--current" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" aria-current="page">
<span itemprop="name">Название текущей страницы</span>
<meta itemprop="position" content="3" />
</li>
</ol>
</nav>Похожие категории:
Моё видение того, как должен выглядеть React компонент
421
7 мин.
Стандарт SST-A определяет требования к семантике, доступности и логике работы табов
62
6 мин.
Стандарт SSF-U определяет требования к семантике, доступности и логике работы фуллскрина
248
2 мин.
Стандарт SSA определяет требования к семантике, доступности и логике работы аккордеона
258
2 мин.
Разбор критических ошибок веб-дизайна. Почему слайдеры, автоплей и тяжёлые страницы снижают конверсию и позиции в Google и Yandex
232
1 мин.
Стандарт SSP определяет требования к семантике, доступности и логике работы пагинации
240
1 мин.