W3C home > Mailing lists > Public > public-webapps@w3.org > October to December 2011

Re: QSA, the problem with ":scope", and naming

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Tue, 25 Oct 2011 13:51:34 -0700
Message-ID: <CAAWBYDDSK+R-_3=MTBwTQ6V+Zetok-DNch06jT7zs+yJp-AHMQ@mail.gmail.com>
To: Sean Hogan <shogun70@westnet.com.au>
Cc: Yehuda Katz <wycats@gmail.com>, Jonas Sicking <jonas@sicking.cc>, Lachlan Hunt <lachlan.hunt@lachy.id.au>, Boris Zbarsky <bzbarsky@mit.edu>, Ojan Vafai <ojan@chromium.org>, Alex Russell <slightlyoff@google.com>, Webapps WG <public-webapps@w3.org>, John Resig <jeresig@gmail.com>, Paul Irish <paulirish@google.com>
On Tue, Oct 25, 2011 at 1:47 PM, Sean Hogan <shogun70@westnet.com.au> wrote:
> I think allowing explicit :scope in findAll() will be perpetually confusing.
> I can imagine someone looking at old code like:
>
>     e.findAll("div.foo span, div.bar :scope span")
>
> and asking themselves "what's the rule again? If there's :scope in the
> selector then there's no :scope implied? Or was that just on each single
> selector? Or is :scope always implied at the start of the whole selector
> list and that's why it's explicit in the second part? Dammit, why didn't we
> just use querySelectorAll() if we wanted explicit :scope?"

Using :scope explicitly at the beginning of selectors is necessary if
we want a sane way to have selector lists chain off of the scoping
element.  I'm okay with the string starting with a combinator when
it's a single selector like "+ foo", but not when it's a selector list
like "+ foo, + bar".

~TJ
Received on Tuesday, 25 October 2011 20:52:21 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:48 GMT