These things cannot be feature detected. They must rely on either:
registerProtocolHandler()support (existed in webkit but doesnt do anything, still live in iOS/Android likely.)
Modernizr.draganddrop && window.FileReaderis good enough these days.
timeupdatevideo/audio event fires inconsistently across webkit and moz
readyStateis inconsistent across webkit(4) and moz(3)
canPlayType()results on mobile are unreliable
preloadattribute support, can't be tested without bandwidth-consuming tests (Chrome has implemented the preload-IDL, but not the feature)
loopattribute support, can't be tested without bandwidth-consuming tests (support for this attribute is practically non-existent)
scripttag onload/onerror/onreadystatechange actual behaviour (atomicity, order, etc etc)
linktag / stylesheet onload actual behaviour (exists in webkit / ff but never fires)
text-overflow:ellipsisbehavior on text
keydown/keypressevents, and the
onhashchangeis case insensitive in IE8 (maybe 9 too?), all others are case sensitive (HTML5 requires case sensitivity). Can't be detected without actually triggering a hashchange event.
onhashchange, but doesn't support it. Workaround is to test for
document.documentMode > 8.
window.onloador in IE, the
loadevent of the
XHR2.uploadfires in different times in different implementations. Firefox fires it too lately (when the download of the response completed and not when the upload actually ends).
window.pageYOffset || documentElement.scrollTop || body.scrollTop) or below the bottom of the page.
<select>display in IE6
border-radius, etc (happens in Aurora/Midori/etc) issue 169
pointer-eventsfalse positive in Opera
position:fixedsupport in iOS and Android
<input type=text>element can cause that element's autocomplete box to not render at the same location as the actual input box.
<!-- -->comment nodes in the DOM (in IE)... like in some cases, a comment node will be moved to be a child of the previous element even though it's not a child proper. Can cause things like
:emptyto fail differently.
Add to the list if you know more Undetectables. Likewise, link to possible solutions if you think an item listed here can be feature-detected.
Contributors: paulirish, jaubourg, rwaldron, zachleat, snover, devongovett, rgrove, savetheclocktower, getify, garann, jdalton, michaelbrundage, necolas, mislav, davidcalhoun