From the W3C HTML 5.1 specification: "the drag and drop API defines an event-based drag-and-drop mechanism, it does not define exactly what a drag-and-drop operation actually is".
We decided to present this API in a section about HTML5 client-side persistence, as it is very often used for dragging and dropping files. However, we will also address drag and drop of elements within an HTML document.
We will start by presenting the API itself, and then we will focus on the particular case of drag and dropping files.
MDN article about HTML Drag and Drop API.
Medium article entitled "How to Drag & Drop HTML Elements and Files using Javascript"
Nice shopping cart demo.