Привет Habr!

Не так давно застал себя врасплох, когда заполнял очередную web-форму, на которой надо было вводить код SMS руками посимвольно! Мелочь, но раздражает. Особенно, когда понимаешь, что современные обозреватели сами проделают всю работу – просто удели немного времени и пользователи не будут испытывать не нужный негатив.

Почему до сих пор хватает ресурсов на просторах рунета, где подобные вещи надо исполнять не в один “tap”? (речь про мобильные сайты)

Свято верю в то, что наш коллективный разум найдет-таки возможность достучаться до тех, кто еще не встал на путь истинный по данному вопросу. Возможно, это ваш сосед по лестничной клетке, или коллега из соседнего департамента, который заведует web-формой, которой пора уже выйти на “новый уровень” ????. Я и у себя в “хозяйстве” нашел подобное. Чего греха таить? – исправляемся.

Давайте по классике - лучше один раз увидеть. На скринах ниже показал несколько наглядных примеров из жизни о том, как браузеры могут отобразить на экранной клавиатуре код из SMS – нажми на него один раз и о чудо, весь код оказывается в нужном месте в нужное время. Уровень напряга 0%.

Пример появления кода SMS на экранной клавиатуре
Пример появления кода SMS на экранной клавиатуре

Все что нужно – это назвать поле ввода SMS правильно.

<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1" /> 
    <title>sms test</title> 
  </head> 
  <body> 
    <input type="text" name="sms" /> 
  </body> 
</html>


Да. Это работает – просто значение атрибута name делаем равным “sms” и готово!
Интересно – в какое количество баллов по ICE/RICE оценят эту доработку в продуктовых командах ))

Я не капитан Америка, но камон - реально ресурсов много попадается где отсутствие автокомплита удручает. Надо побороть это недоразумение вместе! Как говорится - кто если не мы ?????

Но это еще не все. Если взглянуть в доку к уважаемым “soft генераторам”, то можно обнаружить +1 вариант реализации автозаполнения SMS. И да! Он тоже работает.

<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1" /> 
    <title>sms test</title> 
  </head> 
  <body> 
    <input type="text" name="myname" inputmode="numeric" pattern="[0-9]" autocomplete="one-time-code"/> 
  </body> 
</html>

Кстате - ребята из примеров выше были бы просто в топе у педантов, если бы еще и клавиатура была чисто цифровой (inputmode="numeric"), как у наших героев ниже.

Пример цифровой экранной клавиатуры
Пример цифровой экранной клавиатуры

Вот и все – старался коротко и по делу. Надеюсь, что вы уже знаете кому намекнуть на возможность сделать мир web’а лучше.

Если есть, что сказать/дополнить – жду вас в комментариях.

Примеры сайтов без автокомплита тут не стал указывать, так как это будет не культурно с моей стороны. Прошу понять и простить ))

PS: Представители банков – обратите внимание, ибо вас в этом “списке” достаточно.

Комментарии (12)


  1. AlexeyK77
    10.11.2023 08:52
    +4

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


    1. petropavel
      10.11.2023 08:52
      +4

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


    1. Revyashko Автор
      10.11.2023 08:52

      с контактами тоже такой стратегии придерживаюсь, но по sms склонился в сторону удобства


    1. nerudo
      10.11.2023 08:52
      +1

      Первое что делаю - получаю sms туда, где нет браузера.

      Блджад, как безопасность из 0-х, завязанная на отдельных электронных ключах и одноразовых кодах скатилась к пушам, которые приложения вставляют сами в себя?


      1. AlexeyK77
        10.11.2023 08:52
        +1

        потому что клиентам "неудобненько" и лидеры рынка так делали самые первые.
        F*CK Security - классика "успеха", а риски и залеты перевесят на клиента все-равно. Так и живем.


    1. Mihaelc
      10.11.2023 08:52

      В IOS приложения не могут получить доступ к текстам SMS.


  1. Noospheratu
    10.11.2023 08:52
    +2

    "скачек" скачок


    1. Revyashko Автор
      10.11.2023 08:52
      +1

      благодарю!


  1. anzay911
    10.11.2023 08:52

    Что значит в один тап? Безопасники хотят, чтобы нажимали на виртуальной клавиатуре фронтенда со сменяющимся расположением клавиш.


    1. Revyashko Автор
      10.11.2023 08:52

      с этими ребятами сложно ))) safety at first!


  1. Mnemonic0
    10.11.2023 08:52
    +1

    Очередной частный случай.

    Давайте уже поймём, что есть PUSH и OTP уведомления, и отличаются они не тем, как вам кажется удобством, а тем в первую очередь, что при вводе циферок это делается осознанно. А вы по факту OTP превращаете в PUSH, что несколько другой уровень безопасности, поскольку можно словить MFA Bombing.


    1. Revyashko Автор
      10.11.2023 08:52

      я за компромис - безопасность не маловажна, согласен. Но клиентский опыт ломать тоже та еще история