- Success Criterion 2.5.7
- Conformance level AA
File Upload Available Only Through Drag and Drop
2.5.7 — Dragging Movements
Scenario
Setting
A video streaming service's show detail page
What’s wrong
File upload via drag-drop only (no file-picker button).
Example
<div id="dropzone" ondrop="handleFileDrop(event)" ondragover="allowDrop(event)">
Drop your subtitle file here
</div>
<!-- there is no <input type="file"> anywhere on the page --> Why it matters
A user who can't drag a file from their desktop into the browser window can never upload custom subtitles.
How to test
Try uploading a file via a file-picker button instead of drag-and-drop: if drag-drop is the only method, it fails.
How to fix
Keep the drop zone for convenience, but always pair it with a standard file-picker button.
<div id="dropzone" ondrop="handleFileDrop(event)" ondragover="allowDrop(event)">
Drop your subtitle file here, or
<button onclick="document.getElementById('fileInput').click()">Choose a file</button>
<input type="file" id="fileInput" hidden onchange="handleFileSelect(event)">
</div> Outcome
A user clicks Choose a File, selects their subtitle file from a dialog, and it uploads normally.
Who is affected
People with limited fine motor control and screen reader users who can't target a drop zone precisely.
Learn more
- Understanding Understanding document (opens in a new tab)