Maciej Stachowiak wrote:
Arguments against cssQuery:
- Selectors are not just called "Selectors", not "CSS Selectors", and
using "css" in the API may lead people to think selectors are only for CSS
Arguments for cssQuery:
- Significantly shorter than selectElement()
- Already the name used by some JS implementations of the spec's
functionality
- Authors often informally refer to this kind of feature as a "CSS query
API"
- In practice, the vast majority of the time selectors are used in
conjunction with CSS
Arguments for selectElement:
- Similar to the word "Selector"
Arguments against selectElement:
- Longer than cssQuery
- Very easily confusable with XPath selectSingleNode/selectNodes which
are actively used in web content (enough that we implemented XPath in
WebKit, and we include those methods)
- Very easily confusable with the UI operation of text selection, but
are actually totally unrelated to, say window.selection
I don't agree with the last argument about text selection applying to
these names, since the names clearly say Element, but in general, you
make a very good case.
For me the bottom line is that while cssQuery may be somewhat imprecise,
it is at the very least not ambiguous or confusable with very different
operations. I think the desire to stop propagating an already common and
relatively harmless misconception is outweighed by the potential for
genuine confusion.
In hindsight, looking at the arguments above, I probably did let my own
personal dislike of the name get in the way of my objectivity in this
case, as much as I tried to avoid doing so. As such, I am now willing
to consider these alternatives.
I'd have to make cssQuery() be the method that returns the node list
because Dean Edward's implementation uses the same name to return an
array. The question is then what to call the singular method.
There has been an argument made that the shorter name should return the
single element, though I don't believe it's particularly strong. Since
I can't think of any reasonable alternative shorter than cssQuery(),
cssQueryOne() would be acceptable.
Would others accept changing the methods to cssQuery() and
cssQueryOne()? If this would achieve concensus, I'd be willing to use
these names.
--
Lachlan Hunt
http://lachy.id.au/