W3C home > Mailing lists > Public > www-style@w3.org > December 2012

re: some case-insensitivity cases to test

From: John Daggett <jdaggett@mozilla.com>
Date: Wed, 12 Dec 2012 05:10:46 -0800 (PST)
To: www-style list <www-style@w3.org>
Cc: WWW International <www-international@w3.org>
Message-ID: <1545635835.4991697.1355317846925.JavaMail.root@mozilla.com>

With regards to the discussion of case sensitivity of identifiers in
CSS, David Baron wrote up a list of areas to test case sensitivity [1]
so I put together some tests for some of those.

Case sensitivity of class, id and attributes (in standards mode, *not*
quirks mode):

  http://people.mozilla.org/~jdaggett/tests/casesensitivity-classid.html

>  * comparison of CSS user identifiers, e.g., named counters:
>      counter-increment: grün;
>      content: counter(GRÜN);

  http://people.mozilla.org/~jdaggett/tests/casesensitivity-counters.html

>  * HTML tag names, attribute names, and attribute values, e.g.:
>      <input> vs <ınput> etc.
>      <select multiple> vs <select multıple> etc.
>      <input type="radio"> vs <input type="radıo"> etc.

  http://people.mozilla.org/~jdaggett/tests/casesensitivity-tagnames.html
  http://people.mozilla.org/~jdaggett/tests/casesensitivity-inputs.html

>  * charset names in HTML (defined as ASCII case-insensitive):
>    <meta charset="iso-2022-jp">
>    <meta charset="ISO-2022-JP">
>    <meta charset="ıso-2022-jp">
>    <meta charset="İSO-2022-JP">
>    <meta charset="unknown-charset">

  http://people.mozilla.org/~jdaggett/tests/casesensitivity-charset.html

>  * MIME types in HTML (defined as ASCII case-insensitive):
>    <script type="text/javascript">
>    <script type="TEXT/JAVASCRIPT">
>    <script type="text/javascrıpt">
>    <script type="TEXT/JAVASCRİPT">

  http://people.mozilla.org/~jdaggett/tests/casesensitivity-jsmimetype.html

The summary results are included below.  Class names, element id's and
counters are all matched case sensitively.  Charset names appear to be
matched using ASCII case insensitively.  For other cases, the matching
of HTML tagnames, attribute names and attribute values, even the MIME
type for Javascript blocks is a bit of a hodgepodge, different
browsers do slightly different variations of partial case insensitive
matching.  Webkit browsers allow tagnames like <mark> with a kelvin
symbol instead of a 'k', as does Opera.  Firefox and Opera both seem
to match dotted capital i's.  None of the browsers follow a clear
pattern listed in Unicode's CaseFolding.txt (e.g. C, C+S, C+F, etc.).

[1] dbaron's list of areas to test for case sensitivity
http://lists.w3.org/Archives/Public/www-style/2012Dec/0089.html

Results from the tests above:

CS  = case sensitive
ACI = ascii case insensitive
CI  = case insensitive
 (X) = follows mapping X in CaseFolding.txt
  ~  = bugs?

class
IE10 CS
Chr CS
Saf CS
FF CS
Op CS

id
IE10 CS
Chr CS
Saf CS
FF CS
Op CS

attr
IE10 CI(~C)
Chr CI(~C+S)
Saf CI(~C+S)
FF CI(~C+S+T)
Op CI(~C+S+T)

counters
IE10 CS
Chr CS
Saf CS
FF CS
Op CS

HTML tags
IE10 ACI
Chr CI(~C)
Saf CI(~C)
FF ACI
Op CI(~C)

input type=""
IE10 ACI
Chr CI(~C)
Saf CI(~C)
FF CI(~C+T)
Op CI(~C+T)

JS MIME
IE10 ACI
Chr ACI
Saf ACI
FF CI(~T)
Op CI(~T)

charset
IE10 ACI
Chr ACI
Saf ACI
FF ACI
Op ACI

IE10 = Internet Explorer 10 / Win8 (IE9/Win7 shows same results)
Chr = Chrome 25.0.1354.0 dev / OSX 10.8
Saf = Safari 6.0.2 / OSX 10.8
FF = Firefox Nightly 20.0a1 2012-12-11 / OSX 10.8
Op = Opera 12.10 / OSX 10.8
Received on Wednesday, 12 December 2012 13:11:16 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:21:03 GMT