intertwingly

It’s just data

Serving XHTML to IE9


Dean Hachamovitch: Web browsers should render the same markup – the same HTML, same CSS, and same script –the same way. That’s simply not the case today. Enabling the same markup to work the same across different browsers is as crucial for HTML5’s success as performance.

The biggest difference I see between browsers is IE9’s lack of support for SVG width, height, and clipPath.

The only difference in markup that I am sending to various browsers is the MIME type.  While the IE9 Platform Preview is capable of processing application/xhtml+xml, I had no way of distinguishing requests from the first preview from the behavior I see when users of IE8 request “Open in a New Tab” or “Open in a New Window”.  I gather that there was or is a bug open on the issue, but what I see there is The content that you requested cannot be found or you do not have permission to view it.

While the Accept header didn’t change in this preview, the User Agent did.  I’ve made the following change:

# MSIE accomodation: open in new tab/window
RewriteCond %{HTTP_ACCEPT} ^\*/\*$
RewriteCond %{HTTP_USER_AGENT} MSIE\s[5678]
RewriteCond %{HTTP_USER_AGENT} !chromeframe
RewriteRule ^([^.]*|.*\.html\d?)$ - [T=text/html;charset=utf-8]

I’ll need to revisit this when MSIE 50 comes out.