Инлайн-редактирование
Инлайн-редактирование — подход, при котором пользователь изменяет отдельные поля, а не всю форму сразу. Он подходит для сложных форм: помогает сосредоточиться на выбранном значении и не перегружает страницу элементами управления.
Инлайн (от англ. inline — «в строке»). Отсюда и название подхода: переход в редактирование «прямо на месте».
Когда использовать
Используйте инлайн-редактирование на страницах с заполненными данными, которые пользователь меняет редко и выборочно. Например, в настройках сервиса.
Реквизиты организации в Экстерне
Настройки кабинета клиента Контура
Общие принципы
Инлайн-редактирование должно работать на всей форме сразу — не смешивайте инлайн-редактирование с обычным на одной странице.
В обычном состоянии поля инлайн-редактирования выглядят как список данных, которые по наведению курсора подсказывают пользователю, что перед ним редактируемые поля: интерфейс элементов редактирования появляется вокруг текста. Клик за пределы поля или нажатие на Enter сохраняют введённое значение.
Описание работы
Редактирование значения
Есть два варианта инлайн-редактирования:
- простое — значение редактируется в одном контроле, например в поле ввода или селекте;
- составное — значение объединяет несколько полей, поэтому для редактирования открывается модальное окно или сайдпейдж.
Простое инлайн-редактирование
По клику контрол переходит в состояние фокуса. Нажатие Enter или клик за пределами поля сохраняет введённое значение и возвращает контрол в исходное состояние.
Если значение выбирают из списка, сохраняйте его сразу после выбора. Например, так работает редактирование через комбобокс:
Если сохранение занимает больше 300 мс, покажите рядом со значением спиннер. Оставьте его на экране минимум на 1 секунду:
Редактирование составных значений
Объедините связанные поля в одно значение, а их редактирование вынесите в отдельный слой. Так форма занимает меньше места, а пользователю проще увидеть и изменить связанные данные.
Фамилия, имя и отчество часто редактируют вместе, поэтому их можно вынести в отдельное модальное окно
Чтобы изменить номер телефона, потребуется ввести код из СМС. Это связанные поля, поэтому их можно объединить в один процесс из двух шагов
Наведение курсора
Вид курсора зависит от способа редактирования:
- текстовый — для полей ввода;
- указатель — для селектов и составных значений.
Показывайте обводку контрола при наведении на всю строку, а не только на значение. Так пользователь быстрее заметит, какие данные можно изменить.
Внешний вид поля зависит от того, на какую часть строки пользователь навёл курсор.
При наведении на всю строку формы у поля ввода появляется обводка. При наведении на поле обводка становится темнее
При наведении на всю строку формы у составного значения появляется шеврон. При наведении на само значение появляется серая подложка
Прочерк пустого значения пропадает при переходе в редактирование
Валидация
Используйте валидацию по потере фокуса при работе с инлайн-редактированием. Подробнее — в гайде «Валидация».
Красная рамка появляется вокруг ошибочного значения и остаётся, пока пользователь не начнёт его исправлять. Сообщение об ошибке показывается в тултипе при наведении на поле.
Заблокированные контролы
Инлайн-редактирование лучше всего работает в формах, где пользователь может менять все данные. Если всё же какое-то поле недоступно для редактирования, дайте подсказку, почему.
Контент и размер поля
Не обрезайте значение до одной строки, если при редактировании оно показывается целиком. Например, увеличивайте высоту многострочного поля по мере ввода.
Увеличивайте высоту многострочного поля по мере ввода
Не ограничивайте высоту составных значений
Тач-устройства
Инлайн-редактирование рассчитано на наведение курсора, поэтому на сенсорных экранах его сложнее обнаружить. Используйте этот подход только тогда, когда пользователь однозначно сможет понять, какие поля доступны для редактирования.
Не используйте инлайн-редактирование для больших форм на сенсорных экранах: пользователь не сможет понять, как работать со страницей.
Работа с клавиатурой
Сделайте инлайн-редактирование доступным с клавиатуры:
- Tab сохраняет значение и переводит фокус на следующий элемент;
- Esc отменяет изменения и снимает фокус;
- Enter сохраняет значение и снимает фокус.
Если после Enter или Esc пользователь нажимает Tab, фокус переходит к элементу, следующему за отредактированным.
Если у заблокированного поля есть подсказка, фокус по Tab переходит на иконку. Если подсказки нет — значение пропускается: