Антонина из ЮMoney написала о поле для ввода OTP (One-Time Password)… — UX Notes — TG.ME

Антонина из ЮMoney написала о поле для ввода OTP (One-Time Password).

— В отличие от обычного поля принимает фиксированное количество определённых символов (например, 4–6 цифр), которые валидны ограниченное время;
— Современные браузеры могут предложить подставить код из смс или пуша. К свойствам поля надо добавить autocomplete="one-time-code";
— Одно поле проще в реализации, меньше проблем с доступностью;
— Сегментированное поле своим видом подсказывает, сколько символов надо вводить, в мобайле превосходит одно поле по ощущению контроля;
— Устанавливайте фокус на первый сегмент поля сразу после загрузки;
— Даже если фокус не на первом сегменте, при вставке скопированного кода подставляйте его с первого сегмента;
— Если используете одно поле, пишите количество символов и не прячьте эту подсказку в плейсхолдер, который пропадает при вводе;
— При нажатии на кнопку «Получить новый код», очищайте поле;
— Если пользователь печатает быстро, обработчик onChange может пропустить символ. Используйте события input или keyup;
— Скрывайте сообщение об ошибке сразу же, если введён корректный код или изменены символы предыдущего некорректного кода;
— Не очищайте поле при неверном вводе. Пользователь мог ошибиться в последнем символе, надо дать возможность исправить только его;
— Если у вас автоматическая отправка при вводе максимального количества символов, можно добавить задержку 500–800 миллисекунд после ввода последнего символа, чтобы пользователь успел заметить ошибку и исправить её;
— Давайте свободу перемещения между сегментами: клик, стрелки, Tab.

#otp
❤12👍3🔥2😁1
August 20, 2026 2.7K 22