It is possible in most browsers to use JavaScript to detect support for specific input types. This page studies various solutions.
I perform two tests on each input:
type
is NOT text
.input.value
I do NOT get 'Hello World')color
number
range
url
date
datetime
month
time
week