Поскольку ни один из приведенных к настоящему времени ответов полностью не охватывает топи c, я постараюсь сделать это здесь.
У вас есть как минимум три возможности:
- Флажок ;
- Кнопка переключения;
- Кнопка с изменяемым текстом.
Флажок
Это самое простое решение.
<label><input id="showPwd" type="checkbox"> Show Password</label>
И затем вы добавляете немного JavaScript, чтобы изменить тип ввода пароля с password
, когда флажок снят, на text
, когда он установлен.
С точки зрения пользователя это решение также является наиболее очевидно: и пользователи программы чтения с экрана, и пользователи других вспомогательных технологий обычно легко воспринимают состояние флажка. Еще одним преимуществом этого подхода является то, что статус виден сразу же, и нет необходимости перепроверять его с помощью дополнительных команд.
Кнопка переключения
Это требует некоторого ARIA, но не очень.
<button id="showPwd" aria-pressed="false">Show password</button>
Таким образом, вам потребуется изменить стиль кнопки CSS и значение атрибута aria-pressed
в вашем JavaScript (и, конечно, соответственно изменить тип ввода пароля) .
С точки зрения пользователя, этот подход имеет как преимущества, так и недостатки. Основным преимуществом для пользователей программ чтения с экрана является то, что при нажатии кнопки пользователь будет слышать " Нажать кнопку Показать пароль " против " Показать кнопку пароля ", что поможет определить статус кнопки для пользователей с нарушениями слуха и / или когнитивных функций лучше и быстрее.
Кнопка с изменяющимся текстом
Простое, но устаревшее решение sh. В основном у вас есть <button>
с надписью «Показать пароль», и когда пароль будет раскрыт, кнопка скажет «Скрыть пароль».
Это худшее решение с точки зрения пользователя вспомогательных технологий, так как программа чтения с экрана будет не уведомлять пользователя автоматически при изменении текста на кнопке (если только вы не добавите некоторые дополнительные черные маги c, такие как оповещения ARIA, но я уверен, что это того не стоит). Как правило, когда текст изменяется, пользователь должен перепроверить статус с помощью команды, которая объявляет текущую строку или объект.
Существует еще один недостаток, который охватывает оба решения кнопок: программы чтения с экрана обычно имеют возможность навигации по элементам и для порождают списки элементов одного типа. В этом случае может возникнуть путаница, так как форма содержит больше кнопок (по крайней мере, одну из них). С флажками вероятность такой путаницы намного ниже, если форма не переполнена множеством флажков.