⚙️
Front-end patterns
  • Введение
  • Шаблоны
    • Эффекты CSS
      • Overlay
      • Анимация display:none
      • Текст
        • Фон текста градиент с анимацией
      • Элементы формы
        • Вертикальное выравнивание placeholder по вертикали
      • Ссылки
        • Градиент как основной цвет
        • Линия под ссылкой ездит слева направо при наведении
      • Скрывать блок .clipped
    • Модальное окно
      • Dialog
    • Элементы формы
      • Select
      • Radio
      • CheckBox
      • Ввод текста (input)
        • Телефон (tel)
        • Почта (email)
      • Кнопка
    • Вкладки/Списки
      • Вкладки или Табы (tabs)
      • Аккордеон (Accordion)
    • Навигация
      • Основная и дополнительная навигация на сайте
        • Анимирование основной навигации
      • Пропустить навигацию
      • Хлебные крошки (Breadcrumbs)
      • Кнопка основной навигации (Бургер)
    • Структуры
      • Контейнер
      • Столбцы
      • Прогресс
      • Горизонтальная прокрутка карточек
      • Цитата
    • Тэги (семантика)
      • Текст
      • Логика
    • Увеличить скорость загрузки страницы
    • Шрифты
  • JS
    • Прокрутка страницы
    • Анимация элементов
  • A11Y
    • Фокус с клавиатуры
    • No sort
  • WordPress
    • Решения и подсказки
    • Плагины
    • Натягиваем сайт
      • Пустая тема
      • Делаем главную (пустую) страницу
      • Подключаем стили и js
      • Заменяем содержимое файлов (header, footer, page)
    • Свой плагин
      • Шаблон
      • Административная часть
      • Пользовательская часть
      • Локализация плагина
  • Ghost
    • Создание своей темы
      • Фалы шаблона
        • Partials
          • footer.hbs
          • header.hbs
          • post_card.hbs
        • index.hbs
        • default.hbs
        • post.hbs
      • Переменные
      • Циклы, условия и функции
  • Visual Studio
  • Gulp
    • Deploy on GitHub
    • Плагин
    • Моя сборка
      • Изображения
  • Регулярные выражения
  • Алгоритмы
    • Поиск
    • Сортировка
    • Поиск в ширину (глубину)
    • Типы данных
  • Конструкторы сайтов
Powered by GitBook
On this page
  • Основные данные
  • Терминология
  • Лучшая практика
  • Интерактивный дизайн
  • Управление клавиатурой
  • Screenreader
  • Код
  • ARIA

Was this helpful?

  1. Шаблоны
  2. Навигация

Хлебные крошки (Breadcrumbs)

Список ссылок, представляющих текущее положение в иерархии сайта.

PreviousПропустить навигациюNextКнопка основной навигации (Бургер)

Last updated 3 years ago

Was this helpful?

Основные данные

Основной ресурс откуда взята информация -

Хлебные крошки - это ориентир навигации, который позволяет пользователю определить свое текущее положение в иерархии сайта и предоставляет средства для перехода вверх по этой иерархии.

Терминология

  • breadcrumbs это цельный паттерн, состоящий из суб частей

  • breadcrumb item: это ссылка

  • separator: графический символ, который разделяет каждый breadcrumb

Лучшая практика

Обычно используются в качестве вторичной навигации на сайтах, организованных в иерархическом порядке.

В качестве разделителя используется символ (иконка) SVG.

Последняя ссылка на хлебные крошки, представляющая текущее место в иерархии, не интерактивна.

Хлебные крошки должны иметь заголовок «Вы здесь» или соответствующие слова. Этот заголовок можно визуально скрыть за кадром.

Если путь хлебных крошек достаточно длинный, то рекомендуется скрывать промежуточные положения и оставлять только две ссылки.

Интерактивный дизайн

Взаимодействие с хлебными крошками похоже на простой список упорядоченных ссылок.

Управление клавиатурой

Клавиша TABпозволяет перейти от навигационной крошки к навигационной крошке.

Символы-разделители не должны фокусироваться с клавиатуры.

В последней строке навигации отсутствует значение href, поэтому она не указана в порядке табуляции.

Screenreader

Программа чтения с экрана распознает хлебные крошки как ориентир навигации.

Каждая навигационная цепочка будет объявлена ​​как «ссылка», за которой следует текст ссылки.

Программа чтения с экрана должна игнорировать каждый значок разделителя.

Код

Для хлебных крошек не требуется JavaScript, они представляют собой просто упорядоченный список ссылок и значков внутри области навигационных ориентиров.

 <nav aria-labelledby="breadcrumbs_heading" class="container breadcrumbs" role="navigation">
            <h2 class="clipped" id="breadcrumbs_heading">Вы здесь</h2>
            <ol class="breadcrumbs__list">
               <li class="breadcrumbs__item">
                  <a class="breadcrumbs__link" href="http://www.ebay.com">Home</a>
                  <img class="breadcrumbs__icon" src="/img/svg/icons.svg#arrow" alt="" />
               </li>
               <li class="breadcrumbs__item">
                  <a class="breadcrumbs__link" href="http://www.ebay.com">Clothing, Shoes &amp; Accessories</a>
                  <img class="breadcrumbs__icon" src="/img/svg/icons.svg#arrow" alt="" />
               </li>
               <li class="breadcrumbs__item">
                  <a class="breadcrumbs__link" href="http://www.ebay.com">Men's Shoes</a>
                  <img class="breadcrumbs__icon" src="/img/svg/icons.svg#arrow" alt="" />
               </li>
               <li class="breadcrumbs__item">
                  <a class="breadcrumbs__link" aria-current="location">Boots</a>
               </li>
            </ol>
         </nav>
.breadcrumbs {
   &__list {
      display: flex;
      flex-wrap: wrap;
   }
   &__list li + li {
      margin-left: 5px;
   }

   &__item {
   }
   &__item:last-child,
   &__item:first-child {
      @media (max-width: $md0+px) {
         display: none;
      }
   }

   &__link {
      color: var(--color-black);
      text-decoration: none;
      font-size: 12px;
   }
   &__link:hover:not(:last-child) {
      text-decoration: underline;
   }

   &__icon {
      width: 10px;
   }
}

Хотя значок разделителя можно создать с помощью CSS, мы обнаружили, что встроенный SVG предлагает более доступный и гибкий подход.

ARIA

  • aria-current="location": предоставляет AT программное состояние на хлебной крошке, которое отражает текущее расположение сайта;

  • role=navigation: создает ориентир для AT.

Заголовок («Вы здесь») обычно скрывается за кадром с помощью класса ..

clipped
https://ebay.gitbook.io/mindpatterns/navigation/breadcrumbs