This tutorial was updated to reflect the fact that IE7 no longer flips into quirks mode when an XML declaration is used. For a detailed list of changes read the full post.
The following paragraphs were changed as shown by the ins and del markup.
<p>In browsers such as <ins>Internet Explorer 7, Firefox,</ins><del>Mozilla</del>, Netscape, Opera, and others, with or without the XML declaration, a page served with a DOCTYPE declaration will be rendered in standards mode.</p>
<p> With Internet Explorer<ins> 6</ins>, however, if anything appears before the DOCTYPE declaration the page is rendered in quirks mode. </p>
<p>Because Internet Explorer <ins> 6</ins> users <ins>still</ins> count for a very large proportion of browser users, this is a significant issue. If you want to ensure that your pages are rendered in the same way on all standards-compliant browsers, you need to think carefully about how you deal with this.</p>
<p>The presence of an XML declaration in an XHTML 1.0 file served as HTML will cause your file to be rendered in quirks mode on Internet Explorer <ins> 6</ins> (and therefore for a potentially large proportion of your audience).</p>
If a user agent (eg. a browser) is unable to detect the character encoding used in a Web document, the user may be presented with unreadable text. This information is particularly important for those maintaining and extending a multilingual site, but declaring the character encoding of the document is important for anyone producing XHTML/HTML or CSS. This tutorial will give you an understanding of the topic that will help you make the right choices when doing so. The topic is not as straightforward as it may sometimes appear, and the advice contained here is the end result of a great deal of thought and discussion.
After reading this tutorial you should:
- get advice on choosing an encoding for XHTML/HTML documents
- understand when and how to declare the character encoding (charset) for documents using XHTML/HTML and CSS
- have a grasp of aspects of serving and coding XHTML/HTML files that affect the above
- know when and how to use escapes and entities to represent characters