Иерархический список (дерево) — древовидный каталог с большим количеством данных.
Когда нужно обеспечить пользователю удобную работу с большим количеством данных (сотни элементов). При этом либо пользователь имеет возможность структурировать эти данные в древовидный каталог, либо данные уже приходят к нему в таком виде из системы. Если эти условия не соблюдаются, то лучше использовать обычный список.
Если введен поисковый запрос — в дереве показываются только элементы:
Текст, совпавший с поисковым запросом в названии элемента, выделяется жирным.
Может быть одиночный или множественный выбор (ограничивается на уровне дерева).
Элемент можно выбрать, нажав на него (в любую область, кроме иконки «Развернуть» («Свернуть») и кнопки доп. действий). Чтобы выбрать несколько элементов мышью, используются клавиши Ctrl или Shift, чтобы выбрать несколько элементов с клавиатуры — клавиша Space.
Нелистовые элементы можно разворачивать и сворачивать по клику на иконку «стрелка».
Если в древовидном списке включены чекбоксы, то выбор нескольких элементов возможен через клик на чекбокс.
Иногда может присутствовать кнопка дополнительных действий над элементом.
Есть несколько вариантов множественного выбора элементов. См. в примерах.
Клавиша |
Действие |
|---|---|
| Tab | Если фокус установлен на предыдущем компоненте в таб-последовательности по отношению к дереву → Переход к первой строке дерева или к выделенной строке Если фокус установлен на любом элементе дерева и у него нет доп. действий → Переход к следующему компоненту в таб-последовательности по отношению к дереву Если фокус установлен на любом элементе дерева и у него есть доп. действия → Переход к первому доп. действию Если фокус установлен на доп. действии элемента → Переход к следующему доп. действию (если оно есть), иначе переход к следующему компоненту в таб-последовательности по отношению к дереву |
| Shift + Tab | Если фокус установлен на любом элементе дерева → Переход к предыдущему компоненту в таб-последовательности по отношению к дереву Если фокус установлен на следующем компоненте в таб-последовательности по отношению к дереву → Переход к первой строке дерева или к выделенной строке |
| → | Если фокус установлен на нелистовом элементе → Раскрытие вложенных элементов этого элемента Если фокус установлен на листовом элементе → Ничего не происходит |
| ← | Если фокус установлен на нелистовом элементе → Закрытие вложенных элементов этого элемента Если фокус установлен на листовом элементе → Ничего не происходит |
| ↵ | Если фокус установлен на элементе дерева → Запуск основного действия этого элемента Если фокус установлен на элементе дерева с чекбоксом → Ничего не происходит Если фокус установлен на доп. действии → применение этого доп. действия |
| Space | Если фокус установлен на элементе дерева с чекбоксом → Выбрать этот элемент дерева (и все вложенные, если есть) Если фокус установлен на элементе дерева → Ничего не происходит Если фокус установлен на доп. действии → применение этого доп. действия |
| ↑ ↓ | Если фокус установлен на элементе дерева → Переход к следующему (если элемент последний — ничего не происходит) / предыдущему элементу дерева (если элемент первый — ничего не происходит) |
| PgUp | Сместить фокус на самый нижний видимый элемент Если текущий элемент — самый нижний видимый → Пролистать дерево вниз Если текущий элемент — самый нижний в дереве → Ничего не происходит |
| PgDn | Сместить фокус на самый верхний видимый элемент Если текущий элемент — самый верхний видимый → Пролистать дерево вверх Если текущий элемент — самая верхний в дереве → Ничего не происходит |
| Home | Сместить фокус на первый элемент дерева |
| End | Сместить фокус на последний загруженный элемент дерева |
| Ctrl + клик | При клике по элементам дерева — множественный выбор строк При клике в выбранный элемент — элемент перестает быть выбранным |
| Shift + ↓ Shift + ↑ |
Если фокус установлен на элементе дерева → Множественный выбор следующих / предыдущих элементов дерева (если строка первая или последняя — ничего не происходит) |
| Ctrl + C | Если фокус установлен на элементах дерева → Копирование содержимого элементов По умолчанию копируются названия элементов. Разделитель между элементами — перенос строки |
| Ctrl + A | Если фокус установлен на любом элементе дерева → Выбрать все элементы дерева (включая незагруженные) |