Skip to content

File Upload ​

Modern drop zone for file attachment. Drag-and-drop or click to select. Shows file list with size and remove button.


When to use ​

Use only when file upload is strictly necessary for your solution. Clearly state accepted formats and max size.


Do's and don'ts ​

✓Do
Show accepted formats and max file size
✓Do
Validate file type and size before upload
✓Do
Give positive feedback when file is uploaded
✗Don't
Use file upload unless strictly necessary
✗Don't
Let users waste time uploading invalid files

Classes ​

ClassDescription
.file-upload__dropzoneDrop zone area
.file-upload__dropzone--dragoverActive drag state
.file-upload__dropzone--errorError state
.file-upload__dropzone--disabledDisabled state
.file-upload__iconUpload icon
.file-upload__text"Drag files here" text
.file-upload__hintFormat/size hint
.file-upload__inputHidden file input
.file-upload__filesFile list
.file-upload__fileSingle file row
.file-upload__filenameFile name (truncated)
.file-upload__filesizeFile size
.file-upload__removeRemove button

Accessibility ​

  • Hidden <input type="file"> for native file picker
  • Label associated via for/id
  • Error text with role="alert"
  • Remove buttons with descriptive aria-label

References ​