Fwd: [blink][edge][webkit] steps toward <style scoped> : first do no harm

Forward of the last time we chatted about Scoped Style, per request
from Tab on today's telcon. -t


---------- Forwarded message ----------
From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Fri, Jul 10, 2015 at 4:56 PM
Subject: Re: [blink][edge][webkit] steps toward <style scoped> : first
do no harm
To: Tantek Çelik <tantek@cs.stanford.edu>
Cc: www-style list <www-style@w3.org>


On Fri, Jul 10, 2015 at 11:14 AM, Tantek Çelik <tantek@cs.stanford.edu> wrote:
> I recently found a nice use-case for <style scoped> : per post custom
> styling, that would work not only on a post's permalink page, but also
> on a post when display in a stream, like on a home page.
>
> I had just created a bit of CSS for the recent "pride weekend" in San Francisco:
>
> http://tantek.com/2015/178/t1/lovewins-css3-pride-rainbow-background
>
> And decided I wanted to keep that custom rainbow bg styling on that
> post, while reverting other posts to their "normal" styling.
>
> I implemented this using <style scoped> and it worked exactly as expected:
>
> http://tantek.com/2015/185/t1/coded-per-post-styling-style-scoped
>
> On both the post by itself and when it was present in a list of posts
> like on my homepage.
>
> At least in Gecko.
>
> When I tried it other browsers, the rules from the <style scoped> leak
> out to the rest of the document, affecting all posts.
>
> E.g. this is a relatively recent Edge screenshot (via a friend)
>
> http://i.imgur.com/CUXPIJk.png
>
>
> Thus this is a request - short of fully implementing <style scoped>:
>
>
> ** Could Blink, Edge, and Webkit at least *not* apply <style scoped>? **
>
>
> I looked for such "first do no harm" bugs for each and couldn't find
> any, so I'm sending this message here to broaden awareness and
> hopefully get someone from each engine to file a bug and report back a
> publicly viewable URL for it so we can track it.

This would, in fact, do harm today.  If you'd proposed it years ago
when <style scoped> was first introduced, maybe, but now, there's
usage in the wild that puts an id on the scoping element and uses that
in the selectors inside of <style scoped>, so that it works in all
browsers (but hopefully gets performance benefits in those that
actually implement scoped='').  For example, several examples in the
Flexbox spec do this.

> That being said, if any other engine can share an intent to actually
> get <style scoped> working in some reasonable timeframe, that would be
> appreciated as well!

Chrome still doesn't have any current plans to implement this.

~TJ

Received on Wednesday, 1 June 2016 16:27:56 UTC