- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Wed, 26 Feb 2014 14:50:48 -0800
- To: Cameron McCormack <cam@mcc.id.au>
- Cc: www-style list <www-style@w3.org>
On Tue, Feb 25, 2014 at 9:19 PM, Cameron McCormack <cam@mcc.id.au> wrote: > Tab Atkins Jr. wrote: >> Nobody else has any opinions? If not, we should go with #1 and settle >> it in a spec. > > I don't like #1 at all. I think the risk of name collision is too great. > > Off the top of my head solution to satisfy #2: > > * Every style sheet is assigned a unique identifier of some sort > automatically. > > * The name that a given at-rule defines (like the font-family in an > @font-face, the identifier right after the @keyframes) is implicitly > prefixed with this unique identifier. > > * To reference a name that has been declared in a scoped style sheet you use > say scoped(name). This is expanded out to <unique_identifier> + name at > specified value time. This is pretty interesting! It sounds good to me, and I discussed this with Dimitri and he liked it too. Some implementation feedback: it's easy for us to implement scoping of global names per "scoping root" - documents and shadow roots, the kinds of things that provide a unique scope for element IDs. It's hard to us to implement scoping for arbitrary elements. So we'd be supportive of exactly that - specify that at-rules which define global names automatically associate them with the nearest scoping root, and you have to use "scoped()" to get at the names attached to the current scoping root. Using the name itself always looks at the global set. (Well, the names attached to the document itself.) This would mean that scoped stylesheets by themselves aren't affected, since their nearest scoping root (using the above definition) isn't their scoping element, but rather the document or their shadow root. I suggest letting them work and define global names normally. In other words, what I'm describing here has nothing do with scoped stylesheets at all (so we do option #1); it instead cares about the vaguely-similar concepts of ID-scoping roots. ~TJ
Received on Wednesday, 26 February 2014 22:51:36 UTC