Shown here is the publishing design tab for Percussion CMS 6.7 in Firefox 3.6.
With Percussion CMS 6.7 came 3 new tabs, Publishing Design, Publishing Runtime and Admin. These tabs are HTML, not Java and are formatted using CSS. They look fine in an IE browser. They render with no CSS in Firefox and Chrome. I investigated the issue and in fact, they will not render properly due to a problem that only Percussion can fix.
In short, Firefox is ignoring the CSS that supports the header and is rendering the page with no CSS. This is because Firefox is seeing an improper mime type for the CSS (application/x-pointplus instead of text/css) and taking the action to ignore the CSS as a result. According to the standards, Firefox is taking the correct action. The doctype of the delivered document is www.w3.org/TR/html4/loose.dtd. Loose, unlike Transitional, does not trigger quirks mode in Firefox. Therefore the page is rendered in standards mode. In standards mode, a non-text CSS must be ignored. Since the CSS has a mime type of “application/x-pointplus” it is not a text document and is ignored.
IE, not surprisingly, doesn’t care about the invalid mime type or its conflict with the doctype and uses the CSS anyway. Technically, Firefox is correct and IE is being too forgiving. Had the mime type at least been a text type, Firefox might have rendered it but it won’t because it is a binary type.
The reason the other tabs render properly is because they are not HTML, they are Java.
If IE ever becomes a true standards compliant browser in future versions, these 3 tabs will fail in IE also.
Meanwhile, it would be really nice if these tabs could be fixed to work in Firefox. There are only 2 ways to fix it:
- Properly mime the CSS files for what they in fact are, text/css. or
- Modify the Doctype to be Transitional which would allow the browser to enter quirks mode.
Here is how the mime type is being reported in the HTTP header (as shown via LiveHTTPHeaders Firefox plugin)
GET /Rhythmyx/sys_resources/css/menu.css HTTP/1.1
Host: nindscmsdev.ninds.nih.gov:9992
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17 GTB7.1 ( .NET CLR 3.5.30729)
Accept: text/css,/;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://nindscmsdev.ninds.nih.gov:9992/Rhythmyx/ui/publishing/SiteList.faces
Cookie: __utma=90894981.1082359655.1310058573.1310058573.1310058573.1; __utmc=90894981; __utmz=90894981.1310058573.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); JSESSIONID=AE23858A69C44F6EE0F8EBB14CF84D17; oracle.uix=0^^GMT-4:00
Pragma: no-cache
Cache-Control: no-cache
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.0.3 (build: CVSTag=JBoss_4_0_3 date=200510042324)/Tomcat-5.5
Date: Tue, 19 Jul 2011 13:50:01 GMT
Content-Transfer-Encoding: binary
Last-Modified: Tue, 7 Jun 2011 20:58:15 GMT
Content-Type: application/x-pointplusContent-Length: 5224