- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Mon, 11 Apr 2011 17:30:11 -0700
- To: Boris Zbarsky <bzbarsky@mit.edu>
- Cc: Dimitri Glazkov <dglazkov@google.com>, "www-style@w3.org" <www-style@w3.org>
On Mon, Apr 11, 2011 at 3:08 PM, Boris Zbarsky <bzbarsky@mit.edu> wrote: > On 4/11/11 2:58 PM, Tab Atkins Jr. wrote: >> >> XBL exposes the shadow tree directly > > I have no idea what you mean by that. > >> 1. It makes the selector tree not match the source tree, without an >> explicit indication that something weird is going on. Components >> should, in general, look like and act like normal elements, so that >> ordinary selectors act in expected ways. (For example, "details> p" >> should match the<p> in "<details><p>foo</p></details>", even if the >> implementation puts a shadow wrapper around the contents. > > That works today, in XBL1 and in the XBL2 proposals. Have you actually > tried this, or did you just assume things about the way those work that > don't match reality? Sorry, I made a slight mistake in reading the XBL2 spec (Hixie's writing style at the time was much more opaque than now). Take a document like the following: <details> <summary>foo</summary> <div>bar</div> </details> <template id='details-binding' allow-selectors-through='true'> <content include='summary'></content> <div> <content></content> </div> </template> <style> details { binding: url('#details-binding'); } details > div { border: thick solid; } </style> Both the light and shadow divs are matched by "details > div" and styled with a border. This is *crazytimes* - both an element and its parent in the layout are matched as direct children of an element. That just goes against the basic definition of what a "child selector" means. XBL2 is just inconsistent here - it basically says that selectors operate on both the original *and* final flattened trees at the same time. >> 2. It exposes the entire shadow tree. > > _This_ I agree is a problem in current XBL1/2. However, it seems like so > does the '%' proposal. And if it doesn't, then whatever restrictions that > proposal is applying can apply just as easily to ' '. > > So I still don't see the need for a new combinator here... No, the intention is that the magic new shadow combinator only selects from the elements that are explicitly indicated by the component author. ~TJ
Received on Tuesday, 12 April 2011 00:30:58 UTC