Re: [wgo] XHTML1.0 Strict vs HTML 4.01



On Sat, 2006-11-25 at 20:24 +0100, Quim Gil wrote:
> Another concern about the *HTML* encoding to be used in wgo:
> 
> RickyZhou says at http://live.gnome.org/GnomeWeb/WebPolicies
> 
> "It isn't practical to require XHTML, since it would have to be sent as
> text/html to support IE. In doing so, it becomes impossible to take
> advantage of its features, as all browsers would simply render it as
> malformed HTML. Overall, I recommend HTML 4.01 Strict for maximal
> support. Some links that explain this debate in more detail:
> http://www.hixie.ch/advocacy/xhtml and
> http://www.webstandards.org/learn/articles/askw3c/sep2003/ "
> 
> Opinions?

I have been working with these issues for a few years now. The points
brought up are obscure an should not stop us from authoring to the
standard that will be 7 years old in a few weeks. These are issues that
need to be addressed from time to time, but will no affect the day to
day operation of the site. Microsoft is phasing out IE 6 and XHTML is
not going away. We must be mindful of current issues faced with
browsers, screen sizes, and the like and design for them, or design for
graceful degradation.

The core of the argument is about the application/xhtml+xml verses the
test/html mime-type. There is little to be said for authoring HTML 4.01.
We are concerned about authoring content that is universal, and long
lived. From http://www.w3.org/MarkUp/

  'application/xhtml+xml' SHOULD be used for XHTML Family
  documents, and the use of 'text/html' SHOULD be limited to
  HTML-compatible XHTML 1.0 documents.

Send the pages with the mime-type text/html (as is common practice) to
get the most from the current browser population. We can choose to send
application/xhtml+xml to browsers that we recognize AND we believe will
provide compelling features when our content is interpreted as modern. I
am not aware of any compelling features in Gecko or KHTML enable with
application/xhtml+xml.

I can elaborate on a few of the points brought up for anyone who care to
read on.

In the case of IE, being an Microsoft product, it often ignores the
mime-type in favor of extension. I have looked at a number of issues in
the past few years where the IE happily accepts the wrong content type
for CSS and script because it is looking at the extension, where as
Firefox fails to load the file because it has security considerations.
IE will also read DOCTYPES and ignore mime-types. The application/xhtml
+xml mime-type definitely breaks IE 6, so it should be avoided for IE 6.
The same XHTML content may be sent to IE 6 as is sent to a gecko-based
browser so long as each browser sees mime-type it understands.

Scripts and style information should be in an external file; the inline
escaping issue should be avoided by reason of following the standard
rather than worrying about a mediocre product. I'm certain there will be
exceptions. I have had to use the double escaped markup in the past--it
is not something to think about since it is well documented. 

The points about the DOM Level 0 scripting illustrate exactly why
authoring to current standard is important. We should NOT be authoring
for DOM Level 0 as the example implies we might want to.[1] The whole
issue of scripting is unrelated to the markup, but is serious
none-the-less. There is an ECMA standard, and IE is not fully compliant.
I'm not sure any Javascript engine is fully compliant. Scripts have been
a thorn in web development since Netscape first released Javascript
(then began to release revisions that were not backward compatible). The
AJAX aspect of the Web 2.0 movement is largely dependent upon libraries
that hide non-standard APIs and implementations. Content should not
depend upon scripts, scripts should not be embedded in content, scripts
must employ best practices like defensive coding to work with the next
change in the browser population.

The markup argument is disputable. The points on standards are correct,
but the topic is about IE's non-standard compliance. The issue we face
is how IE choose to interpret markup. IE reads the DOCTYPE to choose the
rendering engine. It chooses the small, fast trident engine for XHTML,
if there is an error, it fails over to the old, large, and slow IE 4/IE
5 engine. Valid markup displays faster. Since IE is switching the
engines used to render, it is also switching the models (MSDOM).
Regardless of source markup, script and CSS rules are applied to the
active model. So long as IE is using the model you intend, there is no
issue...reason enough to avoid errors in your markup.

[1] The move away from DOM level 0 was started by the IE team. DOM 1 is
based is large part to an Microsoft proposal.

 

-- 

__C U R T I S  C.  H O V E Y____________________
sinzui is verizon net
Guilty of stealing everything I am.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]