Версия источника: 613500afd8eca5143b4094f6f5cd48e67844f8ff
Синхронизировано: 2026-11-11T03:48:23.836Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/613500afd8eca5143b4094f6f5cd48e67844f8ff

<a id="interface-row-selection"></a>

# Выделение строк

## Коротко

Выбор записей должен быть явным и поддерживать диапазон через Shift.

## Плохо

```text
Клик по строке иногда открывает, иногда выделяет.
«Выбрать всё» молча включает неизвестные записи.
```

## Хорошо

```text
Первый столбец — чекбоксы.
Shift + чекбокс выбирает диапазон в текущем порядке.
«Выбрано 50 загруженных»; отдельно «Все 2000 найденных».
```

## Почему

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

## Когда применять

Таблицы с групповыми действиями. Заголовок имеет промежуточное состояние при частичном выборе. При изменении фильтра сбрасывайте выбор с понятным сообщением; подгрузка не выбирает новые строки молча.

## Как проверить

- Проверьте Shift в обоих направлениях и после сортировки.
- Измените запрос и проверьте состав выбранных ID.

## Человек

Определяет допустимый масштаб массовых действий.

## Агент

Разделяет диапазон загруженных строк и явный выбор всей выборки.

## Пример применения

Якорь диапазона — последняя выбранная строка. При смене сортировки старый якорь сбрасывается. Выбор по всей выдаче фиксирует запрос и повторно проверяет права на сервере.

## Источники

- [Carbon Design System: Data table](https://www.carbondesignsystem.com/building-blocks/core/components/data-table/guidelines)
- [Grid (Interactive Tabular Data and Layout Containers) Pattern | APG | WAI | W3C](https://www.w3.org/WAI/ARIA/apg/patterns/grid/)

Уровень: Обязательно. Опубликовано: 2026-11-11. Проверено: 2026-11-11. Изменено: 2026-11-11.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/613500afd8eca5143b4094f6f5cd48e67844f8ff/registry/standards/ui/admin-interface/rules/row-selection.md)
