Components

Divider

Тонкая линия-разделитель для визуального разграничения контента. Поддерживает горизонтальную и вертикальную ориентацию, три уровня интенсивности и отступы.

Horizontal

orientation=horizontal
Contrast: low (default)
Первичный контент — заголовки и основной текст страницы

Вторичный контент — подробности, метаданные, дополнительный контекст

Contrast: medium  contrast=medium
Средняя интенсивность — для разделения секций внутри компонента

Contrast: high  contrast=high
Высокая интенсивность — акцентное разделение между крупными блоками

Vertical

orientation=vertical
Левый блок
Содержимое

Low  contrast=low
Тонкое разделение

Medium  contrast=medium
Среднее разделение

High  contrast=high
Акцентное разделение

Padding

margin-block вокруг линии
padding=0 (default)

padding=2  padding=2

padding=4  padding=4

Props

PropTypeDefaultValues
orientation string 'horizontal' horizontal  vertical
contrast string 'low' low  medium  high
padding number 0 0  2  4

Tokens

TokenStyleSwatch
--ds-stroke-low low
--ds-stroke-mid medium
--ds-stroke-high high

Доступность

WCAG 2.2 AA · ARIA · статический компонент
ARIA

Разметка

  • Смысловой разделитель → role="separator" (по умолчанию у <hr>)
  • Чисто декоративная линия → aria-hidden="true" — исключить из дерева доступности
  • Вертикальная ориентация → aria-orientation="vertical" (по умолчанию horizontal)
  • Divider статический — без фокуса, состояний и обработчиков событий
  • Не носит смысловую нагрузку: группировку выражать заголовком, а не линией
WCAG 2.2 AA

Контраст и цвет

  • Линия должна быть различима относительно фона — контраст через токены --ds-stroke-*
  • Low / Medium контраст по умолчанию, чтобы divider не конкурировал с контентом
  • High контраст — только для строго выраженных границ (карточки, панели, навигация)
  • Не использовать слишком контрастный цвет в информационных интерфейсах
  • Не передавать смысл только линией — дополнять текстовыми обозначениями (WCAG 1.4.1)

Правила использования

Когда · Чего избегать
Правила

Когда использовать Divider

  • Внутреннее разделение в карточках и панелях — основной текст от вспомогательной информации, итоги от деталей
  • Разделение элементов в списках — тонкая линия между строками при высокой плотности данных
  • Разграничение зон навигации и контента — боковое меню, тулбар, фильтры от рабочего поля
  • Использовать Low / Medium контраст по умолчанию, чтобы divider не конкурировал с контентом
  • Использовать divider только как визуальное дополнение к структуре
  • Меньше divider — лучше
Чего избегать

Когда НЕ использовать

  • Для смысловой группировки — выражай заголовком / подзаголовком (Heading), а не линией
  • Как разделитель между каждым мелким элементом — разделяй whitespace / отступами
  • Чтобы отделить целую зону или карточку — используй Surface с границей Stroke/Neutral/Low или фоном
  • Между перекрывающимися однотипными элементами (стек аватаров, чипы вплотную) — там Stroke/Neutral/Group-separator на каждом элементе
  • Как интерактивный разделитель (resize-handle, drag-splitter) — Divider статический; для ресайза нужен splitter
  • У последнего элемента списка — правило последней линии

State Explorer

Интерактивный тест состояний — переключай и смотри