October 1

Дизайн списков 101 — краткое руководство для начинающих

перевод статьи List Design 101 – A Short Guide for Beginners
Изображения также взяты из статьи.

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

В этом руководстве мы рассмотрим лучшие практики, ключевые принципы и практические советы по созданию визуально привлекательных и функциональных списков для любых UI-проектов.

Что такое список в UI-дизайне?

В UI-дизайне список — это способ организации информации по вертикали, позволяющий пользователям быстро просматривать и воспринимать данные. Списки могут содержать разное: от простых текстовых элементов до более сложных макетов с изображениями, описаниями и интерактивными элементами.

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

Прочитайте также: How to Design a Table UX

Списки не имеют фиксированной структуры. Каждый элемент списка существует сам по себе, а не как часть структурированного набора данных со строками и колонками. Элемент списка может быть как одной строкой текста в выпадающем меню, так и сложной карточкой с большим количеством информации.

Итак, главное различие между списками и таблицами — это структура данных. Таблицы имеют строгий дизайн, тогда как списки могут существовать в самых разных форматах.

Типы дизайна списков

Существует три основных типа дизайна списков:

- Текстовые списки
- Списки с изображениями
- Карточные списки

Текстовые списки

Существует три типа текстовых списков. Обычно такие списки содержат текст, а также изображение, иконку или другие элементы интерфейса — например, чекбокс или радиокнопку.

Однострочные списки.
Самая простая форма списка: каждая строка содержит только один элемент контента. Подходят для короткой информации, например списка настроек или контактов.


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


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

Списки с изображениями

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

Если список с изображениями не содержит текста, важно добавлять описательные alt-атрибуты, чтобы скринридеры могли корректно воспроизводить содержимое.

Карточные списки

Карточные списки обычно содержат изображения и текст, а также могут включать CTA (призыв к действию). Чаще всего такие списки встречаются в eCommerce — списки товаров содержат картинку, название, краткое описание, теги категории, цену и кнопку «Добавить в корзину».

---

Как проектировать списки в UI

Шаг 1: Сначала думайте о контенте

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

У UX-дизайнеров есть три основных способа структурировать списки: по горизонтали, по вертикали и в виде сетки.

Пример: Instagram
- Основная лента — вертикальный список
- Лента сторис — горизонтальный список
- Поиск — «masonry grid» (плиточная сетка)

В рамках этих трёх структур у дизайнеров есть практически бесконечное количество вариаций.

Шаг 2: Следуйте принципам Atomic Design

У дизайна списка есть три составляющих:

Список (List): все элементы списка вместе.
Элемент списка (List item): отдельный пункт внутри списка.
Содержимое элемента (List content): наполнение элемента — изображение, текст, метаданные, заголовок, подзаголовки и другие элементы интерфейса.

Полезно применять подход Atomic Design, решая, как собрать эти части воедино:

Атомы (Atoms): содержимое внутри элемента списка — отдельные картинки и текст.
Молекулы (Molecules): компоненты внутри элемента — например, компонент с аватаркой.
Организмы (Organisms): каждый элемент списка.
Шаблоны (Templates): весь список целиком, включая поле поиска, фильтры и прочее.

---

Шаг 3: Дизайн с учётом последовательности

Последовательность — ключ к хорошему дизайну списка. Важно, чтобы все элементы имели одинаковую структуру: одинаковое расположение текста, иконок и действий. Это улучшает визуальный ритм и удобство: пользователи быстро привыкают к расположению информации и знают, где искать нужное. Единая структура снижает когнитивную нагрузку и делает интерфейс более интуитивным.

Шаг 4: Оптимизация под разные устройства

Всегда учитывайте, как список будет выглядеть на разных экранах. На мобильных лучше работает вертикальный список, а на десктопах может подойти сетка. Регулируйте размеры шрифта, интервалы и макет так, чтобы сохранить читаемость и удобство вне зависимости от устройства.

Шаг 5: Тестирование доступности

Списки должны быть доступны всем пользователям, включая тех, кто использует скринридеры. Применяйте правильные HTML-элементы (упорядоченные и неупорядоченные списки), по возможности избегайте вложенных списков. Также обеспечьте достаточный контраст для читаемости и добавляйте альтернативный текст к изображениям.

---

Лучшие практики дизайна списков

1. Учитывайте потребности пользователей

Хороший дизайн списка следует принципам дизайн-мышления и user-centered design. Он должен соответствовать задачам пользователей и корректно отображать нужный контент. Дизайнеру важно учитывать адаптивность и то, как список будет выглядеть на разных устройствах.

2. Следуйте принципам Material Design

В Material Design есть три принципа для списков: они должны быть **логичными, функциональными и последовательными**.

Логичными: упорядочивайте списки понятным образом (по алфавиту, по числам и т. п.).
Функциональными: элементы должны быть легко различимы и кликабельны.
Последовательными: иконки, текст и действия должны быть оформлены в едином стиле.

3. Делайте списки удобными для сканирования

Ключ к хорошему UX — возможность быстро «пробегать глазами» список и находить нужное. Чем быстрее пользователь получает информацию, тем лучше его опыт и выше вероятность, что он будет пользоваться вашим продуктом и рекомендовать его.

4. Используйте визуальную иерархию

Иерархия играет огромную роль в восприятии списка. Её можно создавать с помощью типографики, цвета, отступов, изображений и т. д.

Пример: eCommerce
В списке товаров используется цвет, размер и типографика для разделения контента и выстраивания иерархии:
- Название товара: крупный чёрно-белый текст в верхней части.
- Описание: серый текст меньшего размера.
- Цена: крупный тёмный текст.
- Отзывы: мелкий текст со звёздочками яркого цвета.
- Изображение: большая круглая картинка товара.

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

Пример: Spotify
В более простом варианте Spotify использует размер и цвет шрифта для выделения названия трека и имени исполнителя. Разница в размере и цвете облегчает просмотр плейлистов.

5. Обеспечьте доступность

Списки могут создавать проблемы для скринридеров, что ухудшает опыт у слабовидящих пользователей. Например, скринридеры неправильно воспринимают вложенные списки. Поэтому дизайнеры должны использовать заголовок вместе с упорядоченным или неупорядоченным списком вместо вложенных структур.

Рекомендуемая литература по доступности списков:
- [Lists in HTML — Penn State](https://accessibility.psu.edu/listshtml/)
- [Lists — NC State](https://accessibility.oit.ncsu.edu/it-accessibility-at-nc-state/developers/html/lists/)
- [Lists Accessibility — Oregon State University](https://accessibility.oregonstate.edu/lists)

---

Паттерны и взаимодействия в дизайне списков

Вот несколько распространённых паттернов и способов взаимодействия со списками, которые можно использовать в веб- и мобильных приложениях.

Чекбоксы и радиокнопки

Чекбоксы и радиокнопки — важные элементы интерфейса, которые позволяют пользователям выбирать пункты и выполнять действия со списком. Как правило:
- чекбоксы используют для выбора нескольких элементов,
- радиокнопки — для выбора одного.

Скролл и свайпы

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

Также дизайнеры должны продумывать скролл и ленивую загрузку (lazy loading), чтобы оптимизировать производительность.

Выпадающие списки (Select Lists)

Select-списки или дропдауны позволяют выбрать один вариант из нескольких — например, способ доставки при оформлении заказа. В длинные выпадающие списки дизайнеры часто добавляют поиск, как это делают при выборе региона или страны.

Сворачиваемые и раскрывающиеся списки

Collapsable-списки позволяют скрывать и показывать детали. Это снижает перегрузку интерфейса и уменьшает когнитивную нагрузку. Такой приём особенно полезен для вложенных списков или подменю.

Перестановка и сортировка

Перестановка элементов даёт пользователям контроль над приоритетами: они могут вручную перемещать пункты вверх или вниз (обычно перетаскиванием). Это повышает вовлечённость, так как пользователи организуют контент под себя.

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

Фильтрация

Фильтры помогают пользователям быстрее находить нужное. Платформы бронирования вроде Airbnb или Booking.com позволяют накладывать сразу несколько фильтров для выбора подходящих объектов.

Разделители

Разделители помогают визуально отделять элементы списка. Но их избыток может создавать лишний «визуальный шум». В таких случаях попробуйте использовать пустое пространство как альтернативу.

Дизайн списков в UXPin

С помощью UXPin (code-based tool) UX-дизайнеры могут создавать прототипы списков, максимально похожие на финальный продукт. Например, в примере Multilevel Dropdown Navigation показано, как с помощью States и Interactions собрать работающий дропдаун-список всего в одном фрейме.

Создание списка с компонентами MUI в UXPin Merge

С помощью UXPin Merge можно подключить кодовые компоненты, например MUI (Material-UI), и использовать их в интерактивных прототипах.

Шаг 1. Импортируйте компоненты MUI

Убедитесь, что библиотека MUI интегрирована в UXPin через Merge. Это позволит перетаскивать готовые закодированные компоненты прямо в дизайн.

Шаг 2. Добавьте компонент List

В UXPin откройте библиотеку MUI.
Перетащите компонент **List** на рабочую область — это будет контейнер для элементов списка.

Шаг 3. Настройте элементы списка

Внутри контейнера разместите компоненты **ListItem** — они будут отдельными пунктами списка.
С помощью **ListItemText** добавьте основной контент (например, заголовок или описание).

Шаг 4. Кастомизация с помощью свойств MUI

Через Merge можно менять свойства компонентов: стиль, макет, поведение. Например:
- **Typography:** настройка шрифтов, цветов, размеров для создания иерархии.
- **Icons:** с помощью **ListItemIcon** можно добавить иконки (галочки, стрелки навигации и т. д.).

Шаг 5. Добавьте интерактивность

Через Interaction Panel в UXPin настройте действия: клики, hover-состояния, динамическое поведение. Например, при клике на элемент можно открывать модалку или переходить на другую страницу.

Шаг 6. Протестируйте прототип

В режиме Preview проверьте работу списка как полноценного прототипа. Убедитесь в адаптивности и удобстве на разных устройствах.

Шаг 7. Передача разработчикам

С UXPin Merge список готов к разработке: разработчики сразу получают код, что исключает расхождения между дизайном и реализацией.

---

Повышение точности и функциональности с UXPin Merge

С помощью технологии **Merge** можно вывести прототипы на новый уровень: подключать дизайн-системы продукта или открытые библиотеки прямо в UXPin и собирать прототипы из готовых кодовых компонентов.

Пример — интеграция библиотеки MUI. Используя React-компоненты MUI, дизайнеры создают полностью рабочие списки. Компоненты включают состояния и взаимодействия, так что дизайнеру остаётся сосредоточиться на продукте, а не на коде. Всё, что есть в документации MUI, можно воспроизвести в UXPin — и без единой строчки кода.