Internal IE-HTML DOM still isn’t XHTML compliant
Date : 2008 03 10 Category : Tech & DevelopmentJon Davis was glad to see that XHTML compliance was on the list in IE 8, but was surprised to see the above. It turns out that he found:
XHTML compliance exists in parsing and rendering only. Microsoft is still using an internal IE-HTML DOM that is not XHTML-compliant, even in XHTML documents. All you have to do prove this out is, in script, alert(document.documentElement.outerHTML); and what do you see? The most obvious observation is a total disregard for XHTML 1.0 § 4.2, which reads, “Element and attribute names must be in lower case; XHTML documents must use lower case for all HTML element and attribute names. This difference is necessary because XML is case-sensitive e.g. <li> and <LI> are different tags.” Why does this matter? It matters because of DHTML. It matters because there is an implemented and oft-used setter on DOM elements’ innerHTML. It matters because people actually use the DOM programmatically, both in evaluating and assigning markup. It matters because the browser has a Content-Editable mode that is often used with online content editing whereby the innerHTML contents are posted to the server for viewing as content. It matters because Internet Explorer has a COM interface that can, and often is, used to parse and tidy HTML markup, or to provide a WYSIWYG rich text editor for applications. It matters because it’s broken, has been all along, and has never been deemed acceptable.
Should IE be looking to fix this?
