[css2.1] editorial clarification: "case-insensitive" always means "ASCII case-insensitive", y/y?

Section 4.1.3 says

     * All CSS syntax is case-insensitive within the ASCII range (i.e.,
       [a-z] and [A-Z] are equivalent), except for parts that are not
       under the control of CSS.

There are four other normative uses of the term "case-insensitive"
within the standard:

5.10 ... Pseudo-element and pseudo-class names are case-insensitive.
5.11.4 ... The matching of C against the element's language value is
           performed case-insensitively.
7.3 ... Media type names are case-insensitive.
18.2 ... these [additional names for color properties] are
         case-insensitive ...

None of these normative uses are qualified with "within the ASCII
range".  It is logical to assume that §4.1.3 defines the term, so
Unicode-aware case normalization is not required anywhere within
CSS, but conversely, one might argue that whenever not explicitly
stated, ISO 10646 controls and Unicode-aware case normalization is
required.  It is easy to construct test cases where this matters: for
instance,

  body { color: green }
  @MEDIA PRİNT { body { color: red } }

where the third letter in the media type name is U+0130 CAPITAL LETTER
I WITH DOT ABOVE.

I propose that this be clarified by adding the sentence "Whenever the
term 'case-insensitive' is used normatively in this standard, it means
case-insensitivity within the ASCII range." immediately after what I
quoted from 4.1.3.  Alternatively, the four normative uses could be
changed to read "ASCII case-insensitive" or "case-insensitive within
ASCII".

My own interpretation is that either of these options would be an
editorial clarification, not a change to the standard; i.e.
case-insensitivity is already restricted to ASCII throughout.

zw

Received on Wednesday, 14 July 2010 18:30:28 UTC