Re: [selectors-nonelement] ::attr(*|localname), ::attr(ns|*), and ::attr(*)

On 06/03/2014 17:07, Tab Atkins Jr. wrote:
> On Thu, Mar 6, 2014 at 9:04 AM, Simon Sapin <> wrote:
>> On 06/03/2014 16:45, Tab Atkins Jr. wrote:
>>>>> If the <na-name> is an <ident>, the selector matches attributes with
>>>>> that name. If the <na-name> is a * character, the selector matches
>>>>> any attribute.
>>>> I would replace "any attribute" with "attributes with any name".
>>>> ::attr(ns|*) and ::attr(|*) are still subject to namespace filtering.
>>> That seems to apply to the first clause, too, right?
>> The first clause says "matches attributes in any namespace". The difference
>> is subtle, but only the latter gave me the impression it meant the wrong
>> thing.
> I don't understand.  The first part of that paragraph says "matches
> attributes with that name".

These only talk about one thing each:

* "only matches attributes in that namespace"
* "matches attributes in any namespace"
* "matches attributes in no namespace"
* "matches attributes with that name"

"matches any attribute", however, implies "all of them", almost 
"regardless of what we said before". Replacing it with "matches 
attributes with any names" would be less misleading, and more consistent 
with the other statements.

Simon Sapin

Received on Thursday, 6 March 2014 18:03:00 UTC