Re: ":lang() syntax is still `<ident> | <string>`?" (was: Re: [CSSWG] Minutes Telecon 2015-01-14)

On Thu, Jan 15, 2015 at 9:27 AM, Bjoern Hoehrmann <derhoermi@gmx.net> wrote:
> * Dael Jackson wrote:
>>:lang() Issues
>>--------------
>>
>>  <TabAtkins> https://lists.w3.org/Archives/Public/www-style/2014Dec/0177.html
>>  TabAtkins: Previously we resolved to allow asterisks in :lang(),
>>             but per my email (above) I think we shouldn't. The
>>             legacy language behavior for ident-ish things can stay,
>>             but as soon as you need an asterisk, which breaks ident
>>             parsing, we should require use of strings.
>>  TabAtkins: In general, terms defined from outside CSS are
>>             represented with strings, as it avoids parsing
>>             confusion.
>>  fantasai: I think problems with asterisks is something that will
>>            be very rare for authors to run into, but I don't have
>>            objections if y'all have a strong opinion.
>>  Florian: Mini-grammars not inside quotes tend to get painful
>>           eventually (see recent issues with unicode range), so I'm
>>           with tab
>>  plinss: So, any objections to requiring string?
>>
>>  RESOLVED: Require quoting :lang() values as a string if they have
>>            asterisks.
>>
>>  <SimonSapin> TabAtkins, so :lang() syntax is still `<ident> |
>>               <string>`?
>
> This does not seem to be answered in the minutes. :lang(\*-x) could make
> the whole selector invalid (entire rule is dropped), but it could also
> just match nothing, or the ident could still be interpreted as if it had
> been a string, but validators ought to complain, or a similar variant.

The actual change is going to be "must be <ident> or <string>", so you
can definitely escape the asterisk if you feel like it.  No need to
get validators involved, it's fine, just weird and no one will do it.

~TJ

Received on Thursday, 15 January 2015 17:35:00 UTC