Сложны простые вещи: создание опции показа пароля

 Экран ноутбука, на котором отображается страница входа в учетную запись GOV.UK с функцией показа пароля. "Width =" 613 "height =" 420 "/> </p>
<p> <span style= После того, как мы запустили первую пробную учетную запись GOV.UK на Brexit Checker, мы начали получать отзывы от пользователей, которые запрашивали возможность показывать свой пароль при регистрации для входа в свою учетную запись. Это будет особенно полезно для пользователей, испытывающих трудности при вводе текста.

Добавление опции «показать пароль» в учетные записи GOV.UK казалось простой задачей, но чем больше мы вникали в нее, тем сложнее и интереснее она становилась. Вот как мы это сделали и некоторые из проблем, с которыми мы столкнулись.

Как показать пароль

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

Поскольку это поведение обрабатывается браузером, единственный способ сделать пароль видимым — это изменить тип ввода с «пароль» на «текст». Альтернативой может быть дублирование пароля вне поля ввода, где он не будет скрыт, но это потребует дополнительного уровня сложности и может запутать пользователей.

Нам также нужно было решить, как пользователь будет управлять функцией «показать пароль». Мы рассматривали 2 варианта — кнопку и флажок.

Мы хотели, чтобы элемент управления четко передавал функциональность и текущее состояние и имел некоторую связь с вводом пароля. В GOV.UK уже есть стиль флажка, который визуально отделен от других элементов формы, поэтому вместо того, чтобы вводить новый стиль для существующего компонента, мы решили использовать кнопку.

Для кнопки также требовался тип «кнопки», чтобы предотвратить случайную отправку формы при использовании с клавиатурой.

Изменить тип ввода можно только с помощью JavaScript, поэтому мы также должны были убедиться, что кнопка не появится, если JavaScript отключен. Это пример прогрессивного улучшения — можно войти в учетную запись без этого, но опыт для пользователей с JavaScript улучшен.

Уроки:

  • показать или скрыть пароль, переключая тип ввода между «пароль» и «текст»
  • используйте кнопку с типом «button», чтобы избежать случайной отправки формы
  • отключенный или неработающий JavaScript не должен мешать пользователю войти в

Обеспечение безопасности

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

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

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

После обсуждения с сообществом разработчиков GDS и правительствами мы решили добавить некоторый JavaScript в компонент, который переключал бы тип ввода обратно на пароль при отправке его родительской формы. Это вернет все в нормальное состояние и не позволит браузеру запомнить пароль в качестве предложения автозаполнения.

Уроки:

  • не позволяют пользователям вводить текстовые данные, содержащие пароли
  • autocomplete = ”off” не работает во всех браузерах

Обеспечение доступности

Также важно было убедиться, что наша функция «показать пароль» была доступна для всех пользователей. Мы использовали aria-controls, чтобы связать кнопку с вводом пароля. Этот атрибут распознается не всеми программами чтения с экрана, но он расширяет возможности тех технологий, которые его поддерживают. Мы также позаботились о том, чтобы эта функциональность была доступна пользователям клавиатуры.

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

Первоначально, когда была нажата кнопка, мы использовали атрибут aria-live при вводе пароля, чтобы объявить пароль. Это казалось хорошей идеей, пока мы не рассмотрели последствия для безопасности случайного действия пользователя. Отображение вашего пароля в общедоступном месте может позволить кому-то в поле зрения экрана прочитать его, но если программа чтения с экрана объявит ваш пароль, это может позволить любому, кто находится в пределах слышимости.

Чтобы снизить этот риск, мы добавили некоторый скрытый текст и вместо этого применили к нему атрибут aria-live, поэтому, когда пользователи программы чтения с экрана нажимают кнопку, им сообщается «ваш пароль показан» или «ваш пароль скрыт» . Затем они могут сосредоточиться на вводе пароля, если это безопасно.

Уроки:

  • позволяют вспомогательным технологиям понять, для чего предназначена кнопка
  • дают пользователю возможность контролировать, объявляется ли его пароль, и информируют его о текущем состоянии

Сбор отзывов пользователей

Создание опции «показать пароль» казалось относительно простой задачей, но, как выяснилось, требовало сложных аспектов безопасности и доступности. Мы благодарны всем, кто помогал вносить идеи и улучшения в его развитие. Вы можете лично увидеть компонент, посетив наше руководство по компонентам .

Компонент «Показать пароль» теперь доступен в учетных записях GOV.UK и позволяет нам удалить все входные данные для «подтверждения пароля». Мы продолжим его повторять на основе отзывов пользователей. Если у вас есть какие-либо мысли или вопросы, оставьте комментарий к этому сообщению в блоге или свяжитесь с нами, используя опцию обратной связи в пробной версии GOV.UK Accounts.

РЕДАКТИРОВАТЬ: Мы обновили этот пост, чтобы удалить утверждение, что изменение текста метки является автоматическим сбоем WCAG, а это не так. Однако изменение настройки любого компонента пользовательского интерфейса, которое вызовет изменение контекста без уведомления пользователя о поведении, может привести к сбою WCAG, и его следует тщательно продумать.

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

Простые видеоредакторы для новичков

Благодаря развитию технологий практически каждый может отснять видеоролики в высоком разрешении на камеру смартфона. Однако каждая видеозапись нуждается в обработке, а начинающим пользователям сложно найти софт, который совместил бы в себе удобство и функциональность. В этом обзоре мы рассмотрели, какая программа для редактирования видео подойдет для новичков и поможет создать любой тип видео: от мини-фильмов…

Простые видеоредакторы для новичков

Благодаря развитию технологий практически каждый может отснять видеоролики в высоком разрешении на камеру смартфона. Однако каждая видеозапись нуждается в обработке, а начинающим пользователям сложно найти софт, который совместил бы в себе удобство и функциональность. В этом обзоре мы рассмотрели, какая программа для редактирования видео подойдет для новичков и поможет создать любой тип видео: от мини-фильмов…

Простые способы сделать ваш сайт доступным для всех

Многие веб-сайты имеют проблемы с доступностью. В результате некоторым людям трудно (а то и вовсе невозможно) использовать их.  Когда веб-сайт правильно спроектирован, люди с ограниченными возможностями могут легко им пользоваться. Обеспечение доступности вашего веб-сайта выгодно как для разных людей, так и для вашего бизнеса: чем больше людей может получить доступ к вашему веб-сайту, тем больше…

Самые простые способы сжатия видеофайла

Прежде чем узнать, как сжать видеофайл, вы должны понять, что само по себе означает сжатие видео. Сжатие видеофайлов помогает вписать красивый и динамичный контент в ваше сообщение, не теряя качества и не требуя длительного периода загрузки со стороны пользователей. Сжатие происходит путем удаления ненужных звуков и повторяющихся изображений. В зависимости от исходного размера видео, это…

Благотворительный ребрендинг показывает, что самые простые идеи являются лучшими

Британская благотворительная организация Bloodwise выявила совершенно новое имя, а также новый визуальный стиль, разработанный Мариной Виллер из Pentagram. Теперь известная как «Рак крови в Великобритании», благотворительная организация надеется, что ее новое описательное имя поможет людям, нуждающимся в ней больше всего. В центре новой визуальной идентичности — логотип: рука вытянутое сердце, расположенное под углом так, чтобы…

9 Простые домашние развлечения и творческие идеи для детей

Если ваши дети дома, потому что школы закрыты, вы, вероятно, изо всех сил пытаетесь найти их занятыми, когда они не обучаются на дому. Я видел довольно много сообщений в Интернете от доброжелательных родителей, предлагающих мероприятия, которые действительно интересны для детей, но почти гарантированно оставят ваш дом в крушении. Если вам повезло Достаточно, чтобы иметь работу,…

Технология Nvidia Gaugan превращает простые цветные блоки в реалистичные пейзажи — Новости

За последние несколько лет мы видели ряд исследовательских проектов Nvidia, которые используют его исследования в области машинного обучения и мощные видеокарты для автоматизации скучных творческих задач или для повышения реалистичности результатов — будь то удаление шума, изменение размера или удаление объектов. или более реалистичная картина маслом. Последний проект компании, GauGAN, выводит это на совершенно новый…

Простые интерфейсы сложных процессов на примере банковской услуги.

Если вы знаете, что такое рефинансирование кредитов, то вы относитесь к 7% россиян*. Если вы отнесли себя к этим 7%, ещё не значит, что вы к ним относитесь — потому что еще 22% заблуждаются, думая, что понимают процесс рефинансирования. *располагаю данными исследования по РФ, поэтому если назвала вас россиянином, а вы им не являетесь — то сорян. Итак, проблема…

Простые именованные области сетки | CSS-Tricks

              Я думаю, что назвал области сетки в сетках CSS как принести собственный синтаксический сахар. Вы им абсолютно не нужны (вы можете выразить размещение сетки другими способами), но это может сделать это размещение более интуитивно понятным. И, эй, если я ошибаюсь, исправьте меня в комментариях. Предположим, вы создали сетку с тремя столбцами: .grid {…