#1948 tidy up html5 input types

The state of html5 input types is currently a bit sporadic, this PR should tidy things up a bit. See #1948