Closed Bug 134641 Opened 23 years ago Closed 23 years ago

Invalid HTML 4.01 Transitional mode

Categories

(SeaMonkey :: General, defect)

defect
Not set
major

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: dbrown, Assigned: asa)

Details

Mozilla is incorrectly forcing Strict rendering when a HTML 4.01 Transitional DTD is used. I understand that Mozilla uses a Quirks mode and a Standards mode. It seems more logical that Transitional would trigger quirks rather then Standards because a Transitional document is NOT a Strict document. The concept behind a transitional DTD was to make transitioning from old methods to the new standards. Transitional documents by nature need the quirk behaviour because they are being written to keep support for quirky old browsers like NS4, and if Mozilla forces Strict rendering then we end up with a page that looks right in NS4 but strangely in Mozilla. I had to break the rules and NOT use a DTD in my HTML 4.01 Transitional document simply to get the page rendering right (read: in quirks mode) in Mozilla. I've read a number of similar posts in bugzilla regarding this, so I thought an official report should be made. I work in web design professionally and my superiors are still worried about NS4 compatibility, a headache for me no doubt! That's why this issue is especially important, designers need transitional dtds to support NS4 and Mozilla shouldn't force them to go AGAINST standards to trigger quirks mode and get the results they need - identical rendering across browsers. Keep up the good work with Mozilla, it's fast becoming a great IE alternative! Hopefully some of these smaller issues are resolved for 1.0 release!
Can you attach a test case which behaves differently to what you expect?
A Transitional DOCTYPE without the system identifier (URL) should work: see http://mozilla.org/docs/web-developer/quirks/doctypes.html
We have no invalid rendering other than a few bugs here and there which are reported, and are covered by bug 7954. See the URI that choess posted earlier. That will help you get which rendering you need. FWIW, this bug form page I'm typing into uses HTML 4.01 Transitional, yet is rendered in quirks mode. You can copy it's Document type declaration if you so wish. See also http://mozilla.org/docs/web-developer/quirks/quirklist.html for a list of differences between quirks and standards mode (and please also note that even though it is not the preferred standard, HTML 4.01 Transitional is still a standard, which is why we allow rendering of pages using certain HTML 4.01 Transitional doctypes according to the standard).
Status: UNCONFIRMED → RESOLVED
Closed: 23 years ago
Resolution: --- → INVALID
That's all well and good, but ALL Transitional documents should render in quirks mode, how else is ir Transitional?
Summary: Invalid HTML 4.01 Transittional rendering → Invalid HTML 4.01 Transitional mode
It's transitional in the fact that you are still allowed by the DTD to use <font>, the background attribute of <body>, and other presentational elements and attributes. In HTML 4.01 Strict you are not.
True. However Transitional seems to be geared toward backward-compatibility as is Mozilla's "Quirks Mode". But setting the dtd to PUBLIC does work, so the basic problem is solved. The thing that worried me was how many developers would curse at Mozilla when they tried to use a Transitional DTD and get thrown to Strict. Perhaps not, but it seems more likely that developers using Transitional DTDs are purposefully NOT using Strict mode, thus using quirks rendering makes the most sense for all Transitional documents. I first noticed this when designing a page recently. It work perfectly in both IE6 and Mozilla 0.9.9 eith almost no modification.... but as soon as I added the dtd it broke in Mozilla. That was, of course, due to Mozilla deciding mt Transitional dtd should be rendered as Strict. If one transitional dtd uses quirks, i'm curious as to why some do not... what is the main reason behind this behavior?
Well, Quirks mode is *not* aimed to be backward compatible. Its purpose is to deviate from the standards *ONLY WHEN NECESSARY* to make sure that most of the web doesn't look like crap in Mozilla. For us to make quirks for every bad thing that older browsers did would be stupid (IMO) and bloatful (we'd practically be making two different browsers).
Most people actually don't use a SYSTEM identifier (and thus are in quirks mode). Most site authoring tools either don't include a Doctype or use one without a SYSTEM identifier. Also keep in mind again that Transitional is a published W3C standard. If someone goes in and copies the DTD out of the HTML 4.01 Transitional Standard publication itself, then most likely they want to follow the standard. I hope that explains why we render documents which contain the full document type declaration (as defined in the W3C spec) in standards compliant mode.
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.