Closed Bug 335499 Opened 18 years ago Closed 6 years ago

HTML mails always displayed in quirks mode

Categories

(Thunderbird :: Message Reader UI, defect)

defect
Not set
normal

Tracking

(blocking-thunderbird5.0 -)

RESOLVED DUPLICATE of bug 1429491
Tracking Status
blocking-thunderbird5.0 --- -

People

(Reporter: bugzilla.mozilla.org-3, Assigned: mkmelin)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

(Keywords: testcase)

Attachments

(3 files, 1 obsolete file)

Appearently HTML mails are always displayed in quirks mode even when they use a strict DTD.
Attached file Testcase (obsolete) —
Version: unspecified → 1.5
Assignee: mscott → nobody
Component: General → Message Reader UI
Keywords: testcase
QA Contact: general → message-reader
Attachment #219865 - Attachment is obsolete: true
Target Milestone: --- → Thunderbird 3.3a4
Version: 1.5 → 3.1
If someone has some time to look into this that would be nice.

I would suggest enabling the standard mode by default.
We'd take a patch for it, but given the age of the bug, not going to focus and 3.3 work on it specifically.
blocking-thunderbird5.0: --- → -
Target Milestone: Thunderbird 3.3a4 → ---
Attached file another testcase
Attached patch proposed fixSplinter Review
This makes standards mode the default, i'm not certain we want it though, as that would display differs from composition.

Obviously using the mode of the document would be the ideal, but that's not going to happen without a serious rewrite of libmime. "Input" is really such a mess...
Assignee: nobody → mkmelin+mozilla
OS: Windows XP → All
Hardware: x86 → All
(In reply to Magnus Melin from comment #6)

Magnus,

in Gaia (https://wiki.mozilla.org/Gaia/Email), no-quirks (AKA standards mode) is always enabled. (To verify, install the Firefox OS Add-on for Firefox, start it up and switch on the email app. Then, in Thunderbird, add <div style="width:100;border:red solid 1px">foo</div> to a HTML message and send it to Gaia. Result: 'width:100;' is ignored = no-quirks mode.)

The Gaia behavior is the way to go. Here is why: 

Per HTML5, no-quirks mode is is the only mode that is conforming, but the DOCTYPE as a method for triggering non-quirks is for legacy reasons only. For instance, for @srcdoc documents, then HTML5 does not require the DOCTYPE. I hereby suggest that HTML mail is another context in which no-quirks should be triggered even without DOCTYPE. 

As for the composing, then, provided no-quirks is enabled regardless of DOCTYPE, the problem would be solved by itself:  Thunderbird’s composer should render in no-quirks regardless of the DOCTYPE.

Thunderbird has yet another problem, currently: Even if the message contains a DOCTYPE, if you ask Thunderbird to save the message in HTML format, the DOCTYPE is stripped out. The obvious solution would be the opposite: To always add the new HTML DOCTYPE (<!DOCTYPE html>), in order to ensure that, when viewed as a standalone HTML document, the document renders in no-quirks mode.

As for your proposed fix - the addition of the HTML <!DOCTYPE html>, then, following what I wrote above, I am not certain - it would probably be better to make the renderer behave as today, where it simply ignores the DOCTYPE. However, instead of ignore and falling back to quirks (thus: today’s behavior), it should ignore and fall back to no-quirks.
Depends on: 991048
Blocks: 991053
Filed bug against HTML5 require no-quirks mode for HTML mail regardless of DOCTYPE: https://www.w3.org/Bugs/Public/show_bug.cgi?id=25234
I think it would be quite easy to solve this bug, if you would take an approach like Gmail or Hotmail(see here: http://www.emailonacid.com/blog/details/C13/doctype_-_the_black_sheep_of_html_email_design).

1. Look for Doctype and remove it if it exists
2. Add a predefined doctype (e.g. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">)

This way, Thunderbird will always use the same doctype and it's much easier to design an email for Thunderbird.
Any Doctype is better than Quirks mode even if that means replacing the original Doctype.
Note that some editing in the compose window won't work in non-quirks mode, see bug 1264088. The test that fails in Standards mode is moving to the end of a line from a longer preceding/following line with down/up arrow.
Let's forward dupe this.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: