I am dynamically creating an IFrame on a page and filling that IFrame with both content and styling. It appears that the browser combines all styles with the same name (regardless of case) to create the final style.
Here is an example: http://jsfiddle.net/6W2KP/3/
var fDoc = document.getElementById("myFrame").contentWindow.document;
var fStyle = fDoc.createElement("STYLE");
fStyle.innerHTML = ".ab{font-size:30px;}\n.AB{color:red;}\n.ac{font-weight:bold;}";
fDoc.head.appendChild(fStyle);
var p = fDoc.createElement("P");
p.className = "ab";
p.innerHTML = "Testing";
fDoc.body.appendChild(p);
Above, the font should not be red but it is; .ab .AB .aB and .Ab will all be used. Furthermore, this behaviour has been reproduced in both Firefox and Chrome.
This is contrary to everything I can find about the standards, which say class names are case sensitive. Can anybody explain this?