This page tests the new input values of HTML5.
See also the mobile table.
Last updated on 2 March 2015.
I wrote a JavaScript detection script for modern input types. See also this blog post.
It turns out to be surprisingly complicated to find a good definition for support of modern input types. I came to the following six points that a proper implementation may have to support:
These six definitions don’t go for all input types or browsers. In the table below I indicate for each type which of the six are relevant.
Method or property | Internet Explorer | Edge |
Firefox | Safari | Chrome | Opera | Yandex | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 and lower | 8 | 9 | 10 | 11 | 35 Win | 35 Mac | 35 Linux | 7 | 40 Win | 40 Mac | 37 Linux | 26 Win | 26 Mac | 14.12 Win | 14.12 Mac | |||||
<input type="color"> Test page |
No | Yes | No | Yes | Yes | Yes | ||||||||||||||
This type is supported if the browser
|
||||||||||||||||||||
<datalist> Test page |
No | Yes | Yes | No | Yes | Yes | Yes | |||||||||||||
<input list="ppk" name="list" /> <datalist id="ppk"> <option label="ppk" value="ppk"></option> <option label="JavaScript" value="JavaScript"></option> </datalist> This type is supported if the browser
|
||||||||||||||||||||
<input type="date"> <input type="datetime"> <input type="time"> <input type="month"> <input type="week"> Test page |
No | No | No | 1 and 2 | 1 and 2 | 1 and 2 | ||||||||||||||
This type is supported if the browser
The most annoying one is time, which requires an am/pm input. Entering 14:33 is not possible. However, the server receives a 24hrs-formatted time anyway. With dates the server received yyyy-mm-dd; with weeks yyyy-Www (where the W is an actual 'W'). |
||||||||||||||||||||
Method or property | Internet Explorer | Edge |
Firefox | Safari | Chrome | Opera | Yandex | |||||||||||||
7 and lower | 8 | 9 | 10 | 11 | 35 Win | 35 Mac | 35 Linux | 7 | 40 Win | 40 Mac | 37 Linux | 26 Win | 26 Mac | 14.12 Win | 14.12 Mac | |||||
<input type="email"> <input type="url"> Test page |
No | 2 to 4 | 2 to 4 | No | 2 to 4 | 2 to 4 | 2 to 4 | |||||||||||||
This type is supported if the browser
|
||||||||||||||||||||
<input type="number"> Test page |
No | 3 | 3 to 5 | 1 and 3 to 5 | 1 and 3 | 1 and 3 to 5 | 1 and 3 to 5 | 1 and 3 to 5 | ||||||||||||
This type is supported if the browser
|
||||||||||||||||||||
<input type="range"> Test page |
No | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||
This type is supported if the browser
|
||||||||||||||||||||
Method or property | Internet Explorer | Edge |
Firefox | Safari | Chrome | Opera | Yandex | |||||||||||||
7 and lower | 8 | 9 | 10 | 11 | 35 Win | 35 Mac | 35 Linux | 7 | 40 Win | 40 Mac | 37 Linux | 26 Win | 26 Mac | 14.12 Win | 14.12 Mac | |||||
<input type="search"> Test page |
No | No | No | No | No | No | ||||||||||||||
Mac browsers except Firefox give the field rounded corners, but that’s the full extent of the support for this type. To be fair, I don’t know what else they’re supposed to be doing. I don’t know how to define support because I don’t know what this type is supposed to do.
|
||||||||||||||||||||
<input type="tel"> Test page |
No | No | No | No | No | No | ||||||||||||||
This type is supported if the browser
|
||||||||||||||||||||
<input type="url"> |
See <input type="email"> |
|||||||||||||||||||
Method or property | Internet Explorer | Edge |
Firefox | Safari | Chrome | Opera | Yandex | |||||||||||||
7 and lower | 8 | 9 | 10 | 11 | 35 Win | 35 Mac | 35 Linux | 7 | 40 Win | 40 Mac | 37 Linux | 26 Win | 26 Mac | 14.12 Win | 14.12 Mac |
Method or property | Internet Explorer | Edge |
Firefox | Safari | Chrome | Opera | Yandex | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 and lower | 8 | 9 | 10 | 11 | 35 Win | 35 Mac | 35 Linux | 7 | 40 Win | 40 Mac | 37 Linux | 26 Win | 26 Mac | 14.12 Win | 14.12 Mac | ||||||||||||
autofocus Test page |
No | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||||||||
<input type="text" autofocus> The browser automatically focuses on this field when the page is loading. |
|||||||||||||||||||||||||||
min and max for number Test page |
No | Yes | Yes | No | Yes | Yes | Yes | ||||||||||||||||||||
min and max for date Test page |
No | No | No | Yes | Yes | Yes | |||||||||||||||||||||
multiple Test page |
No | Yes | No | Yes | Yes | Yes | |||||||||||||||||||||
<input type="file" multiple> Allows users to upload multiple files at once. |
|||||||||||||||||||||||||||
pattern Test page |
No | Yes | Yes | No | Yes | Yes | Yes | ||||||||||||||||||||
<input pattern="[0-9]{4}[ ]?[A-Z]{2}" /> The value must conform to the regexp pattern, or submission is halted. The error message contains the element’s |
|||||||||||||||||||||||||||
Method or property | Internet Explorer | Edge |
Firefox | Safari | Chrome | Opera | Yandex | ||||||||||||||||||||
7 and lower | 8 | 9 | 10 | 11 | 35 Win | 35 Mac | 35 Linux | 7 | 40 Win | 40 Mac | 37 Linux | 26 Win | 26 Mac | 14.12 Win | 14.12 Mac | ||||||||||||
placeholder Test page |
No | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||||||||
<input type="text" placeholder="Some text"> The placeholder text is shown as long as the field is unfocused and the user has not entered another value. |
|||||||||||||||||||||||||||
readonly Test page |
Not tested | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||||||||
<input type="number" readonly> User cannot enter a value in the form field. |
|||||||||||||||||||||||||||
required Test page |
No | Yes | Yes | No | Yes | Yes | Yes | ||||||||||||||||||||
<input type="text" required> Form submission is halted if a required field does not have a value. |
|||||||||||||||||||||||||||
step Test page |
No | Yes | Yes | Mini |
Yes | Yes | Yes | ||||||||||||||||||||
<input type="number" step="3">
If you set
|
|||||||||||||||||||||||||||
Method or property | Internet Explorer | Edge |
Firefox | Safari | Chrome | Opera | Yandex | ||||||||||||||||||||
7 and lower | 8 | 9 | 10 | 11 | 35 Win | 35 Mac | 35 Linux | 7 | 40 Win | 40 Mac | 37 Linux | 26 Win | 26 Mac | 14.12 Win | 14.12 Mac |
Desktop browser test array 2.1; January 2015