Если картинка является контентом - ее вставляют через тег img с обязательным атрибутом alt, в котором по человечески расписано, что на картинке.
Если картинка не является контентом, а содержит только некий визуал - ее вставляют через css background.
Иконки, очевидно, не являются контентом, иконки - это вспомогательный визуал.
По хорошему, иконки должны быть в формате svg или упакованы в векторный шрифт.
Так же, если не стоит острый вопрос в едином стиле на всех ОС, то подавляющее большинство иконок уже есть в виде эмоджи в utf и присутствуют в системных шрифтах. Можно хорошо так сэкономить трафик пользователей.