Атрибут accept

Влад Мержевич

Internet Explorer Chrome Opera Safari Firefox Android iOS
10.0+ 8.0+ 10.62+ 6.0+ 4.0+ 16.0+

Спецификация

HTML: 3.2 4.01 5.0 XHTML: 1.0 1.1

Описание

Устанавливает фильтр на типы файлов, которые вы можете отправить через поле загрузки файлов. Тип файла указывается как MIME-тип, при нескольких значениях они перечисляются через запятую. Если файл не подходит под установленный фильтр, он не показывается в окне выбора файлов.

Синтаксис

HTML
<input type="file" accept="MIME-тип">
XHTML
<input type="file" accept="MIME-тип" />

Применяется

К полю для отправки файла (<input type="file">).

Значения

Имя MIME-типа в любом регистре, несколько значений перечисляются через запятую.

В HTML5 также допустимо в качестве значения указывать audio/* для выбора всех звуковых файлов, video/* для видеофайлов и image/* для всех графических файлов.

Значение по умолчанию

Нет.

Пример 1

HTML5IE 10CrOpSa 6Fx

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тег INPUT, атрибут accept</title>
 </head>
 <body> 
  <form action="handler.php">
   <p><strong>Укажите картинку в формате JPEG, PNG или GIF</strong></p>
   <p><input type="file" name="img" accept="image/jpeg,image/png,image/gif">
   <input type="submit" value="Отправить"></p>
  </form>
 </body>
</html>

Пример 2

HTML5IE 10CrOpSa 6Fx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тег INPUT, атрибут accept</title>
 </head>
 <body> 
  <form action="handler.php">
   <p><strong>Укажите картинку</strong></p>
   <p><input type="file" name="img" accept="image/*">
   <input type="submit" value="Отправить"></p>
  </form>
 </body>
</html>

Браузеры

Opera не воспринимает значения, если они разделены между собой пробелом (accept="image/jpeg, image/png, image/gif").

Firefox до версии 16.0 поддерживает только значения audio/*, video/* и image/*.

В Firefox 22 по умолчанию стоит выбор всех файлов, а не заданный фильтр.

Статьи по теме

Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.