Nikolay Matyushkin, я как то гуглил про этот момент - насколько я понял там браузеры не могут решить как именно сделать это для замещаемых элементов. и по сей день не могут прийти к какому-либо решению
Nikolay Matyushkin, :before и :after работают если браузеру не удалось загрузить картинку. Попробуй заменить свое изображения на <img src="https://google.com/404.jpg"> чтобы увидеть псевдоэлементы.
RAX7, да, но тот же w3 ничего об этом не говорит. Они лишь кидают уточнение, что альт будет отображен (в их примере), даже если изображение не отобразится. Ну это логично, ибо альт на то и нужен.