[css3-values][css3-lists] Case-sensitivity of user-defined identifiers

So, we resolved to make user-defined identifiers (like counter-names and namespace
prefixes) case-sensitive to avoid dealing with Unicode case-folding and other
complications.

This is fine for things that are entirely user-defined, like counters and namespace
prefixes, but Tab noticed that it presents a problem when we get to counter-styles:
all our styles right now are predefined keywords, and are thus case-insensitive
ASCII. When we use @counter-style to define counter styles, we will be allowing
users to create their own counter styles. Will those be case-sensitive? What if the
user redefines an existing counter-style?

I think we've got a handful of options here -

   1. @counter-style names are always case-insensitive
      A) via Unicode case-folding
      B) via ASCII case-insensitivity

   2. @counter-style names are always case-sensitive; UA-defined keywords are
      simply defined for all case permutations. (Overriding one only overrides
      the permutation given.)

   3. @counter-style names are case-sensitive, except those on the UA-defined
      list are special and are ASCII case-insensitive.

Tagged CSS3 Values and Units because if we go with #1, we'll probably want
it to define the appropriate type.

~fantasai

Received on Monday, 14 May 2012 23:38:39 UTC