- From: Maciej Stachowiak <mjs@apple.com>
- Date: Wed, 22 Aug 2012 18:32:54 -0700
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: Brian Kardell <bkardell@gmail.com>, public-webapps <public-webapps@w3.org>, Ojan Vafai <ojan@chromium.org>
On Aug 21, 2012, at 1:59 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: > On Tue, Aug 21, 2012 at 1:37 PM, Brian Kardell <bkardell@gmail.com> wrote: >> On Tue, Aug 21, 2012 at 4:32 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: >>> Correct. If we applied CAS on attribute changes, we'd have... problems. >> >> Because you could do something like: >> >> .foo[x=123]{ x: 234; } >> .foo[x=234]{ x: 123; } >> >> ? > > Precisely. Any way around this problem pulls in a lot more complexity > that I don't think is worthwhile. I suspect it's actually pretty simple to fix. Ban attribute selectors, and forbid setting the class or id attributes using this language. I have mixed feelings about this proposal overall, but I think it's a little weird to use CSS property syntax instead of markup-like attribute syntax to set attributes. I think this makes the syntax confusingly similar to CSS even though proposed behavior is quite different. Something like this might make more sense: img.placeholder { src="/images/1x1.gif" alt="" } In other words, make attribute setting look like attribute syntax. I also think the proposed semi-dynamic behavior of applying only at DOM insertion time but otherwise being static is super confusing. And finally, I'm skeptical whether the convenience here is worth adding a whole new language to the Web Platform technology stack. It is literally just convenience / syntactic sugar. I'm not sure that rises to the high bar needed to add an additional language to the Web Platform. Regards, Maciej
Received on Thursday, 23 August 2012 01:33:22 UTC