function canSelectText (el) {
  return el.tagName === 'INPUT' && ['text','search','password','tel','url'].indexOf(el.type) > -1
}
For some reason only certain types of inputs can set the selection range.

@param {HTMLElement} el

@return {Boolean}