- From: Thomas Broyer <t.broyer@gmail.com>
- Date: Tue, 21 Jul 2009 15:11:05 +0200
On Tue, Jul 21, 2009 at 1:02 PM, Philip Taylor wrote: > > (The HTML5 doctype reflects that in practice there aren't several > independent carefully-separated languages - there's just a single > vaguely-defined mess called HTML, described in a range of > specifications and sometimes not specified at all, implemented > incrementally with various extensions and bugs and missing features in > various browsers, with people writing pages that mix all the different > features together. The version numbering is an artifact of the W3C's > process of developing a numbered sequence of specifications, and isn't > aligned with how HTML browsers or documents are usually written. Agree. To add to that, think about JavaScript and CSS support, and new features introduced by HTML5: - Safari has <canvas> for some time now, but only Safari 4 has tabindex="" turning elements into "focusable" items (leading JS libraries to hack around this with hidden form elements ?as only those are in "tab order" by default?); Safari also innovates in the CSS field although it isn't yet perfect re. CSS 2 support (no browser is perfect, and Safari has amongst the best CSS support). It does support (some draft version of) WebDatabase and geolocation APIs yet not <video>. - Firefox/Mozilla is a leading actor in the JS field and supports E4X as well as not-yet-standardized JS features ("for each" loop, generators and iterators, destructuring assignment, array comprehensions, "let", etc.), yet it too has incomplete (though mostly complete) support for CSS 2.1. - Opera is/was the first to support (part of) Web Forms 2.0 (now merged into HTML5) As for CSS, many browsers started to support some CSS 2 and now CSS 3 selectors without having complete support for CSS 1 and CSS 2 properties or even syntax (e.g. the "double class selector bug" in Internet Explorer) > If you want to check that your pages are compatible with certain > browser releases, the language version number is a very bad > approximation - you'd want a tool that understands what features IE10 > supports (maybe some (but not all) from HTML4, some (but not all) from > HTML5, some proprietary extensions, etc), and it would be misleading > to think that a pure HTML-version-N validator is going to be good > enough for that. I'd add that some HTML editors have switched to this kind of "selectors" too (a while ago, you turned "netscape navigator" support off and <layer> started to be flagged as errors, same for <blink> for Internet Explorer, and same thing for JavaScript: document.all vs. document.layers vs. document.getElementById, elt.attachEvent vs. elt.addEventListener, etc.) For example, Microsoft Expression Web 2 has an "IE6" mode in IntelliSense CSS settings: http://expression.microsoft.com/en-us/library/cc294957.aspx -- Thomas Broyer
Received on Tuesday, 21 July 2009 06:11:05 UTC