Skip to main content
Give us your valuable feedback

It will help us understand how we can serve you better

Give feedback

Components

File Upload

A file uploader component is a user interface element that allows users to select and upload files from their local device to a web application or server.

banner-File Upload

Anatomy

Upload is a component that allows users to select and upload files from their device to a server.

anatomy button guideline
  1. File Input: A button or area that allows users to select files from their local device.
  2. Browse Button: A button labeled “Browse” or similar, which opens the file dialog when clicked.
  3. File List (Optional): A section that displays the selected files’ names or thumbnails.
  4. Progress Bar (Optional): A visual indicator showing the progress of file uploads.
  5. Cancel Button (Optional): A button that allows users to cancel the upload process for individual files.

Usage

The Upload component is used in web and application design for the following purposes:

  • File Uploading: Allowing users to upload images, documents, or other files to the system.
  • Content Management: Enabling users to add media or files to their profiles, posts, or documents.
  • Attachment Handling: Supporting the attachment of files to emails, messages, or forms.

Common places file uploader appear : Mobile app homepage , website homepage and other pages when needed etc.

When to use

  • Users need to upload files to your web application or platform.
  • You want to simplify the process of selecting and uploading files.
  • Enhancing user experience by providing an intuitive file upload feature is a priority.
  • Users need to manage or attach files as part of a task or interaction.

When not to use

  • File uploading is not a requirement for your application or website.
  • Other methods, like copy-pasting content or typing, are more suitable for the task.
  • The user interface is focused on a different type of interaction that doesn't involve file uploads.
  • Implementing the Upload component adds unnecessary complexity to the user interface.

Accessibility

Upload components should be accessible to all users, including those with disabilities. To ensure accessibility, follow these guidelines:

  • Make sure that the file input and upload button are keyboard accessible.
  • Provide clear and concise labels for the file input and upload button.
  • Add an aria-label attribute to the file input and upload button to provide a descriptive label for screen reader users.
  • Use the aria-valuemin and aria-valuemax attributes to indicate the minimum and maximum file sizes that are allowed to be uploaded, respectively.
  • Use the aria-valuenow attribute to indicate the current progress of the upload to screen reader users.
Alt text

Do

Provide clear and concise labels for the file input and upload button.

Alt text

Don't

Didn’t provide clear and concise labels for the file input and upload button.

Content

When implementing Upload component content, follow these guidelines:

  • Clearly label the file input and upload button.
  • Provide visual feedback or a list of uploaded files as users make selections.
  • Offer clear instructions on supported file types, size limits, and any other requirements.
  • Consider providing a cancel button for individual file uploads to enhance user control.
Alt text

Do

Display a progress bar and status indicator to let users know how long the upload will take.

Alt text

Don't

Didn’t display a progress bar and status indicator to let users know how long the upload will take.