Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PasswordInput] Скрывать глазик у заблокированного поля #2764

Closed
dzekh opened this issue Feb 7, 2022 · 8 comments · Fixed by #2766
Closed
Assignees
Labels

Comments

@dzekh
Copy link

dzekh commented Feb 7, 2022

Кажется это не правильно, что можно посмотреть пароль, когда PasswordInput заполнен и заблокирован.
В заблокированном поле глазик должен отключаться. Возможность посмотреть пароль должна быть только в поле, которое было пустым и только что заполнено, а это незаблокированные поля.
Если поле заблокированно, скорее всего оно уже предзаполнено и раскрывать пароль опасно.

@lossir
Copy link
Member

lossir commented Feb 8, 2022

@dzekh А если человек что-то ввёл, либо значение уже было. Он нажал на глазик чтоб посмотреть, и после этого поле выключается.
Должен ли пароль скрываться? И если должен, то должен ли после включения опять показаться?

ezgif com-gif-maker (25)

@JackUait
Copy link
Contributor

JackUait commented Feb 8, 2022

@lossir Что-то не могу представить такой сценарий в жизни, можешь привести примеры?

@lossir
Copy link
Member

lossir commented Feb 8, 2022

Например, асинхронная авторизация. Пользователь решил проверить пароль перед входом, после чего форма блочится на время запроса.

ezgif com-gif-maker (26)

@JackUait
Copy link
Contributor

JackUait commented Feb 8, 2022

Мне кажется, что идеальным вариантом было бы принудительно скрывать пароль при потере фокуса с поля. Что думаете, @lossir, @dzekh?

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

@dzekh
Copy link
Author

dzekh commented Feb 8, 2022

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

При потере фокуса — может быть есть сценарий когда все-таки нужно его видеть? Но согласен что скрывать было бы безопасней. У кого-то вон вообще нужно жать на иконку чтоб видеть. Как только отпускаешь он снова скрывается.

Попытался поискать хороших примеров, но не нашел.

@JackUait
Copy link
Contributor

JackUait commented Feb 8, 2022

Я бы и саму иконку глаза скрывал.

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

При потере фокуса — может быть есть сценарий когда все-таки нужно его видеть?

Честно говоря, не могу представить себе такой сценарий.
Зато есть сценарий повторного ввода пароля, когда мы хотим, чтобы пользователь не видел пароль из первого инпута, если мы будем скрывать пароль при потере фокуса, то улучшим UX в этом сценарии.

У кого-то вон вообще нужно жать на иконку чтоб видеть. Как только отпускаешь он снова скрывается.

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

Меня в PasswordInput напрягают ещё две вещи относительно "глаза":

  1. "Глаз" недоступен с клавиатуры, более подробно об этом в [PasswordInput] Глаз недоступен с клавиатуры IF-376 #2779.
  2. На "глаз" можно нажать только в рамках зелёной области. В красной области ничего не происходит, но при этом в ней нельзя нажать на "глаз". Синяя область - область инпута.
    Снимок экрана 2022-02-08 в 15 41 18

@dzekh Можешь суммировать, что из описанного выше будем брать в работу?

@JackUait
Copy link
Contributor

Нашёл упоминание проблемы с кликабельной областью в #1339.

@dzekh
Copy link
Author

dzekh commented Feb 14, 2022

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

Проблему с кликабельной областью кажется что нужно как-то отдельно и системно решать.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging a pull request may close this issue.

3 participants