A Guide to the New HTML5 Form Input Types
sixrevisions.com
sixrevisions.com
Like what's shown in the article, the main purposes for these new additions is for ui/ux. Devs should still rely on validation scripting prior to a form submission (js) and processing (server side). Although I do know we can implement patterns on the inputs like pattern="[A-Za-z0-9]*" , if your form is submitted with js, it's a good idea to still run some simple validations. (Ex. in chrome, I had a 'required' markup in a hidden input that is suppose to show after a certain field in a form, I encountered form submission problems, even after the area was visible.)
On a side note...I didn't know about the url [input=type], thanks for that one :)
Why? Adding redundant code that doesn't solve a problem is always a bad idea.
[0] http://www.w3schools.com/HTML/html5_form_input_types.asp
Not so big a deal on one field, but if you have 5+ errors in a long form, it can add up.
You of course still have to validate server-side to stop ancient browsers or people trying to hack your site from submitting bad data.
Another quirk about form validation in HTML5 is the forms won't get validated UNTIL the user submits the form and then the browser may highlight the error in consecutive order (1 at a time o_O), imagine your poor UX for a user that has multiple errors.
I would also add a recommendation for Select2 - http://ivaynberg.github.io/select2 - "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results."
The real world needs consistent form inputs.
Also. Damn you firefox, Implement the bloody date input.
As for styling the native controls, I generally recommend thinking twice about that as the usability benefits of having a familiar standard control are significant but you should read up on the Shadow DOM and the emerging CSS support for it: http://glazkov.com/2011/01/14/what-the-heck-is-shadow-dom&#x...;
Of course, these elements will look differently on different platforms/browsers, but for a lot of applications that doesn't matter. Maybe, in the next version/iteration of HTML they make these things a bit more style-able?
Then if you are going to implement a custom version, it's easier to just use that on all browsers, since you can style it properly, and you don't have the risk of it changing under you as browsers add support in random version updates.