W3C home > Mailing lists > Public > public-webapps@w3.org > July to September 2012

Re: Proposal for "Cascading Attribute Sheets" - like CSS, but for attributes!

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Tue, 21 Aug 2012 16:13:37 -0700
Message-ID: <CAAWBYDAChNQc-4TQ4WWcm+Upy5JhoJBrF4CapFkA5LwwEVE72w@mail.gmail.com>
To: Glenn Maynard <glenn@zewt.org>
Cc: Brian Kardell <bkardell@gmail.com>, public-webapps <public-webapps@w3.org>, Ojan Vafai <ojan@chromium.org>
On Tue, Aug 21, 2012 at 4:07 PM, Glenn Maynard <glenn@zewt.org> wrote:
> FWIW, while I don't find the idea of attaching event listeners this way too
> interesting (maybe I could be convinced, but event capturing is already
> convenient for most of these examples), being able to say "#myform input {
> autocomplete: off; autocorrect: off; autocapitalize: off; }" or "a { rel:
> noreferrer; }" would be great.
> Having it not apply changes dynamically seems weird, since it looks and
> feels like CSS.  It'd mean these two things--which look intuitively the
> same, and behave the same with CSS--would be very different when parentNode
> is in the document:
> var div = createMyDiv();
> parentNode.appendChild(div); // our attributes are applied
> div.className = "foo"; // and we override them
> var div = createMyDiv();
> div.className = "foo"; // we set an attribute
> parentNode.appendChild(div); // and it gets overwritten
> Also, the behavior of the latter is different depending on whether
> parentNode is within a document or not, so it's now also dependent on
> whether, for example, "document.documentElement.appendChild(parentNode)"
> happens before or after.

Actually, the two should be identical, because CAS is applied as a
mutation observer, rather than synchronously.  As long as those
statements appear in the same microtask, they'll have the same
behavior regardless of order (CAS will always get to override them).

Received on Tuesday, 21 August 2012 23:14:25 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 20 October 2015 13:55:52 UTC