|
Tailslide -> RE: Please Review My New Portfolio Site (7/21/2007 14:45:47)
|
It's nothing to do with validation - it's to do with IE not understanding 1.1 unless it's incorrectly served ast text/html. XHTML 1.1 is NOT the same as XHTML 1.0 - to quote an expert on the subject: quote:
XHTML 1.0 is a reformulation of HTML 4.01 as an application of XML. XHTML 1.1 is a reformulation of XHTML 1.0 Strict using Modularization of XHTML. XHTML 1.0 is just an application of XML which uses the same set of element names and attributes (i.e., semantics) as HTML 4.01. It comes in three different DTDs (Strict, Transitional, Frameset) just like HTML 4.01. XHTML 1.1 uses a concept called Modularization of XHTML, which means that the definition is split into a number of modules, which you can combine in any combination. There's something called XHTML Basic, for instance, which comprises just the essential modules for simple documents. XHTML 1.1 uses all modules (including a module for Ruby annotations that isn't part of any XHTML 1.0 DTD). XHTML 1.0 can be served as either text/html or application/xhtml+ according to the specifications. XHMTL 1.1 should only be served as application/xml never as text/html. IE can't understand any site served as application/xhtml+xml. Many web servers will actually serve sites as text/html whatever you've specified - some will serve them as you request (mine does). Unless you're using content negotiation, if your site is visible in IE then it's because your server is incorrectly serving it as text/html. If your web server ever decides to serve the site correctly then IE will start to choke on the site (instead of opening it will ask if you want to download the site!). So for two reasons - because it's incorrect to serve XHTML 1.1 as text/html and because IE doesn't understand it unless you do it'd be much much better to drop down to XHTML 1.0 when you'd be perfectly within your rights to serve it as text/html and IE will understand it properly. This page - http://www.autisticcuckoo.net/blog.php?xml=yes is a valid XHTML 1.1 page which is correctly served as application/xhtml+xml. See what happens when you try to open it in IE. You're running this risk with your pages - apart from the fact that it's not the correct way to send the page. In the end there are no advantages to using 1.1 and quite a few drawbacks. edit: There's nothing to stop you using content negotiation to serve proper XHTML 1.1 to modern browsers and HTML or even XHTML 1.0 to IE browsers - but frankly, I've tried it and it's just waaay too much trouble!
|
|
|
|