- From: L. David Baron <dbaron@dbaron.org>
- Date: Tue, 7 Apr 2015 16:59:54 -0700
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: www-style list <www-style@w3.org>
- Message-ID: <20150407235954.GA1361@pescadero.dbaron.org>
On Tuesday 2015-04-07 16:45 -0700, Tab Atkins Jr. wrote: > Ugh, hit send a little too early. > > On Tue, Apr 7, 2015 at 4:43 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: > > Correct, it *should* match those pseudos. The whole "featureless" > > concept exists *solely* to prevent a component author from > > *accidentally* matching the host element due to the component *user* > > doing something to it. The component author should be able to write a > > rule against a `.foo` class without risking accidentally targeting the > > host element just because the component user, unaware that .foo is > > being used inside the component, puts a class=foo on the host element > > for their own unrelated styling purposes. > > Note, though, that the Blink implementation currently *does* exclude > everything - it literally returns false immediately if the selector > has anything else in it. This was semi-intentional when implemented, > but I defined things the way I did on purpose, and Blink's current > behavior is a bug. But Blink's behavior seems like a much clearer mental model for authors: that only :host, :host(), and :host-context() can match outside of the component. It seems odd to me that when the host element is a p element currently in the :active state, that the following selectors would match it (as part of a larger selector with combinators): :host :host(p) :host(:hover) :active but that the following: p would not match. And if :active on the host element works, why shouldn't authors expect it to also work on ancestors of the host element (which doesn't work, since those ancestors aren't considered at all)? -David -- 𝄞 L. David Baron http://dbaron.org/ 𝄂 𝄢 Mozilla https://www.mozilla.org/ 𝄂 Before I built a wall I'd ask to know What I was walling in or walling out, And to whom I was like to give offense. - Robert Frost, Mending Wall (1914)
Received on Wednesday, 8 April 2015 00:00:20 UTC