[selectors4] Spec for attribute value case-sensitivity is clearly to vague

We now have at least two implementations of 
https://drafts.csswg.org/selectors-4/#attribute-case shipping in release 
browsers: Safari and Chrome.  Sadly, they are not actually interoperable 
with each other.  Simple testcase:

   <!doctype html>
   <style type='text/css'>
     [foo="bar" I] { color: purple; }
   </style>
   <div foo="BAR">I am purple in Safari but not Chrome</div>

The spec says "the attribute selector may include the identifier i 
before the closing bracket" but doesn't make it clear what the case 
handling is.  Given the case-insensitivity of CSS in general, clearly 
WebKit decided to also accept "I", whereas Blink read this more literally.

The spec could use better wording or a more exhaustive example, or 
_something_, since clearly what's there right now is not enough to 
produce interoperable implementations.

-Boris

Received on Friday, 22 January 2016 04:35:31 UTC