Material Design на русском. Часть 37 — Взаимодействие: Состояния
Привет. Меня зовут Руслан. Я UX/UI дизайнер в Siemens. У меня есть ютуб-канал, на котором записано несколько плейлистов по основам UX/UI дизайна. В этой серии постов однако я просто делюсь вольным переводом Material Design на русский язык. Оригинальный источник: здесь.
Состояния визуально показывают интерактивен ли компонент или нет, а также чтобы показать текущее состояние элемента, которое изменяется после действий пользователя.
Использование
Состояния показывают пользователю состояние элементов интерфейса. Каждое состояние должно быть визуально похожим и не должно радикально изменять компонент. При этом каждое состояние должно иметь четкий аффорданс, которое будет отличаться от других состояний и макета.
Аффорданс — это свойство или функция объекта, которая подсказывает, что с ним можно сделать.
Принципы
Четкость
Каждое состояние должно иметь четкий аффорданс, которое будет отличаться от других состояний и макета.
Смешивание
Если возникает ситуация, когда одновременно могут появиться несколько состояний, то их надо показать. Например таких, как выделение и наведение курсора.
Консистентность
Состояния должны быть консистентны во всех компонентах, чтобы повысить степень юзабилити.
Типы состояний
Анатомия
Наложение (Overlay — оверлэй)
Наложение — это полупрозрачный слой на элементе, который указывает на его состояние. Наложения обеспечивают систематический подход к визуализации состояний с помощью прозрачности. Наложение может быть применено на весь элемент или в виде формы круга.
Цвет наложения совпадает с цветом текста или иконки на элементе, к которому он применяется. Если текст или иконка изменяют цвет во время смены состояния, наложение должно соответствовать этому цвету.
Одновременно применяется только один слой для состояния в момент времени. Например, если элемент был в фокусе, а затем на него навели курсором, слой состояния наведения будет отображаться только до тех пор, пока пользователь не уберет курсор, а затем вернется в состояние «в фокусе», если элемент все еще сфокусирован.
Значения прозрачности для наложения
Чтобы наложение было видно и проходило по требованиям доступности, значения должны быть скорректированы в соответствии комбинаций фонового цвета и текста.
Отключено, недоступно или заблокировано (Disabled)
Использование
Отключенное состояние — это когда компонент или элемент не является интерактивным. Отключенные состояния рисуются с прозрачностью 38% от включенного состояния.
Отключенные состояния также могут указывать на то, что они не являются интерактивными из-за смены цвета и уменьшения высоты.
Наследование у состояния «Недоступно»
Компоненты могут наследовать отключенное состояние, например свитчеры и кнопки для переключения чего-нибудь, контролы для выбора, текстовые поля, иконки, элементы списков, карточки, чипсы и кнопки.
Этого состояния нет у следующих компонентов: FAB кнопка, нижние и боковые списки, диалоговые окна, меню, всплывающие подсказки и предупреждения, а также этого состояния нет у навигационных компонентов (панели приложений, вкладки, нижняя навигация и степперы). Если действие, представленное в FAB, недоступно, FAB не должен появляться в макете.
Поведение
У этого состояния ничего не происходит при нажатии или наведении курсора.
В интерфейсе может быть любое количество отключенных компонентов. Зависит от задачи и текущего состояния элементов и системы.
Наведение (Hover)
Состояние наведения появляется тогда, когда пользователь навел курсором мыши на элемент. Это состояние можно использовать для всех интерактивных элементов. Помимо этого, это состояние можно отобразить на всем элементе, части элемента или с помощью формы круга. Для отображения используется слой наложения с прозрачностью.
Наследование у состояния «Наведение»
Компоненты могут наследовать состояние наведения, например FAB кнопки, свитчеры и кнопки для переключения чего-нибудь, контролы для выбора, текстовые поля, иконки, элементы списков, карточки, чипсы и кнопки.
Этого состояния нет у следующих компонентов: панели приложений, вкладки, нижняя навигация, списки, диалоги, оповещения, меню и степперы.
Поведение
Состояния наведения происходит тогда, когда пользователь наводит курсор мыши на элемент.
Состояния наведения можно комбинировать с другими состояниями: в фокусе, активировано, выбрано или нажатия.
Состояние наведения может быть только одно в зависимости от положения курсора.
Значения прозрачности для наложения
Чтобы наложение было видно и проходило по требованиям доступности, значения должны быть скорректированы в соответствии с комбинациями фонового цвета и текста. В данном состоянии используются маленькие значения, чтобы убавить акцент и не терять фокус с контента.
- На белой поверхности: слой наложения должен иметь черный цвет (#000000) с 4% прозрачностью
- На цветной поверхности: слой наложения должен иметь белый цвет (#FFFFFF) с 8% прозрачностью
- На изображениях: слой наложения должен иметь черный цвет (#000000) с 12% прозрачностью
В фокусе (Focus)
Использование
Это состояние появляется тогда, когда пользователь выделил элемент с помощью клавиатуры или голоса. Состояние применяется ко всем интерактивным компонентам.
Также следует уделять особое внимание этому состоянию, потому что кроме выделения элемента с помощью клавиатуры или голосом — ничего нет.
Слой наложения имеет ту же идею, то есть применяется ко всему компоненту, элементам внутри компонента или в виде круглой формы.
Наследование у состояния «В фокусе»
Компоненты могут наследовать состояние «в фокусе», например FAB кнопки, свитчеры и кнопки для переключения чего-нибудь, контролы для выбора, текстовые поля, иконки, элементы списков, карточки, чипсы и кнопки.
Поведение
Состояние появляется после выбора элемента с помощью клавиатуры или голосовым вводом и исчезает если пользователь совершит какое-то действие.
Это состояние может присутствовать одновременно с состояниями: наведения, активации или выбора.
Состояние фокуса может быть только одно в зависимости от выбранного элемента.
Значения прозрачности для наложения
Используются следующие значения прозрачности для обеспечения высокого контраста и видимость состояния фокуса. Помимо этого, сами значения чуть выше предыдущих состояний потому, что кроме этого способа (повышения прозрачности) нет больше других визуальных подсказок о том, что элемент находится в фокусе.
- На белой поверхности: слой наложения должен иметь черный цвет (#000000) с 12% прозрачностью
- На цветной поверхности: слой наложения должен иметь белый цвет (#FFFFFF) с 24% прозрачностью
- На изображениях: слой наложения должен иметь черный цвет (#000000) с 36% прозрачностью
Selected (выбрано)
Использование
Выбранное состояние означает то, что пользователь выбрал что-то с помощью одного из следующих методов ввода: тап, клик, клавиатура или голос. Выбранные состояния должны иметь средний акцент, чтобы их было легко идентифицировать, но при этом они не должны отвлекать от контента.
Слой наложения должен применяться либо ко всему компоненту, либо для элементов внутри компонента.
Наследование у состояния «выбрано»
Следующие компоненты могут наследовать состояние «выбрано»: изображения, элементы списка, карточки, чипсы, строки в таблицах, пункты меню и элементы выбора в определенных диалогах (например в диалоге с выбором даты или времени).
Эти компоненты не имеют состояния «выбрано»: панель приложения, бэкдроп, нижняя панель навигации, список, кнопки, диалоги, разделители, раскрывающиеся панели, предупреждения, снэкбары, вкладки, текстовые поля, всплывающие подсказки (тултипы).
Поведение
Это состояние видно тогда, когда пользователь выбрал одну или более опций (т.е. компонентов и элементов).
Состояние может быть скомбинировано с наведением, фокусом, нажатым состояниями, а также с состоянием перетаскивания.
Множественный выбор элементов может присуствовать на макете и ничем не ограничен.
Значения прозрачности для наложения
Используются следующие значения прозрачности для обеспечения высокого контраста и видимость состояния выбора. Помимо этого, учти, что нужно добиться средних значений в контексте акцентов, чтобы выбранные элементы было видно, но без потери контента.
- На белой поверхности: слой наложения должен иметь цвет из основной темы с 8% прозрачностью
- На цветной поверхности: слой наложения должен иметь белый цвет (#FFFFFF) с 16% прозрачностью
- На изображениях: слой наложения должен иметь черный цвет (#000000) с 24% прозрачностью
Activated (активировано)
Использование
Это состояние появляется тогда, когда текущий экран просматривается. Это состояние появляется по умолчанию, либо из-за действий пользователя с помощью таких методов ввода, как тап, клик мышки, клавиатура или голосовой ввод. Это состояние нужно сделать акцентным.
Слой наложения должен применяться либо ко всему компоненту, либо для элементов внутри компонента.
Наследование у состояния «активировано»
Активированное состояние отличается от выбранного тем, что оно делает акцент на конечной цели или пункте назначения в навигации.
Следующие компоненты могут наследовать состояние «активировано»: элементы в навигации, вкладки, нижние элементы навигации, элементы степпера, чипсы и кнопки для переключения чего-либо.
Эти компоненты не имеют состояния «активировано»: кнопки, FAB кнопка, слайдеры, панели приложения, нижние и боковые спииски, диалоги, предупреждения и элементы выбора.
Поведение
Активация происходит сама по умолчанию либо в результате действий пользователя.
Это состояние может быть одновременно с состояниями наведения и фокуса.
В ряде опций у компонента может быть только один активный элемент.
Значения прозрачности для наложения
Используются следующие значения прозрачности для обеспечения высокого контраста и видимость активированного состояния. Активное состояние должно быть хорошо акцентировано.
- На белой поверхности: слой наложения должен иметь цвет из основной темы с 12% прозрачностью
- На цветной поверхности: слой наложения должен иметь белый цвет (#FFFFFF) с 24% прозрачностью
- На изображениях: слой наложения должен иметь черный цвет (#000000) с 36% прозрачностью
Pressed (нажато)
Использование
Нажатое состояние отзначает что пользователь тапнул, кликнул мышкой, сделал ввод с клавиатуры или использовал голосовой ввод. Это состояние есть у всех интерактивных компонентов.
Нажатые состояния вызывают изменения и должны быть с большим акцентом.
Наложение поверх компонентов и элементов рипл-анимации (ripple animation) означает нажатое состояние. Применимо для всего компонента или элемента, их части или в форме круга.
Такие компоненты как кнопки или карточки, могут дополнительно использовать высоту, чтобы отразить нажатое состояние.
Наследование у состояния «нажато»
Нажатые состояния есть у следующих компонентов: кнопки, FAB кнопки, кнопки-переключатели, элементами выбора, элементы списка, карточки, чипсы, текстовые поля и иконки.
У любого интерактивного элемента может быть нажатое состояние.
Нажатого состояния нет у слудеющих компонентов: панель приложения, вкладки, нижняя навигация, списки, диалоги, предупреждения, меню, степперы.
Поведение
Состояние появляется в результате действий пользователя.
Нажатое состояние может быть скомбинировано с состоянием наведения, фокуса, активации или выбранного состояния.
В момент нажатия на элемент состояние воспроизводится только один раз.
Значения прозрачности для наложения
Используются следующие значения прозрачности для обеспечения высокого контраста и видимости нажатого состояния. Нажатое состояние должно быть с сильным акцентом.
- На белой поверхности: слой наложения должен иметь черный цвет с 16% прозрачностью
- На цветной поверхности: слой наложения должен иметь белый цвет (#FFFFFF) с 32% прозрачностью
- На изображениях: слой наложения должен иметь черный цвет (#000000) с 48% прозрачностью
Dragged (перетаскивание)
Использование
Состояние перетаскивания возникает тогда, когда пользователь зажимает и перемещает элемент или компонент по экрану. Перетаскиваемые состояния должны быть с низким акцентом, чтобы не отвлекать пользователей от задачи.
Слой наложения нужен для отображения состояния перетаскивания. Он может быть использован ко всему компоненту или к элементам внутри компонента.
Такие компоненты как элементы списка, чипсы или карточки, могут дополнительно использовать высоту, чтобы отразить состояние перетаскивания.
Наследование у состояния «перетаскивание»
Перетаскиваемое состояние есть у следующих компонентов: элементы списка, карточки и чипсы.
Состояния «перетаскивание» нет у следующих элементов: панель приложения, кнопки, нижняя навигация, диалоги, предупреждения, меню и степперы.
Поведение
Состояние «перетаскивания» происходит когда пользователь зажимает и перетаскивает элемент, используя какой-либо метод ввода. Например, тап или клик мышки.
Перетаскивать можно только один элемент в момент времени.
Значения прозрачности для наложения
Используются следующие значения прозрачности для обеспечения высокого контраста и видимости состояния «перетаскивание». Состояние «перетаскивание» должно быть с сильным акцентом.
- На белой поверхности: слой наложения должен иметь черный цвет с 8% прозрачностью
- На цветной поверхности: слой наложения должен иметь белый цвет (#FFFFFF) с 16% прозрачностью
- На изображениях: слой наложения должен иметь черный цвет (#000000) с 32% прозрачностью
Как следить за обновлениями гайдлайна и переводом?
- Структуированный документ в Notion
- Официальные обновления Google на странице what’s new