Почему фавикон может не отображаться
Что проверяют
Умеете ли вы локализовать дефект по слоям, а не угадывать. Снаружи вопрос про мелочь, но по ответу видно, доходит ли тестировщик до сетевой вкладки и кода ответа или останавливается на совете почистить кэш.
Как отвечать
Пройти причины по порядку, от разметки к окружению:
- разметка: тег вне
<head>, опечатка вrel, относительный путь, который ломается на вложенном маршруте (favicon.icoвместо/favicon.ico); - сеть: посмотреть сам запрос иконки во вкладке Network. Бывает 404, бывает 403 из-за правил доступа, бывает 200 с телом HTML: одностраничное приложение отдаёт
index.htmlна любой неизвестный путь, и браузер получает не картинку; - формат и содержимое:
.ico,.pngи.svgпонимают все браузеры,.jpgи повреждённый файл нет; для SVG нуженtype="image/svg+xml", а внутри файла заданные размеры; - окружение: смешанный контент на HTTPS, запрет в CSP через
img-src, отдельный домен для статики без нужных заголовков; - кэш: иконки браузер хранит отдельно от обычного кэша страниц, и жёсткая перезагрузка его часто не сбрасывает.
Дальше скажите, как проверяете это вы: открыть адрес иконки напрямую, повторить в чистом профиле и во втором браузере, зафиксировать статус ответа и Content-Type. В баг-репорт идут запрос, код, окружение и версия браузера, а не фраза «иконка не видна».
Где спотыкаются
Закрывают тикет советом очистить кэш, не посмотрев ответ сервера. Если файла нет или он отдаётся как HTML, кэш ни при чём, и дефект вернётся сразу после релиза.
Проверяют в одном месте. Иконка вкладки, иконка в закладках, apple-touch-icon на домашнем экране и иконки из манифеста берутся из разных источников, и сломаться может ровно одна из них.
Принимают свою локальную проблему за общую. Расширение, блокировщик или корпоративный прокси дают ту же картину, поэтому до заведения дефекта нужно воспроизвести на чистом профиле или у коллеги.