Почему IE8 показывает вопросительные знаки вместо патронов в поле пароля HTML?

У меня есть поле пароля на странице HTML, на которой не отображается маркеры или звездочки при вводе пароля, но небольшой ящик с символом вопросительного знака.

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

Есть ли способ, которым HTML, CSS или Javascript могут влиять на отображение символов? У нас довольно сложная веб-инфраструктура (Oracle ADF Rich Client), хотя другие приложения, основанные на одной и той же структуре, не показывают этого поведения.

Ответ 1

Это проблема с шрифтом. IE пытается отобразить свои символы пароля с использованием символа Black Circle U + 25CF (●, тот же, что SO использует для своих значков), но не находит глиф для него в используемом шрифте.

Это может произойти, если вы изменили элемент font-family элемента <input> на шрифт, который не содержит глифа для этого символа, или если пользователь перевернул их FontSubstitutes в точку MS Shell Dlg, шрифт, который IE использует для рендеринга полей формы по умолчанию, указывает на нечто, отличное от "Microsoft Sans Serif", которое содержит глиф для ●.

У Firefox есть свои собственные алгоритмы замены шрифтов, отделенные от IE/Windows, которые с большей вероятностью возвращаются к другому шрифту, который содержит ●.