- From: Henri Sivonen <hsivonen@iki.fi>
- Date: Fri, 19 Oct 2012 15:38:56 +0300
- To: www-style@w3.org
Regarding: http://www.w3.org/TR/CSS21/syndata.html#charset Letting HTTP-level character encoding information take precedence over a BOM never leads to sensible results, because the bytes that a BOM consists of never occurred for non-BOM purposes at the start of a file. So far, it seems that making the BOM override HTTP for HTML and JavaScript makes a Web engine more Web-compatible. The BOM overrides HTTP for HTML in IE up to and including 9 (but not 10), in Chrome and in Opera. The BOM overrides HTTP for JS in IE7 (but not in 8, 9 or 10), in Chrome and in Opera. While I am unaware of Web compat evidence for CSS, it would make CSS more consistent with the rest of the platform to make the BOM take the highest precedence for CSS as well. Opera and Chrome already give the BOM the highest precedence for CSS. I did not test Safari. Please change CSS to give the highest precedence to the BOM (UTF-8, UTF-16 little endian or UTF-16 big endian). Gecko bug for the CSS case: https://bugzilla.mozilla.org/show_bug.cgi?id=796882 Gecko bug for the JavaScript case: https://bugzilla.mozilla.org/show_bug.cgi?id=687859 Gecko bug for the HTML and XML case: https://bugzilla.mozilla.org/show_bug.cgi?id=716579 Spec bug for the JavaScript case: https://www.w3.org/Bugs/Public/show_bug.cgi?id=19623 Spec bug for the HTML case: https://www.w3.org/Bugs/Public/show_bug.cgi?id=17810 Test case for HTML: http://hsivonen.iki.fi/test/moz/bom/html.html1251 Test case for CSS and JS: http://hsivonen.iki.fi/test/moz/bom/no-charset-attribute.html1251 (Check baseline for :after support: http://hsivonen.iki.fi/test/moz/bom/baseline.html ) -- Henri Sivonen hsivonen@iki.fi http://hsivonen.iki.fi/
Received on Friday, 19 October 2012 12:39:25 UTC