У меня есть инпутка (ant.design) типа 'password' которая при фокусе на нее начинает предлагать варианты автозаполнения. Это я так понимаю работа браузера по умолчанию, можно ли ее как то отключить?
Вариант с атрибутом autocomplete='new-password' помогает только для отключения автоматического автозаполнения, но при фокусе на инпутку он все равно предлагает варианты.
autocomplete="off" игнорируется современными браузерами. Политика повышения безопасности, новые password managers предлагают сложные пароли. Отключить можно только в клиенте браузера (т.е. сам пользователь может это сделать).
В принципе такая функциональность у новых версий популярных браузеров обусловлена политикой повышения безопасности и защиты данных пользователей. Отключение этой функциональности разработчиками на самом деле снижает секьюрности, и ухудшает пользовательский опыт.
Не совсем так. Они не игнорируют. Когда autocomplete включён, браузер запоминает историю, и потом, если для поля есть история в текущей сессии (внутренняя сессия браузера), браузер начинает предлагать варианты. После отключения autocomplete браузер перестаёт запоминать историю, но старая никуда при этом не пропадает, и он всё так же предлагает варианты — ведь история не пустая. Это проблема кэширования.
Из-за такого поведения начинает казаться, что autocomplete="off" не работает. В MDN советуют для гарантии отключения дополнительно к autocomplete="off" задавать для инпута новое значение атрибута name.
Ivan Ivanovich, всё правильно, именно autocomplete="off" нужно использовать.
KGZVER, у браузеров ещё есть такая вещь, как кэширование, и когда вы отключаете автодополнение, старые запомненые значения всё равно подставляются. Если сделать autocomplete="off" и переименовать атрибут name, то автодополнение полностью исчезнет сразу.
В MDN есть статья об отключении автодополнения (увы, только на английском). Там хорошо объясняется, как это всё работатет.