@karpo518

Почему при автоматическом заполнении полей формы Google Chrome изменяет размер шрифта?

При загрузке страницы в форме применяется размер шрифта, непонятно откуда взятый. Это не тот размер, что задается в селеторах :-webkit-autofill и :auto-fill. Но! После клика в произвольное место страницы размер шрифта меняется на тот, что задан в CSS. Я предполагаю, что при загрузке страницы Google Chrome таким странным образом предлагает заполнить форму автоматически, но не применяет ввод. Ввод применяется, когда просходит клик или нажатие любой клавиши. Если бы можно было бы объединить серелкторы ::placeholder и :auto-fill, это наверняка бы решило проблему. Вобщем это ненормальное и судя по всему недокументированное поведение браузера Google Chrome, которое я хотел бы исправить. В Firefox такой проблемы нет. Запомненные данные в нём подставляются с заданным размером шрифта и сразу применяются.

Пример формы, на которой можно воспроизвести проблему https://karpo518.ru/example.php

Как вопроизвести проблему:

1. Заполняете поля формы и нажимаете Отправить!
2. Соглашаетесь на предложение браузера сохранить ввод. Если предложения не поступало, то добавляете данные самостоятельно по кнопке Добавить на странице chrome://settings/passwords
3. Перезагружаете страницу и видите, что текст, подставленный в поля имеет уменьшенный размер шрифта.
4. Кликаете в любое место страницы и видите, что размер шрифта именился в соответствии с правилами CSS.

скрины до и после клика

6426d7d56abab258200767.png
6426d7e34a5cc320910952.png
  • Вопрос задан
  • 336 просмотров
Пригласить эксперта
Ответы на вопрос 2
zkrvndm
@zkrvndm
Архитектор решений
Пару лет назад (может больше) нашли уязвимость в браузерах: оказалось, если вставить на страницу невидимую форму ввода пароля, то браузер автоматом подставляет туда пароль, который можно легко считать. Я не уверен, но полагаю, что проблема в этом, точнее в том фиксе который применили, чтобы заткнуть эту дыру. Копните в эту сторону.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы