Re: Case Sensitivity in CSS [I18N-ACTION-171]

On Tue, Jan 15, 2013 at 8:59 AM, Phillips, Addison <addison@lab126.com> wrote:
> Hello CSS,
>
> In our most recent teleconference [1], I was tasked [2] with conveying the Internationalization working group's comments to CSS.
>
> I18N has considered our long thread of conversation, various tests produced by John Daggett, Richard Ishida, and myself, and other comments and has these recommendations as a result.
>
> Case Sensitive comparison: Case sensitive comparison is the best choice for existing case-sensitive items and for any new features added to CSS. It's the easiest for content authors to understand and manage, has good performance, is straight-forward to implement, and does not disadvantage any language community. We note that most comparisons in CSS are actually case-sensitive.
>
> We believe you should define case-sensitive comparison using the same rules and terms that HTML5 does. Our specific resolution [1] was:
>
> --
> We would recommend that CSS adopt case sensitive comparison going forward for all identifiers and language elements, except where legacy considerations apply
> --
>
> Case Insensitive comparison: Where CSS cannot be case-insensitive for legacy reasons or for implementation choice reasons, the I18N WG recommends that comparison be done using Unicode "common" plus "full" case fold mapping, as we previously recommended. Suggestions that this is hard to implement or low-performance are, in our opinion, unfounded, as the mapping consists of a relatively small table. There is a demonstration implementation in JavaScript [3] and we have confirmed with our Unicode colleagues that this is the right approach [4].

Now that it's been demonstrated that an acceptable form of Unicode
case-folding is merely a ~1000 extra lookup table, I'm fine with this.

This *does* mean that, for efficiency reasons, case folding will often
be done eagerly and the original form of the value will be forgotten.

> Please let us know if CSS agrees with the above positions and/or what concerns you have. We look forward to reviewing changes to CSS addressing this issue in the near future.

The only thing I disagree with is the recommendation that CSS be
generally case-sensitive for new features.  This should be nuanced:
for consistency with the existing language, anything related to CSS
values should be CI.  If we were to, say, design a completely new type
of selector, however, it should be CS, as that agrees with Selectors
in general.

~TJ

Received on Wednesday, 16 January 2013 03:45:11 UTC