Tapestry 5 has a great way to handle markup renderer, based on the doctype and the contenttype of the page, but it appears that producing XHTML output that can be understood by IE is difficult .
XHTML output requires to have both a correct XHTML DOCTYPE and a correct content type (so, no "text/html" but a "application/xml+html"),
BUT IE has a known, old bug that make it don't understand "applciation/xml+html" content type, see for example : http://blogs.msdn.com/ie/archive/2005/09/15/467901.aspx
So, there is a workaround in the T5-HowTos : http://wiki.apache.org/tapestry/Tapestry5HowToXhtml
Nonetheless, it would be great if by default, T5 was able to render valid XHTML even with "text/html" content-type.