This page tests the new input values of HTML5 in mobile browsers.
See also the desktop table.
Last updated on 3 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.
iOS | iOS WebView | And. 4 | AWK Web |
Chromium | Chromium WebView | UC | Black |
Nokia Xpress | UC Mini | Opera | Nin |
Dol |
IE | Firefox | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 8 | 7 | 8 | Sa | Puf | LG | Cy | HTC | Xia | Op | Go | 30 | 33 | 37 | 9 | 10 | 6 | 7 | 10 | Mini | Classic | 9 | 10 | 11 | And | OS | |||||||
<input type="color"> Test page |
No | See below | Yes | Bug |
Yes | Yes | Yes | Yes | No | Yes | No | Yes | No | Incom |
No | ||||||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
<datalist> Test page |
No | See below | Yes | No | Yes | No | Yes | No | Yes | Al |
No | Yes | No | Yes | No | Yes | No | Yes | No | ||||||||||||||
<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"> Test page |
Yes | See below | Yes | Bug |
Yes | Yes | Yes | Yes | No | Yes | No | Yes | No | Yes | |||||||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
iOS | iOS WebView | And. 4 | AWK Web |
Chromium | Chromium WebView | UC | Black |
Nokia Xpress | UC Mini | Opera | Nin |
Dol |
IE | Firefox | |||||||||||||||||||
7 | 8 | 7 | 8 | Sa | Puf | LG | Cy | HTC | Xia | Op | Go | 30 | 33 | 37 | 9 | 10 | 6 | 7 | 10 | Mini | Classic | 9 | 10 | 11 | And | OS | |||||||
<input type="datetime"> Test page |
No | See below | Yes | No | Yes | No | Yes | No | No | Yes | Yes | No | Yes | No | Yes | No | Yes | ||||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
<input type="email"> <input type="url"> Test page |
1 | No | Yes | 1-3 | Yes | No | Yes | Yes | No | 1-3 | Yes | No | 1-3 | No | Yes | No | 1-3 | 1-3 | |||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
<input type="month"> Test page |
Yes | See below | Yes | Bug |
Yes | Yes | Yes | Yes | No | Yes | No | Yes | No | Yes | No | ||||||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
iOS | iOS WebView | And. 4 | AWK Web |
Chromium | Chromium WebView | UC | Black |
Nokia Xpress | UC Mini | Opera | Nin |
Dol |
IE | Firefox | |||||||||||||||||||
7 | 8 | 7 | 8 | Sa | Puf | LG | Cy | HTC | Xia | Op | Go | 30 | 33 | 37 | 9 | 10 | 6 | 7 | 10 | Mini | Classic | 9 | 10 | 11 | And | OS | |||||||
<input type="number"> Test page |
1 and 3 | See below | Yes | Yes | Incom |
Yes | No | 1 + 3 | Alter |
No | Yes | Yes | |||||||||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
<input type="range"> Test page |
Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | ||||||||||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
<input type="search"> Test page |
No clue | ||||||||||||||||||||||||||||||||
I don’t know how to define support because I don’t know what this type is supposed to do.
I do not understand the point of this type. Neither do browsers. |
|||||||||||||||||||||||||||||||||
iOS | iOS WebView | And. 4 | AWK Web |
Chromium | Chromium WebView | UC | Black |
Nokia Xpress | UC Mini | Opera | Nin |
Dol |
IE | Firefox | |||||||||||||||||||
7 | 8 | 7 | 8 | Sa | Puf | LG | Cy | HTC | Xia | Op | Go | 30 | 33 | 37 | 9 | 10 | 6 | 7 | 10 | Mini | Classic | 9 | 10 | 11 | And | OS | |||||||
<input type="tel"> Test page |
1-2 | Yes | Yes | 1 | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | ||||||||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
<input type="time"> Test page |
Yes | See below | Yes | Bug |
Yes | Yes | No | Yes | Yes | No | Lousy | No | Yes | No | Yes | ||||||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
<input type="url"> |
See <input type="email"> |
||||||||||||||||||||||||||||||||
<input type="week"> Test page |
Bug |
See below | No | Bug |
Yes | Yes | Yes | No | Yes | No | Yes | No | Yes | No | Yes | No | |||||||||||||||||
This type is supported if the browser
|
|||||||||||||||||||||||||||||||||
iOS | iOS WebView | And. 4 | AWK Web |
Chromium | Chromium WebView | UC | Black |
Nokia Xpress | UC Mini | Opera | Nin |
Dol |
IE | Firefox | |||||||||||||||||||
7 | 8 | 7 | 8 | Sa | Puf | LG | Cy | HTC | Xia | Op | Go | 30 | 33 | 37 | 9 | 10 | 6 | 7 | 10 | Mini | Classic | 9 | 10 | 11 | And | OS |
iOS | iOS WebView | And. 4 | AWK Web |
Chromium | Chromium WebView | UC | Black |
Nokia Xpress | UC Mini | Opera | Nin |
Dol |
IE | Firefox | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 8 | 7 | 8 | Sa | Puf | LG | Cy | HTC | Xia | Op | Go | 30 | 33 | 37 | 9 | 10 | 6 | 7 | 10 | Mini | Classic | 9 | 10 | 11 | And | OS | |||||||
autofocus Test page |
No | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Bug |
No | ||||||||||||||||||
<input type="text" autofocus> The browser automatically focuses on this field when the page is loading. Whether that is a good idea on mobile is an open question. Users may not liked being yanked to a different part of the page because of an autofocus.
|
|||||||||||||||||||||||||||||||||
min and max on number Test page |
No | No | Yes | Mini |
Yes | No | Yes | Yes | No | Mini |
Yes | No | Mini |
No | Mini |
No | Mini |
Mini |
No | ||||||||||||||
|
|||||||||||||||||||||||||||||||||
min and max on date Test page |
No | No | Yes | Bug |
Mini |
Yes | Yes | Yes | Yes | No | Yes | No | Yes | No | Yes | ||||||||||||||||||
A perfectly-supporting browser would present the date picker interface and only allow you to pick dates that fall between min and max. Among others, BlackBerry 6 and the Google and HTC Chromia do this.
|
|||||||||||||||||||||||||||||||||
multiple Test page |
Yes | No | Untest |
No | Untest |
No | No | ? | No | Untest |
No | Yes | No | ||||||||||||||||||||
<input type="file" multiple> Allows users to upload multiple files at once. Surprisingly, the Chromium-based browsers don’t support it; that is, the device doesn’t allow me to select multiple files. This could be a device failure, I suppose, instead of a browser failure. The net result is the same, though.
|
|||||||||||||||||||||||||||||||||
pattern Test page |
No | No | Yes | Mini |
Yes | No | Yes | Yes | No | Bug |
No | Mini |
No | Yes | No | Mini |
Yes | No | |||||||||||||||
<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
|
|||||||||||||||||||||||||||||||||
iOS | iOS WebView | And. 4 | AWK Web |
Chromium | Chromium WebView | UC | Black |
Nokia Xpress | UC Mini | Opera | Nin |
Dol |
IE | Firefox | |||||||||||||||||||
7 | 8 | 7 | 8 | Sa | Puf | LG | Cy | HTC | Xia | Op | Go | 30 | 33 | 37 | 9 | 10 | 6 | 7 | 10 | Mini | Classic | 9 | 10 | 11 | And | OS | |||||||
placeholder Test page |
Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | 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 |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | |||||||||||||||||||||
<input type="number" readonly> User cannot enter a value in the form field. |
|||||||||||||||||||||||||||||||||
required Test page |
No | No | Yes | Mini |
Yes | No | Yes | Yes | No | Yes | No | Mini |
No | Mini |
No | Mini |
Yes | No | |||||||||||||||
<input type="text" required> Form submission is halted if a required field does not have a value. |
|||||||||||||||||||||||||||||||||
step Test page |
No | No | Yes | Mini |
Yes | No | Yes | Incom |
No | Yes | No | Mini |
No | Mini |
No | Mini |
Mini |
No | |||||||||||||||
<input type="number" step="3">
I test this attribute by entering 11, which is a wrong value. The browser is supposed to reject it and inform the user of that fact.
If you set
|
|||||||||||||||||||||||||||||||||
iOS | iOS WebView | And. 4 | AWK Web |
Chromium | Chromium WebView | UC | Black |
Nokia Xpress | UC Mini | Opera | Nin |
Dol |
IE | Firefox | |||||||||||||||||||
7 | 8 | 7 | 8 | Sa | Puf | LG | Cy | HTC | Xia | Op | Go | 30 | 33 | 37 | 9 | 10 | 6 | 7 | 10 | Mini | Classic | 9 | 10 | 11 | And | OS |
Android WebKit 4 is such a mess that it needs its own, private compatibility table for some types. The columns below are for default browser and WebView both, except for Huawei and LG, where the WebView can’t be tested, and Xiaomi, which has a Chromium-based default browser.
Method or property | Hua | Note | Xperia | L5 | Wolf | One | Xiao | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
<input type="color"> Test page |
No | Incom |
No | No | Yes | Incom |
No | |||||||||||||||||||||||||
Shows a color wheel or similar interface. |
||||||||||||||||||||||||||||||||
<datalist> Test page |
No | No | No | No | Yes | No | No | |||||||||||||||||||||||||
<input type="date"> <input type="datetime"> <input type="time"> <input type="month"> <input type="week"> Test page |
2 | Incom |
No | Yes | Incor |
Yes | No | |||||||||||||||||||||||||
This type is supported if the browser
|
||||||||||||||||||||||||||||||||
<input type="number"> Test page |
3 | Yes | 3 | Yes | Yes | 3 | Yes | |||||||||||||||||||||||||
This type is supported if the browser
|
||||||||||||||||||||||||||||||||
Method or property | Hua | Note | Xperia | L5 | Wolf | One | Xiao |
Mobile browser test array 2.1.1; February 2015
Wolfgang AT-AS45FW note: Wolfgang is a Dutch importer and re-brander of phones. In this particular case they seem to have bought Chinese (? probably) phones, re-branded them, then re-sold them to the Whoop company, which re-branded them and sold them to the Hema chain of supermarkets, which sells them to consumers as the Whoop Echo. Supply chain management FTW!