- From: Hayato Ito <hayato@google.com>
- Date: Mon, 22 Apr 2013 15:36:48 +0900
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: Dimitri Glazkov <dglazkov@google.com>, fantasai <fantasai.lists@inkedblade.net>, "www-style@w3.org" <www-style@w3.org>
On Fri, Apr 19, 2013 at 10:40 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: > On Thu, Apr 18, 2013 at 5:27 PM, Hayato Ito <hayato@google.com> wrote: >> On Fri, Apr 19, 2013 at 2:44 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: >>> I think that, for the purpose of ::distributed, the scope element >>> should be an abstract container, not the actual <content> element. >>> This container would act as an element for the purposes of selectors, >>> but it has no tagname or any other quality to select on. So, #1, #2, >>> and #3 would match, but #4 and #5 wouldn't, because the scoping >>> element isn't named "content". >> >> I noticed that we don't need 4) and 5) to prove contradiction. See the >> following example, introducing 4': >> >> 1). content::distributed(> .hello) -> Please assume this matches. >> 2). content::distributed(:scope > .hello) -> Matches. (1 and 2 >> should be equivalent according to the defintion of relative >> selectors). >> 3). content::distributed(*:scope > .hello) -> Matches. >> 4'). content::distributed(* > .hello) -> Should not match. >> >> 3) matches, but 4') should not match. >> >> I think it is hard to justify using :scope in this context. I am >> afraid that we should handle ':scope' in this context very *tricky* in >> implementing this. Maybe the spec is wrong. >> My proposal is using ':root' as suggested in the original thread. > I don't understand how :root could help. If :scope is problematic, > presumably :root would have the same problems? No, ':root' does not have a problem I mentioned. See the following example: root-3). content::distributed(.hello:root) -> Matches. root-4'). content::distributed(.hello) -> Matches We don't have an inconsistency between root-3 and root-4' as seen in 3 and 4'. > I don't have a problem with 4' matching, actually. The virtual > element must not show up in the selector's results, but that's all > (and it can only appear if you use a selector like ":scope" or "*"). > > ~TJ Hmm. On the hat of implementors, 3 and 4') break the basic rule of selectors. We need to have an extra hidden rule, virtual elements, to explain its correctness both in the spec and implementations. I am afraid that would make implementations unnecessary complex. If we can have alternative way, like ':root', I'd prefer it to ':scope'. -- Hayato
Received on Monday, 22 April 2013 06:37:35 UTC