Re: [css-scoping] Was shadow host intended to be more feature-less than "featureless"?

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