Ванлайны о дизайне
№ 08

Дизейбл ор нот дизейбл
Нажми на кнопку, получишь результат. И твоя мечта осуществится.
При работе над интерфейсами очень часто возникает дилемма, нужно ли дизейблить кнопки при выполнении сценария какого-либо функционала. Разные ребята делают по-разному, но стоит разобраться.
Если посмотреть на пару примеров экранов с одним полем для заполнения, то у меня возникает вопрос: зачем мне давать возможность дополнительного нажатия на кнопку «Оплатить»? Чтобы узнать очевидную информацию о незаполненном поле суммы? Сомнительно, потому что можно подсветить ошибку другим, более изящным способом, без ручного вызова проверки пользователем.
У Сбера кнопка всегда активная, но при тапе вообще ничего не происходит, кроме небольшого изменения цвета в состоянии нажатии. При этом проверка поля уже состоялась и оно подсвечено оранжевым. После заполнения суммы, кнопка имеет такое же состояние, но со стоимостью платежа.
Далее не самый кайфовый экран в части оформления, но самый правильный с точки зрения взаимодействия. Здесь мы видим пустое поле суммы и задизейбленую кнопку. Не нужно делать никаких дополнительных тапов по кнопке, пользователь и так понимает, что не сможет выполнить сценарий пока не введёт сумму.
Задизейбленая кнопка сама по себе является индикатором состояния сценария и ограничивает его выполнение, если условия на экране не выполнены. Мой принцип в работе — всегда дизейблить кнопки и не морочить голову пользователю.