Re: Behavior of matches() and closest() with :scope()

Boris Zbarsky <[email protected]>
Newsgroups gmane.comp.web.dom.general,gmane.comp.web.css.general
Message-ID <[email protected]>
On 9/24/14, 2:28 AM, Sean Hogan wrote:
> Has any browser implemented :scope in CSS? Does it still mean scope there?

Gecko has.

It's matched in the following ways in Gecko right now (at least in a 
nightly with various default-disabled stuff enabled; item 2 below is not 
enabled by default yet and closest() is not supported in a shipped 
release yet):

1)  When matching selectors from a scoped stylesheet, :scope matches the 
parent of the <style scoped>.

2)  When matching selectors for shadow DOM <content>, :scope matches the 
shadow host.

3)  When doing querySelector/querySelectorAll, :scope matches the node 
the call happened on.

4)  When doing closest() or matches(), :scope matches the node the call 
happened on.

5)  In all other cases, when matching an element E, :scope will match 
E.ownerDocument.documentElement.

I guess only cases 1 and 5 are really "CSS" from your point of view, right?

Note that we do not implement queryAll yet, so haven't had to really 
look into what happens there.

I can't speak for other UAs.

-Boris
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.