SSB-C - Единый стандарт для хлебных крошек

SSB-C - Единый стандарт для хлебных крошек

25

2 мин.

Определения

Стандарт 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 компонента

    Моё видение того, как должен выглядеть React компонент

    107

    7 мин.

  • SSF-U - Единый стандарт для фуллскрина

    Стандарт SSF-U определяет требования к семантике, доступности и логике работы фуллскрина

    38

    2 мин.

  • SSA - Единый стандарт для аккордеона

    Стандарт SSA определяет требования к семантике, доступности и логике работы аккордеона

    54

    2 мин.

  • Bad Practices для сайтов

    Разбор критических ошибок веб-дизайна. Почему слайдеры, автоплей и тяжёлые страницы снижают конверсию и позиции в Google и Yandex

    50

    1 мин.

  • SSP - Единый стандарт для пагинации

    Стандарт SSP определяет требования к семантике, доступности и логике работы пагинации

    59

    1 мин.

  • SSPS - Единый стандарт для структуры проекта

    Стандарт SSPS определяет требования к структуре и наименованию файлов и папок в проекте

    169

    2 мин.

  • Все статьи

Свяжитесь со мной