Первым делом
Если картинка несёт смысл (фото товара, схема, мем) — <img>/<picture>. Если украшает (текстура, декоративный blur) — CSS background-image.
Почему
<img>: alt, фокус в дереве доступности, SEO, нативный lazy, object-fit.
- Background: многослойность,
background-size: cover для «заливки» блока без семантики.
<img src="product.webp" alt="Кроссовки Nike Air, вид сбоку" />
.hero-banner {
background-image: linear-gradient(...), url("noise.png");
}
Тест: «если картинка не загрузилась — текст страницы всё ещё понятен?» Если нет — это контент, не фон.
Итог
Контент → <img>; декор → background. Смешение ломает a11y и адаптивный выбор источника.