Всегда вешай draggable="false" на картинки — маленький атрибут с большим значением!
Когда ты последний раз случайно “потащил” изображение на сайте мышкой или пальцем? Возможно, этого ты и не замечал — а вот твои пользователи замечают, и раздражаются.
По умолчанию все изображения в HTML могут быть перетаскиваемыми. Это поведение редко бывает полезным, но часто мешает. Особенно на мобильных устройствах, touch-интерфейсах и в drag’n’drop UI.
HTML-атрибут draggable="false"
запрещает браузеру инициировать перетаскивание изображения.
<img src="/logo.png" alt="Логотип" draggable="false" />
Теперь изображение нельзя случайно «схватить» мышкой или пальцем — оно просто зафиксировано в интерфейсе.
Пользователь пытается свайпнуть — но вместо этого браузер начинает перетаскивание картинки. Особенно часто это случается:
Это нарушает UX и выглядит как баг.
Если ты реализуешь собственное перетаскивание элементов (например, карточек или блоков), браузер может «мешать», если внутри них есть img
. Браузер будет пытаться перетащить саму картинку, а не твой элемент.
👉 Решение: на все img
в таких элементах — ставь draggable="false"
.
Некоторые браузеры (особенно на iOS) некорректно обрабатывают перетаскивание изображений:
UX должен быть предсказуемым. Если пользователь случайно начинает перетаскивание, это сбивает его с пути. Простая блокировка через draggable="false"
делает сайт более стабильным и аккуратным.
draggable="false"
<img src="/avatar.jpg" alt="Профиль" draggable="false" />
document.querySelectorAll('img').forEach((img) => {
img.setAttribute('draggable', 'false');
});
<img src="/icon.svg" alt="Иконка" draggable={false} />
Один маленький атрибут draggable="false"
: