File Drop
File drag and drop components provide an intuitive way for users to upload files by dragging them into a designated area. This functionality enhances the user experience by simplifying the process.

Overview
File drag-and-drop components ease the upload process and also provide real-time feedback on file status, upload progress, and errors, improving the overall file-handling experience.
When to use
Use when the interface needs to support uploading multiple files at once, especially if users are expected to submit a large number of documents or images.
Use when you want to offer users a simple, drag-and-drop method for uploading files, enhancing ease of use and minimizing errors in file selection.
In applications where users frequently upload files, such as cloud storage platforms.
Use when you want to provide real-time feedback, like upload progress and file size limits, to ensure the user knows the status of their submission.
When not to use
Mobile users may not always benefit from drag-and-drop functionality. In these cases, consider a more accessible approach for file selection, such as a standard file picker.
Refrain from using when users need to specify a file’s path or select files from a hierarchical folder structure.
If users need to adhere to very specific file type requirements, standard file upload dialogs with strict filters might be better suited to prevent file type errors.
Types

Anatomy
File Drop Container: A clearly defined zone that visually prompts users to drag files into it.
File Type Icon: A visual representation of the file type (e.g., PDF, image) being uploaded.
Title: The main text inviting users to drop or select files for upload.
Link Button: A clickable link that allows users to manually choose files for upload.
File Specification: Shows important file description, such as file size or type.
Upload Status Container: Displays the current status of the file upload, including any progress or errors.
Pause/Play Icon: A control button allowing the user to pause and resume the file upload process.
Icon Leading (Secondary Button): Icon used to guide secondary actions related to the file upload, such as canceling.
Progress Status: A dynamic indicator showing real-time file upload completion status.

States

Loading States

Size

Default
14
40
4
65
Small
14
20
4
41
Accessibility
Keyboard Accessibility: Ensure that users can navigate the file drop area using keyboard controls. The drop zone should have a clearly defined focus state and provide an alternative file selection method via a button or link for users who can’t drag and drop.
Screen Reader Compatibility: Provide clear instructions for screen readers, such as announcing when the file has been dropped into the designated area or if the upload was successful.
Clear Visual Feedback: Ensure visual feedback, such as file upload progress, errors, or success messages, is visible and easy to understand for all users, including those with color blindness or low vision.
Support for Touch Devices: Ensure that touch-based devices can interact with the file drop component by allowing users to select files via tap and file picker options rather than dragging.
Example
Image Gallery Uploads: Perfect for websites that handle image collections, allowing users to quickly upload multiple images for portfolios or galleries.
Online Form Submissions: Use when users need to submit files as part of a form, such as resumes for job applications or proof of identity for verification purposes.
Cloud Storage Platforms: Ideal for cloud-based services where users frequently upload and manage files, allowing them to easily drag and drop documents into their online storage.
Video or Audio File Submissions: Use in media-heavy applications, like video hosting platforms, where users need to upload large video or audio files with clear progress tracking and feedback.
Last updated