Per: http://dev.w3.org/2006/webapi/selectors-api/#interface-definitions Authors are advised that while the use of pseudo-elements in selectors is permitted, they will not match any elements in the document, and thus would not result in any elements being returned. Therefore, authors are advised to avoid the use of pseudo-elements in selectors that are passed to the methods defined in this specification. This works as expected (returns null) in Webkit for pseudo elements like ::before and ::after, but all Webkit specific pseudo elements (like -webkit-search-decoration) throws DOM Exception 12 This fails: document.querySelector( 'input::-webkit-search-decoration' ) See also the console output of this Fiddle: http://jsfiddle.net/TheDJ/db27kn7p/ This will return null in Chrome.
Downstream ticket on Wikipedia where we noticed this: https://phabricator.wikimedia.org/T112650 Related ticket in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1204880
This is still the case. For example: document.querySelector("input::placeholder"); Outputs an Exception in Safari, but returns null in Firefox and Chrome.
Still a problem in Safari 14
Still a problem in 15.1
I am able to reproduce this in Safari Technical Preview 152 as well. It does not show 'null' similar to other browsers (Chrome Canary 107 and Firefox Nightly 106) for third case - console.log( document.querySelector( 'input::-webkit-search-decoration' ) );
<rdar://problem/99299129>
Still present in Safari 16.4
Pull request: https://github.com/WebKit/WebKit/pull/22038
Committed 272337@main (a23b77e8bca1): <https://commits.webkit.org/272337@main> Reviewed commits have been landed. Closing PR #22038 and removing active labels.
Derk-Jan, sorry voor de vertraging. Als Wikipedia nog andere problemen heeft hoor ik er graag van. Kan niks beloven, maar hopelijk duurt het niet nog een keer acht jaar.