- From: Lachlan Hunt <lachlan.hunt@lachy.id.au>
- Date: Wed, 06 Sep 2006 12:14:48 +1000
- To: Dave Raggett <dsr@w3.org>
- CC: www-forms@w3.org
Dave Raggett wrote: > On Wed, 6 Sep 2006, Lachlan Hunt wrote: >> Dave Raggett wrote: >>> When people generate malformed markup they are putting themselves at >>> the mercy of the browser's error handling behavior (Caveat scriptor) >> >> That is a major interoperability concern of browsers these days... >> >> IMHO, while it is meant to be the author's problem, authors that fail >> to fix these problems make it the users' problem (when the site >> doesn't work in their browser), which in turn makes it the browser >> vendors' problem. > > But even if one accepts that, it is still unrealistic to standardize > such browser error handling, particularly given the lack of > interoperability in existing implementations. See the Parsing section of the Web Apps 1.0 spec [1]. At least 3 major browser vendors (Mozilla, Opera and Safari) are committed to implementing that algorithm which is being reverse engineered primarily from the 4 major browsers. 1. Where it is been shown that most browsers handle something in the same (or very similar) way, that behaviour has been documented. 2. Where it has been shown that all browsers handle something significantly differently from each other and authors aren't depending upon one particular method, the sanest approach possible has been documented. e.g. The handling of badly nested elements fitted into this category. Each browser built very different DOMs and, after careful evaluation, the chosen algorithm was primarily based upon Safari's "adoption agency" approach. 3. Finally, where it has been shown that the handling of one particular browser (usually IE) is significantly depended upon, and other browser handling has proven to be incompatible with the real world, that specific handling has been reverse engineered and cleaned up where possible. > The best I can suggest is to encourage people to check their markup, and > to avoid authoring tools that are known to produce malformed markup. It > isn't impossible to do so! That simply isn't good enough. It is an undeniable fact that many authors don't fix their errors and will continue to use tools that produce malformed markup. It is unacceptable for browser vendors to have inconsistent and undefined error handling because it makes interoperability a nightmare in the real world and, when a page fails to work in one browser, the user inevitably blames the browser vendor, not the author. >>>>> <h:bind id="b1" name="fred"/> >>>> >>>> It doesn't have to have been bound to a namespace for IE to treat it >>>> as pseudo-XML >>> >>> My tests showed that the prefix has to be bound to a namespace URI >>> for IE to allow CSS selectors to take effect on that element. > > This is demonstrably true for IE6 and IE7 RC1. I am not sure what the > relevance is of the DOM view you referenced. Never mind, I completely misread your previous statement and my test case was demonstrating that the namespace didn't need to be declared for it to be parsed as pseudo-XML, not that CSS can apply. The only way I could get CSS to apply to elements with namespace prefixes was like the following, both with and without the declared namespace. foo\:a { background: green; color: white; } <foo:a>This line should have a green background.</foo:a> Here's the working test case: http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E%0D%0A%3Cstyle%3Efoo%5C%3Aa%20%7B%20background%3A%20green%3B%20color%3A%20white%3B%20%7D%3C/style%3E%0D%0A%3Cbody%3E%3Cfoo%3Aa%3EThis%20line%20should%20have%20a%20green%20background.%3C/foo%3Aa%3E >> It's already confusing enough for authors as to why they can use <br >> />, but can't use <p /> and have it work as expected in text/html. > > That's an unfortunate historical accident. If XML had come before > HTML things would have been different, but that's too bad. Different? Yes. Better? Not necessarily. Do you have any evidence to suggest that XML would have been implemented any better than SGML was for HTML back in the early days? >> many people (particularly Hixie) consider namespaces >> too complicated to use. > > Maybe Hixie finds them too complicated, but namespaces are really quite > easy to use in practice if you follow simple guidelines, Personally, I agree they're easy to use, but there are some confusing aspects about them. I was only pointing out that there are those that oppose them. >> Besides that, there is no point introducing XML syntax into HTML. As I >> said before, transitioning to XML through HTML is not the right >> approach. If such a transition is to occur, it absolutely, >> positively, *must* (without a doubt) do so as *real XML* when browsers >> sufficiently support the languages! > > How would you go about making it easier to use application/xhtml+xml > as a case in point? The major barriers to doing so is IE's total lack of support and Firefox's current lack of support for incremental rendering of XML (bug 18333). Google either is or was a problem too, but I remember reading somewhere that support for XHTML either has been or will be added shortly. When IE 8 is released in 1-2 years, it is expected to finally have full support for XHTML and, by then, Firefox will have fixed it's incremental rendering problems. It's possible that Firefox may even have native support for XForms by then, given the current progess of the Mozilla XForms project. After that happens, I'll have few technical objections to deploying XHTML+XForms in the real world, as XML, using scripts to simulate support for the XForms markup. My only remaining concerns would be about providing an alternative version for users with scripts disabled and the minority browsers still without support for XHTML. [1] http://www.whatwg.org/specs/web-apps/current-work/#parsing -- Lachlan Hunt http://lachy.id.au/
Received on Wednesday, 6 September 2006 02:15:47 UTC