Основываясь на Modernizr, лучший способ проверить совместимость типа ввода = "диапазон":
var i = document.createElement("input"), safe = false;
i.setAttribute("type", "range");
if(i.type !== "text"){
i.value = ':)';
i.style.cssText = 'position:absolute;visibility:hidden;';
if (i.style.WebkitAppearance !== undefined ) {
document.documentElement.appendChild(i);
defaultView = document.defaultView;
safe = defaultView.getComputedStyle &&
defaultView.getComputedStyle(i, null).WebkitAppearance !== 'textfield' &&
(i.offsetHeight !== 0);
document.documentElement.removeChild(i);
}
}
return safe? '<input type="range" />': '<input type="number" />';
Надеюсь, это поможет.