Choosing HTML or XHTML

Robert Nyman’s post HTML or XHTML? discusses some of the differences between HTML and XHTML. The information may help you make an informed decision next time you’re in a position to choose between using HTML and XHTML.

I agree with Robert here: using a Strict doctype is far more important than whether you use HTML or XHTML. Strict doctypes will help you separate content and structure from presentation, and will trigger full standards mode in web browsers that support doctype switching.

So, what do I use? It depends. 456 Berea Street is currently HTML 4.01 Strict. I used to use content negotiation to send XHTML 1.0 Strict as application/xhtml+xml to browsers that support it, and HTML 4.01 Strict as text/html to others. For various reasons, all browsers now get the latter.

  • November 4, 2005
  • Comments closed
  • Posted in

Comments

1. November 4, 2005 by Jero

I agree with you. I've been using HTML 4.01 again since a few months. IMO there just aren't any advantages to use XHTML.

2. November 5, 2005 by Dustin Diaz

I figure the main advantage is that it doesn't hurt to move to xhtml...even if the mime type serves the page as html. At the least it will be supported at a latter point in time. Roger, I'm just glad you're not the type that outcasts those who don't use one or the other. They both work and they get the job done.

3. November 5, 2005 by Matt Robin

This is a no-brainer: xhtml!

One has future-proofing web-standards being considered...and the other is the past.

4. November 5, 2005 by Eric Shepherd

I'm working on a project at work in which I can (hopefully) achieve full strict compliance except for one tag which must be inside a tag at the bottom of the page, used for page tracking.

I'm debating whether I should use a transitional doctype simply for the sake of this one image, which is not allowed inside in the strict doctype.

Should I change doctypes because of this image, or invalidate every page built on the template because of the illegal image?

5. November 5, 2005 by Georg

I see it mostly as a non-issue. My preference is xhtml 1.0 served as text/html for the time being. The fact that I like well-formedness is one reason. Old programmers habits die hard, and HTML Tidy is always around to guard against "human bugs".

Strict/transitional is a matter of choice. I know the difference, and often force HTML Tidy to leave my code at transitional, even though it is confirmed as strict to begin with.

I also like to treat IE6 in quirks mode, so the xml declaration comes handy - especially now that I know that IE7 will go into strict mode with that declaration present.

6. November 5, 2005 by Ara Pehlivanian

Matt: Uhm, re: future proofing. I do believe they're working on an HTML 5, which means that XHTML and HTML will be holding hands as they go forward into the future. So really, no, it's not a future proofing issue to go with XHTML. :-(

7. November 5, 2005 by Matt Robin

Ara: It's an issue at present as 5 doesn't exist yet and xhtml is more future friendly than html 4 - I'm talking about the here and now - get it right! :D

Anyway - as xhtml beats html 4 with a big stick, and isn't a great deal more different to implement, it really makes the choice between the two obsolete. If xhtml was dramatically hard to use and bothersome then I'd say stick with the html, but it isn't.

8. November 5, 2005 by Jordan Moore

Slackers! My site uses XHTML 1.1!

Seriously though, I see nothing wrong with using HTML 4.01 or XHTML 1.0 -- whatever is needed for that particular project.

9. November 5, 2005 by Roger Johansson

Dustin: Yeah I don't like the idea of picking on anyone who has made an informed choice between HTML and XHTML. Both work.

Matt: In my opinion, XHTML is easier than HTML. The trouble comes when you want to use XHTML properly and serve it as application/xhtml+xml. As soon as a well-formedness error occurs, the document breaks. And you can't always have 100% control of what ends up in the markup. It is especially difficult in large projects where the final output often consists of content from several different systems, not all of which are web standards-aware.

Jordan: Hehe. I sure hope you aren't sending that XHTML 1.1 as text/html - only XHTML 1.0 allows that.

10. November 6, 2005 by Maarten van Soest

I'm curious and like to hear other opinions. What are your various reasons Roger?

11. November 6, 2005 by theUg

For instance, would the popular nowadays attribute rel="nofollow" be out of place in HTML 4?

12. November 6, 2005 by theUg

Apparently not (knocking meself on the head with validator). Anyhow, then, what are the reasons. So far we’ve seen loads of “why not to”, but never a clear “when to” use XHTML.

13. November 6, 2005 by Roger Johansson

Marten: The two main reasons I have for switching from XHTML to HTML for this site are:

  • When you send XHTML as application/xhtml+xml you must make sure that all markup is well-formed. And that includes comments. I always had an uneasy feeling about that, and kept worrying that errors would sneak through and break the site in Gecko and Opera.
  • Google AdSense targeting doesn't work properly when you use an object element to include an HTML 4.01 Transitional document containing the ad code.

Yes, I could have just removed the content negotiation and started serving XHTML 1.0 as text/html. But since my content negotiation script converts XHTML to HTML for browsers that don't handle application/xhtml+xml it was easy to tell it to do that for all browsers.

The whole site is still XHTML before it has passed through that script, so should I decide to switch back to XHTML again I just need to open a php file and change a setting.

14. November 7, 2005 by Douglas Clifton

On my own site, I use XHTML 1.1 (and send 1.0 Strict as text/html to browsers that don't support application/xhtml+xml -- namely IE/Win 6.0).

Of course I can do this only because I have total control over the content of the site. And the primary reasons for this decision are to promote and advocate the correct use of XHTML, and also to demonstrate you can use 1.1 with plenty of features and still have it validate across the board. I have hundreds (at least) of pages and they are all 100% valid markup.

For a client or employer, this might not be practical. But that's why we have different document types -- chose one that's appropriate for your project.

15. November 7, 2005 by Mats Lindblad

I choose XHTML, mainly because when I have to do editing on the server I have to use Emacs and then I use NXML-mode which validates and autocompletes my code on the fly.

So I guess i'm just lazy but for once I think it's paying off... ;)

16. November 8, 2005 by Jake

Well, I'm a total nOOb to all this stuff. can someone give me a quick rundown of when to use html or xhtml,(I usually just use xhtml strict 1.0) and when to send as text/html or application/xml, etc? or point me to some material that i can read up on it about. thanks alot.

17. November 9, 2005 by Robert Wellock

Jake, the short rundown is as follows:

http://www.w3.org/TR/xhtml-media-types/#summary http://www.w3.org/International/articles/serving-xhtml/

Plus you have to be careful of using Scripting with proper XHTML in most cases Strict HTML 4.01 is fine.

Sorry, comments are closed for this post.

Information, sponsorship, and externals

About the author

Roger Johansson is a Swedish web professional specialising in web standards, accessibility, and usability. More about me and this site.

Subscribe

Looking for web hosting?

Try DreamHost!

Use the promo code 456BEREASTREET3 to save USD 20 when you sign up!

Latest articles

Validation statistics from Nikita the Spider Comments off
An analysis of the sites crawled by the bulk validation tool Nikita the Spider during March 2008.
Authentic Jobs API and Affiliates program Comments off
The Authentic Jobs job listing service now has a public API and an affiliate program.
What does Acid3 mean to you and me? Comments off
Opera and Apple have announced that their web browsers pass the Acid3 Browser Test, but how will that help web designers and developers?
Designing Web Navigation (Book review) Comments off
Learn the fundamentals of navigation design and design better navigation systems for large and small sites as well as for web based applications.
DOMAssistant bundle for TextMate Comments off
To save keystrokes and speed up development I have created a DOMAssistant bundle for TextMate.
First impressions of Internet Explorer 8 Beta 1 Comments off
My impressions after trying out Internet Explorer 8 Beta 1 for a couple of days.

More articles

Favourites, here and elsewhere

Affiliation

  • NetRelations
  • Kaffesnobben
  • Dagens recept
  • 9rules network member

Support this site

Show your support by buying a book or two from SitePoint or getting me something from my Amazon Wish List.