The reactive border is purely decorative — a hidden <input type="file"> must handle the actual file selection. Wrapping the whole dropzone in a <label> means clicking it opens the file picker too, and tabbing in with the keyboard and pressing Enter works the same way — drag-and-drop is a mouse-only gesture, so an alternative path is mandatory.
If the interaction category's "drag-and-drop" covers the gesture itself, a dropzone is the "target area" UI that gesture lands on. Watch for the common mistake of forgetting preventDefault on dragenter/dragover, which makes the browser open the dropped file in a new tab instead.
If there's a file type or size limit, validate right after the drop rather than during it, and tell the user clearly why a file was rejected.