Меню
Поиск

Сложные интерфейсы и данные · Таблицы и списки

Как сделать таблицу для настоящих данных: длинные значения, узкий экран, фильтры и групповые действия

Таблица из макета живёт на десяти коротких строках, настоящая — на тысяче с длинными именами и крупными суммами. В уроке разберём, что делать с длинным значением, как закрепить колонку и выбрать плотность, как показать таблицу на телефоне, как сделать применённые фильтры заметными, как устроить выбор строк и групповое действие с отменой и что делать при тысяче строк. Для практики — таблица заказов «Лесной обжарки»: переключатели, настройка плотности, тренажёр и прогон на длинных данных.

Пример для всего урока. Таблица заказов из админки «Лесной обжарки», которую собирали в уроке Junior. Там было шесть заказов с короткими именами. Здесь — настоящий день магазина: 1 240 заказов за месяц, покупатели с двойными фамилиями, адреса с корпусами и офисами, заказы на 40 позиций для кофеен. И оператор, который работает с планшета на складе.

1Длинные значения: перенести, обрезать или вынести

В макете у всех покупателей имена по 12 букв. В базе рано или поздно появится имя на 50. Что с ним будет, решают заранее — для каждой колонки.

Способов три, и у каждого своя цена:

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

Без правила

№ПокупательТрек-номерСумма, ₽
1061Константинопольская-Щедрина Александра ВячеславовнаRU482917360544RU3 480
1062Ли АнRU482917360581RU890
Без правилаИмя растянуло колонку, сумма уехала за край, и на телефоне таблицу приходится листать ради одной фамилии. Так ведёт себя таблица, если никто ничего не решил.

Перенос

№ПокупательТрек-номерСумма, ₽
1061Константинопольская-Щедрина Александра ВячеславовнаRU482917360544RU3 480
1062Ли АнRU482917360581RU890
ПереносИмя видно целиком, строка стала выше. Подходит для текста, который нужно прочитать полностью: имена, названия, причины возврата. Держите предел — две-три строки, дальше обрезка.

Обрезка

№ПокупательТрек-номерСумма, ₽
1061Константинопольская-Щедрина Александра ВячеславовнаRU482917360544RU3 480
1062Ли АнRU482917360581RU890
Обрезка с концаСтроки одной высоты. Для имени это работает: начало имени его и отличает, а полное — в подсказке при наведении и в карточке заказа. Для трек-номера — нет: все номера начинаются одинаково, и обрезанными они неотличимы.

Обрезка в середине

№ПокупательТрек-номерСумма, ₽
1061Константинопольская-Щедрина Александра ВячеславовнаRU4829…544RU3 480
1062Ли АнRU4829…581RU890
Обрезка в серединеУ номеров, путей к файлам и кодов отличается конец, а не начало. Многоточие ставят в середину: видно и начало, и хвост, по которому номера различают.
Сумму не обрезают никогда: «3 4…» хуже, чем ничего. Под число колонку расширяют, а сжимают соседнюю текстовую.
Что в колонкеЧто делать с длиннымГде увидеть целиком
Имя, название товараПеренос на две строки, дальше обрезка с концаПодсказка при наведении и карточка
Адрес, комментарийОбрезка с конца или пометка «есть комментарий»Карточка
Номер, код, путь к файлуОбрезка в серединеПодсказка, кнопка «скопировать»
Число, сумма, датаНе обрезать. Колонка шире самого длинного значения—
Заголовок колонкиПеренос на вторую строку. Если и двух мало — понятное сокращение: «Ср. цена»Подсказка при наведении, пояснение под таблицей
Обрезанное должно где-то читаться целиком. Подсказка при наведении на телефоне не работает, поэтому полное значение есть ещё и в карточке записи. Если значение нужно, чтобы решить что-то прямо в таблице, его не обрезают, а переносят.

2Много колонок: закрепить, выбрать, уплотнить

Когда колонок больше, чем помещается, таблицу листают вбок. Чтобы при этом не потерять, чья это строка, первую колонку закрепляют.

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

Десять колонок на ноутбуке не помещаются.

Сначала проверьте, нельзя ли колонок сделать меньше. Илья Бирман из Бюро Горбунова советует начинать со структуры: разделить таблицу на две, объединить связанные колонки, вынести общее в название таблицы.

Если колонки всё равно не помещаются, работают четыре приёма.

ПриёмЧто даётКогда нужен
Закрепить первую колонкуНомер или имя стоят на месте, пока остальное листаетсяВсегда, если таблица шире экрана
Закрепить заголовокНазвания колонок видны, когда листают внизЕсли строк больше, чем помещается на экран
Дать выбрать колонкиКаждый оставляет свои: бухгалтеру — налог, оператору — доставкуЕсли с одной таблицей работают люди с разными задачами
Дать выбрать плотностьБольше строк на экране у тех, кто работает с таблицей весь деньВ рабочих инструментах, где таблицу смотрят часами

Попробуйте сами

Пролистайте таблицу ниже вбок: номер заказа остаётся на месте.

Кнопками под таблицей меняется плотность строк.

Заказы для бухгалтерии · десять колонок
Заказы за сентябрь 1 240
№ДатаПокупательОплатаТовары, ₽Скидка, ₽Доставка, ₽НДС, ₽Итог, ₽Чек
106128.09Александра Щедринакарта3 580−4003005803 480выбит
106228.09Ли АнСБП89000148890выбит
106329.09Кофейня «Зерно»счёт48 200−4 82007 23043 380ждёт оплаты
106429.09Павел Орловкарта12 450002 07512 450выбит
Плотная таблица показывает больше строк, но в ней легче промахнуться строкой. Обычная плотность — по умолчанию, плотная — выбор того, кто работает с таблицей весь день.

В дизайн-системе IBM Carbon у таблицы пять высот строки: 24, 32, 40, 48 и 64 пикселя. Самую высокую там советуют брать, только если в строке две строки текста. А в Nielsen Norman Group советуют закреплять строку заголовков и первую колонку, если таблица больше экрана. И давать прятать колонки так, чтобы было видно, что часть спрятана.

Таблица шире экрана листается вбок, а первая колонка стоит на месте. Иначе через три колонки непонятно, чья это строка.

3Таблица на узком экране

Прятать таблицу на телефоне нельзя: оператор на складе работает с планшета, а управляющая смотрит заказы с телефона. Способов показать таблицу на узком экране три, и выбирают по задаче.

Главный вопрос: человек сравнивает строки между собой или смотрит записи по одной? Если сравнивает, ему нужны колонки. Если смотрит по одной, колонки можно превратить в карточки.

Заказы на телефоне · три способа

Листать вбок

Заказы · 30 сентября
№ДоставкаСумма, ₽СтатусПокупатель
105110–141 850СобранИрина Соколова
105210–14890НовыйМарат Хасанов
104918–2212 450НовыйПавел Орлов
Листать вбок, первая колонка на местеКолонки остаются, суммы по-прежнему сравниваются взглядом. Колонки идут по важности: то, что нужно для решения, — в первом экране. Подходит, когда строки сравнивают.

Карточки

Заказы · 30 сентября
№ 1051 · Ирина Соколова10:00–14:00 · собран1 850 ₽
№ 1052 · Марат Хасанов10:00–14:00 · новый890 ₽
№ 1049 · Павел Орлов18:00–22:00 · новый12 450 ₽
Строки — карточкамиКаждый заказ читается целиком, без листания. Сравнивать суммы между заказами труднее: они стоят не столбцом, а в разных карточках. Подходит, когда записи смотрят по одной — найти заказ и открыть его.

Главное и раскрытие

Заказы · 30 сентября
№ДоставкаСумма, ₽Подробнее
105110–141 850раскрыть
105210–14890свернуть
Марат Хасанов · Колумбия, 250 г · новый · «Позвоните за час»
104918–2212 450раскрыть
Главное в строке, остальное по нажатиюТри колонки, которые нужны для решения, помещаются без листания. Остальное раскрывается под строкой. Подходит, когда главных колонок немного, а подробности нужны изредка.
Во всех трёх способах на телефоне остаётся то, по чему решают: номер, время доставки и сумма.
Задача на телефонеСпособ
Сравнить значения в строках: суммы, сроки, остаткиЛистать вбок, первая колонка закреплена
Найти запись и открыть еёКарточки или главное в строке
Пробежать список и сделать что-то с каждой записьюГлавное в строке, действие — в строке, подробности — по нажатию

В Nielsen Norman Group для таблиц на телефоне советуют закреплять заголовки и первую колонку, а обрезанной колонкой у края показывать, что таблица листается дальше. Новая таблица Shopify Polaris на узком экране сама превращается в список.

По WCAG таблица данных может листаться вбок — это исключение из критерия 1.4.10 о перестройке под узкий экран. Но заголовок, поиск и страницы вокруг неё перестраиваться обязаны.

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

4Фильтры: видно, что применено

Фильтр, который не видно, опаснее, чем отсутствие фильтра: человек думает, что видит все заказы, а видит часть.

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

Фильтр сохранился, но был спрятан за кнопкой «Фильтры».

Такие случаи решают три правила:

  • применённые фильтры видны над таблицей;
  • каждый можно снять одним нажатием;
  • рядом видно, сколько строк осталось из скольких.
Заказы с фильтрами · спрятаны и на виду
Заказы
ПоискФильтры (2)
Фильтры спрятаны
№ДоставкаПокупательСумма, ₽
105530.09 · самовывозАнна Коваль1 290
105830.09 · самовывозИгорь Белов640
Заказы 2 из 1 240
ПоискСамовывоз ×30 сентября ×Сбросить всё
Фильтры на виду
№ДоставкаПокупательСумма, ₽
105530.09 · самовывозАнна Коваль1 290
105830.09 · самовывозИгорь Белов640
Сверху два заказа — и не сказано, что это два из 1 240. Снизу видно, что отфильтровано, сколько осталось и как вернуть всё.
ВопросРешение
Что сейчас отфильтровано?Каждый фильтр — плашкой над таблицей, со значением: «Самовывоз», а не «Доставка (1)»
Как снять один фильтр?Крестик на плашке
Как вернуть всё?«Сбросить всё» рядом с плашками
Сколько осталось?«2 из 1 240» в шапке таблицы
Фильтр дал ноль строк?Пустая таблица называет фильтры и предлагает снять тот, без которого что-то найдётся
Фильтр сохраняется до завтра?Можно, если так удобнее работать. Но тогда он особенно заметен, а не ждёт за кнопкой

Baymard Institute по исследованиям интернет-магазинов советует показывать применённые фильтры списком над результатами, каждый с крестиком, и не ограничиваться числом вроде «Фильтры (2)».

Применённый фильтр видно без нажатий. Рядом — сколько строк осталось из скольких и как вернуть всё.

5Выбор строк и групповые действия

Утром оператор передаёт курьеру сорок заказов. По одному — сорок раз одно и то же. Выбор строк и групповое действие делают это за три нажатия.

Выбор строк — это флажок в начале каждой строки и флажок в заголовке, который выбирает все.

Когда выбрана хотя бы одна строка, над таблицей появляется панель: сколько выбрано и что с ними можно сделать. Посмотрите, как меняется таблица по шагам.

Выбор строк · по шагам

Ничего не выбрано

Номер, имя или телефонСобран ×
Выбрать все№ДоставкаПокупательСумма, ₽
105130.09 · 10–14Ирина Соколова1 850
104730.09 · 14–18Ольга Ким2 670
104430.09 · 14–18Сергей Лебедев1 780
1–25 из 42‹ 1 2 ›
Ничего не выбраноНад таблицей — поиск и фильтр «Собран». Флажки стоят в каждой строке всегда, а не появляются при наведении: оператор работает и с планшета, где наводить нечем.

Выбраны два

Выбрано: 2Передать курьеруПечать накладныхСнять выбор
Выбрать все№ДоставкаПокупательСумма, ₽
105130.09 · 10–14Ирина Соколова1 850
104730.09 · 14–18Ольга Ким2 670
104430.09 · 14–18Сергей Лебедев1 780
1–25 из 42‹ 1 2 ›
Выбраны дваПанель встала на место поиска: счётчик, главное действие, второе и «Снять выбор». Флажок в заголовке — с чертой: выбрана часть. Выбранные строки подсвечены.

Все на странице

Выбраны все 25 на этой странице.Выбрать все 42 собранныхПередать курьеруСнять выбор
Выбрать все№ДоставкаПокупательСумма, ₽
105130.09 · 10–14Ирина Соколова1 850
104730.09 · 14–18Ольга Ким2 670
104430.09 · 14–18Сергей Лебедев1 780
1–25 из 42‹ 1 2 ›
Все на страницеФлажок в заголовке выбрал 25 строк, которые видны, а собранных заказов 42. Панель говорит об этом прямо и предлагает выбрать все 42. Без этой строки оператор передал бы курьеру 25 и был бы уверен, что передал всё.

После действия

Номер, имя или телефонСобран ×
Выбрать все№ДоставкаПокупательСумма, ₽
Собранных заказов нетВсе 42 переданы курьеру.
42 заказа переданы курьеру.Отменить
После действияСказано, что сделано и со сколькими, и есть «Отменить». Заказы ушли из фильтра «Собран», поэтому таблица пуста — и она объясняет почему.
Та же схема в Gmail: «Выбраны все цепочки (50) на странице. Выбрать все цепочки (2000) в почте».

Спросить до или отменить после

Групповое действие меняет десятки записей одним нажатием, и ошибиться в нём дороже, чем в строке.

Защитить можно двумя способами: спросить до или дать отменить после.

Подтверждение нужно там, где отменить нельзя. Где можно — лучше сразу сделать и показать «Отменить»: вопрос «Вы уверены?» на каждое действие приучает нажимать «Да» не читая.

Проверьте себя

Восемь групповых действий в админке. Спросить до или дать отменить после?

Тренажёр · спросить до или отменить после
  1. Передать курьеру 42 собранных заказа.

  2. Отменить 12 заказов: каждому покупателю уйдёт письмо об отмене, деньги вернутся на карту.

  3. Выгрузить 300 выбранных заказов в файл.

  4. Переместить 8 отзывов в архив.

  5. Удалить навсегда 1 240 заказов за сентябрь: так просит сделать новая бухгалтерская программа.

  6. Поставить статус «Собран» 15 заказам.

  7. Разослать 400 покупателям письмо с промокодом.

  8. Напечатать накладные для 42 заказов.

Спросите: можно ли это вернуть? Если да — делайте сразу и дайте «Отменить». Если нет — спрашивайте, называя число и последствия.
Счётчик выбранного виден всегда, а «все» означает то, что написано. «Выбраны все 25 на этой странице» — не то же самое, что «выбраны все 42».

6Сотня строк и тысяча строк

Макет рисуют на десяти строках. Таблица живёт на тысяче. Что человек видит при тысяче строк, решают заранее.

Три способа показать много строк:

  • по страницам;
  • кнопкой «Показать ещё»;
  • бесконечной прокруткой, когда строки догружаются сами.

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

В Nielsen Norman Group её не советуют, когда нужно найти что-то конкретное или сравнить элементы длинного списка. А это и есть работа с таблицей.

СпособЧто хорошоЧто плохоКогда брать
СтраницыВидно, сколько всего строк и на какой странице человек сейчас; к странице можно вернуться по ссылкеСравнивать строки с разных страниц неудобноРабочие таблицы: заказы, заявки, клиенты
«Показать ещё»Список растёт, пока нужно, подвал доступенДлинный список тяжелеет, место легко потерятьСписки, которые смотрят подряд: история заказов покупателя
Бесконечная прокруткаНе нужно нажиматьНет подвала, нет общего числа, трудно вернуться на местоЛента, которую листают без цели. В рабочей таблице — почти никогда

Что ещё решить, когда строк много:

ВопросРешение в таблице заказов
Сколько строк на странице?25 по умолчанию, выбор 25, 50 или 100 — рядом с номерами страниц
Сколько всего?«1–25 из 1 240» в подвале и «1 240» в шапке
Что видно при листании вниз?Заголовок таблицы закреплён: названия колонок не уезжают
Что при возврате из карточки?Та же страница, те же фильтры и сортировка, строка, из которой ушли, на виду
Что пока грузится следующая страница?Строки на месте, поверх — скелет или индикатор в подвале. Таблица не прыгает к началу
Что, если строк 50 000?Поиск и фильтры важнее листания: столько страниц никто не пролистает
Возврат из карточки — на то же место. Оператор открыл заказ на седьмой странице, вернулся — и снова на первой, без фильтров. Это самая частая жалоба на рабочие таблицы, и в макете её не видно: её видно, только если нарисовать переход туда и обратно.

7Прогон на длинных данных

Таблицу заказов прогнали на выгрузке из настоящей базы: самые длинные имена, адреса и суммы месяца. Пять мест сломались.

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

Прогон на длинных данных · найдите поломки
Заказы Фильтры (3)
Выбрано: 25 Удалить
№ · закреплена Покупатель Интервал доставки Трек-номер Сумма, ₽
1061Константинопольская-Щедрина Александра Вячеславовна10:00–14:00RU482917360544RU3 480
1063Кофейня «Зерно»09:00–12:00RU482917360581RU43 380
1064Павел Орлов18:00–22:00RU482917360613RU12 450
Загружаем ещё…Строк на странице: 25
  1. «Заказы» без числа строк и кнопка «Фильтры (3)».Переделать. Три фильтра применены, но не видно какие, и не видно, сколько строк осталось из скольких. Плашки со значениями над таблицей и «3 из 1 240» в шапке.
  2. «Выбрано: 25» и «Удалить».Переделать. Флажок в заголовке выбрал видимые 25 строк, а панель не говорит, что это только эта страница, и не предлагает выбрать все. А удаление 25 заказов идёт без вопроса и без отмены.
  3. Первая колонка закреплена.Оставить. Таблица шире экрана, и номер заказа остаётся на месте, пока листают вбок.
  4. Заголовок «Интервал доставки» в две строки.Оставить. Длинный заголовок перенесён, а не обрезан: видно, что в колонке, и колонка не шире своих данных.
  5. Имя на две строки.Оставить. Имя читают целиком, и две строки — в пределах правила. Строка стала выше, но ничего не уехало.
  6. Трек-номера обрезаны с конца.Переделать. Все номера начинаются с «RU48291», и после обрезки они одинаковые. Отличается конец — обрезку ставят в середину: «RU4829…544RU».
  7. Сумма «43 3…».Переделать. Числа не обрезают. Самая крупная сумма месяца — ровно та, которую ищут, а она не читается. Колонка шире самого длинного числа, ужимается текстовая.
  8. Суммы по правому краю.Оставить. Разряды стоят друг под другом, крупное видно сразу.
  9. «Загружаем ещё…» — бесконечная прокрутка.Переделать. В рабочей таблице не видно, сколько всего, а после карточки заказа не вернуться на место. Страницы с «1–25 из 1 240».
  10. «Строк на странице: 25».Оставить. Разумное число по умолчанию, и тот, кому мало, выберет 50 или 100.

Все пять найдены. Спрятанные фильтры, «все», которых только 25, номера, неотличимые после обрезки, обрезанная сумма и бесконечная прокрутка. На десяти строках из макета ни одна из этих поломок не видна.

Нормальные куски тоже можно нажать: вы прочитаете, почему там всё в порядке, а счётчик «Найдено» не изменится.
Таблицу проверяют на самых длинных данных, а не на средних. Попросите у разработки выгрузку: самое длинное имя, самый длинный адрес, самую крупную сумму, самый большой заказ.

8Задание

Доведите свою таблицу до настоящих объёмов: фильтры, выбор строк, групповое действие, поведение на узком экране. Прогоните её на данных с длинными значениями.

Часть 1 · Собрать худшие данные, 20 минут

  1. Возьмите таблицу из задания Junior или любую рабочую таблицу своего продукта.
  2. Соберите худшие значения для каждой колонки: самое длинное, самое короткое, пустое. Лучше из настоящей выгрузки, а не придуманные.
  3. Выпишите объёмы: сколько строк обычно, сколько в самый загруженный день, сколько за год.
  4. Решите по каждой колонке, что делать с длинным: перенос, обрезка с конца, обрезка в середине или «не обрезать».
Таблица на настоящих данных · заполните
ТАБЛИЦА: ______________________        Дата: __.__.____

ОБЪЁМЫ
обычно: ____ строк   в пиковый день: ____   за год: ____
показ: страницы по ____ / «Показать ещё»   почему: __________

КОЛОНКИ И ДЛИННЫЕ ЗНАЧЕНИЯ
колонка ________  самое длинное: ________________  перенос / обрезка с конца / в середине / не обрезать
колонка ________  самое длинное: ________________  перенос / обрезка с конца / в середине / не обрезать
первая колонка закреплена: да / нет

УЗКИЙ ЭКРАН
задача на телефоне: сравнить / найти и открыть / пройти по списку
способ: листать вбок / карточки / главное и раскрытие
что остаётся на экране: ______________________

ФИЛЬТРЫ
где видно применённые: ______________________
«N из M»: где ______________   сброс всего: где ______________

ВЫБОР И ГРУППОВЫЕ ДЕЙСТВИЯ
действие ________________  отменить можно: да / нет → отмена / подтверждение
«все на странице» → «выбрать все N»: текст ______________________

ВОЗВРАТ ИЗ КАРТОЧКИ: страница, фильтры, сортировка сохраняются: да / нет
Строку «самое длинное» заполняйте настоящими значениями из базы: придуманные всегда короче настоящих.

Часть 2 · Нарисовать, 60 минут

  1. Подставьте худшие данные в таблицу и поправьте колонки по своим решениям.
  2. Нарисуйте фильтры в применённом виде: плашки, «N из M», «Сбросить всё», пустой результат.
  3. Нарисуйте выбор по шагам: ничего, часть, все на странице с предложением выбрать все, после действия с отменой.
  4. Нарисуйте узкий экран выбранным способом на тех же худших данных.

Часть 3 · Проверить, 15 минут

  1. Проверьте каждую ширину: ноутбук, планшет, телефон. Ничего не уехало за край, числа не обрезаны.
  2. Пройдите сценарий «отфильтровал → выбрал → сделал → ошибся → отменил» и сценарий «открыл карточку → вернулся».
Как понять, что задание выполнено. На данных с самыми длинными значениями раскладка не ломается ни на одной ширине.

Что должно получиться

  • Таблица на худших данных на трёх ширинах.
  • Фильтры и выбор строк по шагам, с отменой группового действия.
  • Заполненный шаблон с решениями по каждой колонке.

План работы: 20 минут на данные, час на макеты, 15 минут на проверку. Всего — около полутора часов.

Частые сложности

  • «Настоящих данных не дают». Попросите не данные, а крайние значения: длину самого длинного имени, самую крупную сумму, число строк за год. Это не личные данные, а цифры.
  • «На телефоне таблицей никто не пользуется». Посмотрите статистику: заходят ли в админку с телефона. Если заходят хоть изредка, таблица должна там хотя бы читаться.
  • «Отмену сложно сделать». Тогда это действие с подтверждением, и в вопросе — число записей и что с ними будет. Но спросите разработку: часто «отменить» — это просто вернуть прежний статус.
  • «Фильтров слишком много для плашек». Плашками показывают применённые фильтры, а не все возможные. Применённых обычно два-три.

9Чек-лист и ошибки

Таблица готова к настоящим данным, если

  • Для каждой колонки решено, что делать с длинным значением
  • Числа не обрезаются, длинный заголовок переносится или понятно сокращается
  • Обрезанное значение можно прочитать целиком в карточке
  • Первая колонка закреплена, если таблица шире экрана
  • На телефоне остаётся то, по чему решают, и видно, как добраться до остального
  • Применённые фильтры видны плашками, рядом «N из M» и «Сбросить всё»
  • «Выбрать все» говорит, сколько выбрано, и предлагает выбрать все подходящие
  • Групповое действие либо отменяется, либо спрашивает с числом и последствиями
  • После возврата из карточки — та же страница, фильтры и сортировка

Что мешает

  • Макет на средних данных. Поломки видны только на самых длинных.
  • Фильтры за кнопкой. Человек не знает, что видит часть строк.
  • «Выбраны все» на одной странице. Действие уходит на 25 строк вместо 1 240, или наоборот.
  • «Вы уверены?» на всё. Люди привыкают нажимать «Да», и вопрос перестаёт защищать.
  • Бесконечная прокрутка в рабочей таблице. Не видно, сколько всего, и не вернуться на место.

10Три ступени темы

В этом уроке учимся держать настоящие объёмы и настоящую работу с таблицей. На следующей ступени — сводить все таблицы продукта к общим правилам.

СтупеньЧто нужно уметьКак проверить результат
Junior Выбирать колонки под решение; выравнивать числа и текст; показывать сортировку; рисовать пустую таблицу с объяснением; решать, где живёт действие над строкой Для каждой колонки можно объяснить, какое решение она помогает принять
Middle — этот урок Держать длинные значения, много колонок и сотни строк; проектировать таблицу для узкого экрана; показывать применённые фильтры; давать выбор строк и групповые действия с отменой На данных с самыми длинными значениями раскладка не ломается ни на одной ширине
Senior Сводить таблицы продукта к общим правилам; задавать поведение по умолчанию; описывать, когда таблица не подходит; проверять новые экраны по правилам и обновлять правила Новая таблица, собранная другим дизайнером по правилам, ведёт себя так же, как остальные
Ориентир по этой теме: вы заранее знаете, что станет с вашей таблицей при самом длинном имени, тысяче строк и узком экране, и это нарисовано, а не оставлено разработке.

Что почитать дальше

  • Mobile Tables: Comparisons and Other Data TablesNielsen Norman Group, Эми Шейд · на английском · бесплатноКак уместить большую таблицу в телефон: ширина колонок, закреплённые шапка и первый столбец, заметная прокрутка вбок, выбор нужных строк и колонок. Примеры 2017 года, в основном сравнение товаров.
  • Overflow contentIBM Carbon Design System · на английском · бесплатноКороткий паттерн IBM Carbon об обрезке текста: многоточие в начале, в середине и в конце, обязательная подсказка с полным текстом и что обрезать нельзя. Про таблицы и телефон там ничего.
  • Расскажите про вёрстку больших таблицСоветы Бюро Горбунова, Илья Бирман, 2015 · на русском · бесплатноОтвет Ильи Бирмана про таблицу в 20 колонок: разделить и объединить колонки, сократить заголовки, переносить длинные значения, закрепить шапку — или оставить таблицу широкой. С девятью примерами 2015 года.
  • Display “Applied Filters” in an OverviewBaymard Institute, Кэтрин Ривз · на английском · бесплатноИсследование Baymard на каталогах магазинов: почему без списка выбранных фильтров люди неверно понимают, что видят, где этот список ставить и почему одного числа «Фильтры (2)» мало. Перенос на рабочие таблицы — вывод урока.
  • Infinite Scrolling: When to Use It, When to Avoid ItNielsen Norman Group, Тим Нойзессер · на английском · бесплатноЧем бесконечная прокрутка удобна и чем мешает: трудно найти элемент снова, не видно конца, недоступен подвал. Когда лучше страницы или «Показать ещё» и почему после карточки человека возвращают на то же место.
  • Пагинация таблицы ордеров с тысячами строкСоветы Бюро Горбунова, Илья Бирман, 2022 · на русском · бесплатноКороткий ответ Ильи Бирмана про таблицу на десятки тысяч строк: вместо умной разбивки на страницы разобрать задачи поиска и сравнения и дать под них фильтры, поиск и отчёты.