Menu Search
Jump to the content X X
Smashing Conf Barcelona

You know, we use ad-blockers as well. We gotta keep those servers running though. Did you know that we publish useful books and run friendly conferences — crafted for pros like yourself? E.g. our upcoming SmashingConf Barcelona, dedicated to smart front-end techniques and design patterns.

Misunderstanding Markup: XHTML 2/HTML 5 Comic Strip

Since the official announcement of W3C to stop working on the development of XHTML 21 in the end of 2009 and increase resources on HTML 5 instead, there has been a lot of confusion and various debates about the “proper”markup language for modern and future web-development. With XHTML 1.0, XHTML 2, HTML 4, HTML 5 and XHTML 5 we have so many languages that it’s really getting hard to keep track!

You may also be interested in the following related posts:

Now that the development of XHTML 2 is discontinued, should we stick to XHTML 1.0 or move forward to HTML 5 or better prefer the old HTML 4? Let’s set things straight once and for all. In this post we are trying to clear up the confusion, explain what is what and describe what markup language you can use for your web-sites. You can also see the comic in the larger version5.

HTML 5 vs. XHTML 26

HTML 5 vs. XHTML 27

HTML 5 vs. XHTML 28

HTML 5 vs. XHTML 29

Links mentioned in the article Link

About the authors Link

Jeremy Keith13 is an Irish web developer living in Brighton, England where he works with the web consultancy firm Clearleft14. He has written two books, DOM Scripting15 and Bulletproof Ajax16, but what he really wants to do is direct. His latest project is Huffduffer17, a service for creating podcasts of found sounds. When he is not making websites, Jeremy plays bouzouki in the band Salter Cane18. His loony bun is fine benny lava.

Footnotes Link

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18

↑ Back to top Tweet itShare on Facebook

Brad Colbow is a web designer living and working in Cleveland Ohio (USA). He is also the creator of the weekly web comic "The Brads" about two web designers trying to start a small company. You can follow him on twitter here.

  1. 1

    What a lame, useless article. Nerds.


  2. 2

    That did absolutely nothing to explain the differences between HTML & XHTML. But it’s OK because anybody that needs a comic strip to help them understand shouldn’t worry. If you don’t know what XHTML is then I guarantee you’ve no reason to use it. Just don’t rely on comics written by idiots to help you get your head round it!

  3. 3

    Justin Clemens

    July 29, 2009 7:46 am

    Kudos on “ham and hamster” metaphor.

  4. 4

    Sorry, not funny

  5. 5

    Oh, Pandjarov! Don’t be jealous. Be happy, man!

  6. 6

    Ries van Twisk

    July 29, 2009 8:55 am

    So this sucks, right??

    I am not to sure why the cook knows better then real IT people, people that know (I am sure he starts cooking at the end of the article, right??)

    anyways, what I don’t understand is why you would want to be backward compatible in a world where the BROWSER is backward compatible already in the first place.

    HTML5 sounds like going back to the 9ties to me, xhtml2 sounds like going forward to a syntax a computer AND humans can understand much better, and I am sure that HTML5 in any browser get’s parsed in a DOM structure anyways.

    I am baffled…..


  7. 7

    1st comment! Great article!

  8. 8

    This comic makes it really easy to get the differences between xhtml, xhtml 2 and html 5! Very well done!

  9. 9

    Tutorial City

    July 29, 2009 7:18 am

    Very very cool!

  10. 10

    fatih arslan

    July 29, 2009 7:18 am

    very funny

  11. 11

    Courtny Cotten

    July 29, 2009 7:19 am

    Haha, awesome post! Good way to clarify by using the illustrations and such :D I like the fat free cheese.

  12. 12

    I like this…. cool, each to their own and do what you like the most.


  13. 13

    Certainly a good entry point for anyone who wants to find out more about XHTML, HTML 5 and whatever else might be looming out there.

    In my opinionated view, defining HTML 5, implementing cross-browser support for it and spreading the word about deprecated tags (such as FRAMESET, among others) should be a top priority.

    Thanks for keeping the buzz going!

  14. 14

    Wow, this comic really helped me understand the difference between XHTML 1.1, XHTML 2 and HTML 5. I’m less confused now. :D

  15. 15

    Will Merydith

    July 29, 2009 7:33 am

    Very cool and well done. I’m actually going to use this as I get asked about html 5 more and more often and my own explanation does more damage than good I think.

  16. 16

    Smashing Magazine + Comics. I’m very pleased.

  17. 17

    Bravo, Brad. Great way of clarifying Jeremy Keith’s point!

  18. 18

    Is it just me, or the guy in the comic looks sick?

  19. 19

    Simple. Clear. Funny. I like it.

    @Pandjarov – silly flamer. For anyone in web development or learning some form of HTML, this is important stuff. The article and comic laid it out rather well.

    HTML 5 and CSS 3, let’s go!

  20. 20

    Mark Collins

    July 29, 2009 7:51 am

    What an excellent way to illustrate the problem.

  21. 21

    Marius Milcher

    July 29, 2009 8:02 am

    Anyone remember the Chrome comic?? This is a very clear and concise explanation, certainly cleared up a few points and great use of metaphors (milk, cheese, soya milk – excellent). Good effort, Thanks!

  22. 22


  23. 23

    Nice. Simple. Thanks.

  24. 24

    Nicely done!

  25. 25

    Sophia Browne

    July 29, 2009 8:17 am

    Absolutely fabulous darlings! I read this this morning but it is even more wonderful as a comic. Great work!

  26. 26


  27. 27

    all i can say is, you’re wrong – italian food sucks, thai food rules :)

    nice cartoon, love it.

  28. 28

    verious smith

    July 29, 2009 8:40 am

    nice article! The comic was a nice touch, makes it interesting.

  29. 29

    I’m even more confused right now =(

  30. 30

    A bit confusing, took me sometime to find everything out because of not being native speaker.

  31. 31

    Jewen Soyterkijns

    July 29, 2009 8:58 am

    Google wave +xhtml/xml == yummy!

  32. 32

    this comic is misinformed, xhtml served as text/html has always been treated as a tagsoup (i.e. the same as the html 4.01 family), not as xml. And the only way to use the xml serialization of html5 (“xhtml 5”) will be to serve as application/xhtml+xml.
    Since serving as “application/xhtml+xml” will create compatibility problems for many years to come without offering any benefit (unless you absolutely need xml because you are doing xslt scripting) xhtml is, in practice, dead.
    Also, using html5 now that is not supported will do you no good (you will be treated as an html 4.01 tagsoup).

    Overall the whole xhtml experiment was just a big waste of time.

  33. 33

    Brad Colbow

    July 29, 2009 9:24 am

    One rather large over site on the comic above, I never linked back to the source materiel on Jeremy’s blog

    And thanks for all the kind comments.

    @Marius Milcher – I’m more than a little inspired by the work of Scott McCloud who did the Google Chrome comic last year.

  34. 34

    Liane Blanco

    July 29, 2009 9:29 am

    Damn. XHTML is dead? I never knew. The shorter doctype is good though.

    Thanks for the article – Smashing Magazine rocks!

  35. 35

    XHTML 1.1 is the same reformulation but with the added unrealistic demand that document must be served with XML MIME-type

    Unrealistic demand?

    How I understand the point of application/xhtml+xml MIME type is to let parser know that document is well formatted XML document and it can be parsed as one. If document has plain old text/html MIME-type in most cases parser will just assume that it is dealing with tag soup and will try to make best of it.
    Comic focuses primary on visual code differences such as lowercase vs UPPERCASE tags, attribute quotation, mandatory closing tags and slashes at the end of stand alone tags, but misses one of most important point parsing differences. Of course there are other differences such as getting rid of some of the tags for better content and presentation separation. In XHTML it is enforced, but that can be done in HTML too just by not using them.
    So my point is that you can use whatever syntax you want, HTML parsers will try to make best of it. :-) This comic is a bit misleading so for those who want more insight I recommend reading this

  36. 36

    Certainly a great way of clearing up some of the myths and misconceptions about XHTML 2.0 and HTML 5.0.

    As great as it is, though, there are always some people who just don’t ‘get’ certain things, and I’m sure the argument will continue for a while longer.

    I’m definitely up for XHTML ‘strictness’ in my upcoming HTML 5 sites.

  37. 37

    It reminded me of Scott Mcloud. That’s a good thing.

  38. 38

    E[X] says: “this comic is misinformed, xhtml served as text/html has always been treated as a tagsoup (i.e. the same as the html 4.01 family), not as xml. And the only way to use the xml serialization of html5 (”xhtml 5″) will be to serve as application/xhtml+xml.”

    Be aware that processing instructions are rendered on some user agents. Also, some user agents interpret the XML declaration to mean that the document is unrecognized XML rather than HTML, and therefore may not render the document as expected. For compatibility with these types of legacy browsers, you may want to avoid using processing instructions and XML declarations. Remember, however, that when the XML declaration is not included in a document, the document can only use the default character encodings UTF-8 or UTF-16.

    So yeah unless you want to use something other than UTF-8 or UTF-16 then you can quite happily serve XHTML 1.0 documents as text/html.

  39. 39

    @rich97: all existing user agents treat xhtml 1.0 served as text/html as an html tagsoup. Yes you can serve xhtml as text/html but in the end you are not serving xhtml. I have seen quite a few malformed xhtml pages (with mismatched open/closed tags) served as text/html that render perfectly in every browser.

    BTW would you really want to serve your pages in a way that any minor syntactic mistake causes catastrophic failure?

  40. 40

    This is just confusing to me in the directions the W3C is leading us with these languages.

    First UPPER CASE tags were all right, then along came XHTML and upper case tags were a big no-no…. and now we’re going back to upper case being all right again? And then there’s a whole bunch of “you can choose to do this or you can choose to do that” stuff, which seems to undermine the whole idea of standards across the board… the standards sound like they’re becoming un-standardized.

    I’m trying to learn all of this stuff… I started off hard-coding with the original HTML and then got sucked into the WYSIWYG mode of developing (I know, save me the grumbles)… so I decided to get back to understanding the hard-coding again, picked up some books on XHTML and was told to avoid the upper case stuff… and now it’s just going back again.

    Oh well… guess that’s just the nature of the industry…

  41. 41

    A good point,
    and eloquently put.
    Nice format too.

  42. 42

    So the W3C gives up? Wow what a kitkat… I like XHTML and I like XML… I don’t like backwards… who wants to go backw….

    Never mind, I have to deal with this for a moment…

  43. 43

    Sampahio Damaceno

    July 29, 2009 11:32 am

    HTML5… CSS3… e o Internet Explorer???

  44. 44

    still dont understand the difference between 1.1 and 1 xhtml

  45. 45

    Can anyone explain this to me ?

    Why would they want to be less strict when it comes to coding ? It’s what seperates the good codes from the bad ones. What advantage does that give to people who learn to code properly ? This just doesn’t sound good to me …. or am I wrong here ?

  46. 46

    Very nice article! I definitely keep this article in my mind.

  47. 47

    Ryan Roberts

    July 29, 2009 12:36 pm

    From the look of the comments here it appears this comic hasn’t cleared up much, it has possibly even caused more confusion.

    Oh dear :o

  48. 48

    Michael Chacon

    July 29, 2009 12:55 pm

    Haha, awesome. I like the visuals and very informative. Thanks again sm

  49. 49

    Ian @ Creative Interactive

    July 29, 2009 1:00 pm

    regardless of the debate over markup, nicely done and thank you… reminiscent of Scott McCloud’s outstanding book “Understanding Comics” (definitely required reading)…

  50. 50

    The comic adds nothing to the text.

  51. 51

    Christopher LCP Mendes

    July 29, 2009 1:49 pm

    I felt as though the comic was a nice deviation from the traditional informative posts here on Smashing. Hope to see more of them in the future.

  52. 52

    I wonder if Brad is a fan of “Good Eats” on the Food Network, the caroon has a very simular feel.

  53. 53

    I kinda see why people would take to the “openness” of HTML – being able to use uppercase, not self-close tags, etc. Imagine how boring the English language would be if everyone communicated with the same, strict, language constraints. No more slang, dialects or accents. Pretty dull. Languages naturally evolve and that’s what makes them interesting. I suspect this is why there is such a divide between the XHTML vs. HTML syntax crowd.

    However, in an era of standards and the rapid development of a still relatively young Internet, would it not make sense to have everyone singing off the same hymn sheet? Nobody seems to have issues with the strictness of Javascript, PHP or other scripting languages so why leave the gate open for different “flavours” of HTML when the end product is essentially the same?

    Browsers are updated all the time – why not let them handle the backwards compatibility issues, rather than the code which isn’t going to be updated again any time soon?

    Or perhaps I’m one of these people misunderstanding the markup…

  54. 54

    There are a few technical problems with this comic, but the glaring error is sociological: it ISN’T personal preference. When you are working on a team, you need to agree and use the same markup language.

  55. 55

    The comic says that XHTML is no better or worse than HTML. That’s completely wrong! The loose syntax of HTML is much harder to parse: the parser has to take into account every retarded web developer’s “style” of syntax, which means: SLOWER PARSER. Your webpages will load slower in HTML than if they were XHTML!

    HTML is for script kiddies who don’t know how to use a validator.

  56. 56

    The comic says that XHTML is no better or worse than HTML. That’s completely wrong! The loose syntax of HTML is much harder to parse: the parser has to take into account every retarded web developer’s “style” of syntax, which means: SLOWER PARSER. Your webpages will load slower in HTML than if they were XHTML!
    HTML is for script kiddies who don’t know how to use a validator.

    Is this fanboy ignorance, or flamebait?

    For those who seriously think XHTML makes any difference to the speed of your pages: measure it. And if you can find any evidence that it matters (ha!), get in touch with Steve Souders — no doubt he simply overlooked this issue, and we’ll soon have a new Yslow rule: “Use XHTML”. ;)

  57. 57

    Nice comic. I was pretty confused with the whole XHTML2/HTML5 debate that had fired up over the past month, this comic has cleared it up pretty well for me. And I admire Jeremy’s clear and concise conversational explanations.

    Good job on the comic illustration too, it does really look like Jeremy Keith’s in the comic :)

  58. 58

    John Faulds

    July 29, 2009 4:04 pm

    HTML is for script kiddies who don’t know how to use a validator.

    You can still use a validator with HTML 4.0; in fact there’s plenty of very experienced developers who do because they realise there’s no advantages to choosing XHTML if you’re going to continue serving it as text/html.

    And as MikeHopley points out, I don’t think you’ll find any evidence that a well-formed, error free, validating HTML document will be parsed any slower than the equivalent document served as XHTML.

  59. 59

    Anthony Lemmer

    July 29, 2009 4:16 pm

    Does this mean you can mix-and-match formats?

    I hope not.

  60. 60

    Tomás Camusso

    July 29, 2009 4:59 pm

    Great article !

  61. 61

    Another learning experience with smashing magazine article…
    I really learn a lot from your site… keep it up.

    Now I know the how I can define each of them…

  62. 62

    Holy crap was this article/comic useful. I was confused whether I “could” use a trailing/closing slash for empty elements in HTML 5 or not… but thank God I can use either syntax (I prefer the XHTML style).

  63. 63

    Thanks so much for this!

  64. 64

    Nate Klaiber

    July 29, 2009 5:53 pm

    “HTML is for script kiddies who don’t know how to use a validator.”

    So your logic states that those who do HTML are ‘script kiddies’, but those who write XHTML only to have the assurance of a validator to help prevent them from error are the smart ones?


    Brad – awesome job with this comic. I love the photo of you hanging in his house.

  65. 65

    Great comic guys, thank you :)! (ignore the trolls – I think any one of any skill level can still benefit from information delivered in a fun and easy-to-read format like this).

  66. 66

    Very useful comic for every web developer. Everyone will surely love reading this.

    Thanks a lot Brad! :D

  67. 67

    i really dont understand how making language syntax less strict is considered improvement

  68. 68

    superb way of telling techie things. Cool man Cool

  69. 69

    As long as I can use the blink tag, I’m all set.

  70. 70

    Thanks for the strip, I was quite confused and it helped me to have all it clear

  71. 71


    July 29, 2009 10:29 pm

    Quite creative. The “milk” stuffs make things totally clear. Great article.
    And now we have comics on Smashing Magazine. Thumbs up!

  72. 72

    Antonio Ferraioli

    July 29, 2009 10:52 pm

    Very funny!

  73. 73

    I don’t get it, why is the “You can choose” in HTML5 praised as a good thing when it was labeled as a bad thing in HTML4? To hell with HTML5, who came up with this gayness?
    XHTML is a standard, standard is a thing you do this way and this way only, not that way, and you know that Fred on the other side of the planet has to do it the same way.
    HTML5 is a parody, something you could do this way, that way or maybe even that way! Choose your own standard! Heck, choose something thats not even one!
    HTML5 speed optimization rules: Remove all quotation! Do not close tags!

    Can someone please dissolve the W3C now before its too late?

  74. 74

    Now, I am even more confused than I was.

  75. 75

    Very informative comic! Thanks a lot.

  76. 76

    Pandjarov is a faggot.

  77. 77

    Excellent! I think that will save me and many others a fair bit of time scouring through W3’s rather drab looking website! :)

  78. 78

    thx for clearing things up.
    Superb stuff!

  79. 79

    There’s one thing which hasn’t been discussed and that is XHTML modules. If you want to produce validating markup containing SVG, RDFa or ARIA markup, the W3C currently provide XHTML 1.0 DTDs that allow you to do so.

    And going from HTML 4/XHTML 1 to HTML 5 isn’t necessarily as easy as just changing the doctype – there are elements and attributes that HTML 5 deprecates. It’s not a bad idea to figure out what those are before deciding to change, as it may be the case that features you currently use in HTML 4 or XHTML 1.x are no longer there. You can be reasonably sure that if you are currently producing a document that is valid HTML 4.x or XHTML 1.x, you can replace the doctype with an HTML 5 doctype and it’ll all work in the browser, but that doesn’t mean that it’ll validate. If validation is important to you then it’s a good idea to read the specs before switching over.

  80. 80

    Kashif M Qasim

    July 30, 2009 12:48 am

    Good effort!

  81. 81

    Nice comic, and a good explanation, though it’d be nice if Mr Keith didn’t crowbar his own opinions in too.

  82. 82

    Great article, still deciding whether or not to use the in my next design that I’m doing for my clothing company… Hmm…

  83. 83

    Very nice and easy way to explain things (close to a Scott McCloud style). I like it. It’s easy to read and understand. I hope some more Smashing articles will use the same.

    Keep up the fine job.

  84. 84

    Dilip Kr. Shukla

    July 30, 2009 2:01 am

    You there, all HTML-5 lovers ! Who on earth can implement HTML-5 with IE6? Here goes claims of backward compatibility. If older browser can’t afford all the luxuries provided by new language then this comic guy needs to explain “backward compatibility” too, since I think I am not aware of it.

    A web surfer is as backward or forward as his/her browser. It means everything depends on browser.

    If browsers can implement HTML-5 then what was problem with XHTML-2 (yeah I am aware of it that its entirely new and I would like to announce, I wanted new).

    If any developer want to use disgusting non-standard code he was most welcomed in HTML-4 squad. after all its all happening for shake of backward blah blah.

    Is this change just for shake of change? XHTML-2 tried to do a total reform with javascript events too. Means total pure abstraction in markup, interface and behavior. I congratulate you guys who succeeded in making everyone backward. Who will waste your entire life either leaving marking up or dreaming about making css dynamic…anyone dreamt about css variables? huhhh. Grind your heads hacking each version of browser.

    “Do what ever you want !”, what it means? Can I write in arabic or plain english? I can assume HTML-5 will understand, right? huhhh. Just tell me can “application/xhtml+xml” be parsed without upgrading browser? Its just nonsense.

    I tell you, standards are not food nor it can be implemented without forcing. It could be choice what food one likes but it lies in recipe which defines whether food is Italian or Thai or Indian. We are not talking about coding xhtml in java way we are just refining the way markup must be cooked and how it can take benefit from other technologies evolving every neno second.

    If anyone wants to live in stone age why interfering with metros? Use html-4 use IE6 and maintain peace. Hell Hell Hell. Did anyone read the docs f XHTML-2 and XForms and new events? No!!!…who has time ?

    Ohhh well here is a quiz….


    Is this you want ? use what case you want (since this is what comics guy described as difference between html and xhtml).

    Can anyone forget to start body tag and end it properly and still manage to render his page?

    Last but not the least can anyone explain what is transition? XHTML was incremental process towards big changes. The time everyone enjoyed and the xhtml it was a grace period for big migration. This is for all of you who say XHTML-1 is not related with XHTML-2. Did you say changes should have been applied overnight at time of launch of xhtml so you could have seen the thick relation between xhtml1 and xhtml2? Ohhh then please make that 2022 thing closer.

    Alas but I can’t do anything than mourning.

  85. 85

    I never thought the day would come when I saw a webcomic that was even more overwritten and less funny than ctrl-alt-del, but there it is.

    Seriously though, good job there. Thanks.

  86. 86

    @Gorden hehehe

    Good effort, “you can still use xhtml, html5 allows strict code” kinda sums it up, though, huh

  87. 87

    I use HTML4.01 strict, and will move to HTML5 in some time.
    Actually, nobody stop you from quoting attributes in HTML4; close p and li tags; etc.

    By irony, I’ve seen more well-formed HTML4 Strict pages, than XHTML1 Strict ones.

  88. 88

    Wow, that is truly amazing dude!

  89. 89

    This is totally cool. this helps me recognize the different between XHTML 1, HTML 5 and XHTML 2, in an easy way.
    Thanks Smashmah, you should do comic strip more often =D

  90. 90

    Mark Caldwell

    July 30, 2009 3:50 am

    Excellent explanation. Thank you.

  91. 91

    Great article! I enjoyed reading this comic.

  92. 92

    wefwef wefwef

    July 30, 2009 4:20 am


  93. 93

    should we stick to XHTML 1.0 or move forward to HTML 5 or better prefer the old HTML 4?

    If HTML 4 is old, why don’t you say XHTML1 is old too? XHTML1 is only 1 month newer than HTML4.
    Whether you use HTML4 or HTML5, for your browser everything is only “HTML”. DTD is needless. If you want to use doctype, use the one from HTML5, it is shorter.
    I always use HTML4 Transitional markup with HTML5 doctype.

  94. 94

    Carlos Eduardo

    July 30, 2009 4:52 am

    Nice post… I think the same way, but some people like to follow this “hype” and say that “xhtml is dead”…


  95. 95

    Saulo Silva

    July 30, 2009 5:37 am

    Thanks for making this comic! I’m on the “simple, strict and well-defined rules” camp. Long live XHTML!

  96. 96

    Great Article offering short and compact info about the markups history

    The thing is there hasn’t been anything standardized just yet.

    To be exact, there is no such thing as web standard.
    While we all want the same thing, the standard, but we have to admit that there
    never be and will never be standardized.

    All human creations are the same, it comes bundled with flaws and bugs.
    And it constantly is changing, think of anything other than the web, car industry, engine technology, medical science, ect.

    There is nothing standardized, all of these human-made.

    The best way to prevent the confusion is to avoid or stop using the word “standard.”
    Just go ahead and call it ( the markup ) with whatever it’s named.

    Then whatever brand of markup is the most popular, we will just say that…
    right now ( the year 2009, for instance ) this brand of markup is very popular
    because this feature and that feature, and we will leave it at that…
    don’t try to call it standard because it will never be.

    Admit it, there will never be a web standard.

    Just like the comic in this article comparing markups as food.
    Be it Thai food or Italian food, there will never be a standard food for all the human.

    There will be only the popularity or the preference, but not the standard.

    The need or the crave to have anything standardized will never be fulfilled,
    because we are human.

    –> HTML5 and CSS3 will grow and come alive and will never be standard.

    –> Internet Explorer 8 and later will never comply with the majority.

    Web Developers will always have to work it out in order to make website look good
    ( to make it look standard across browsers with different standard of its own. )

    The complaints about this or that particular browser or machine not working standard-ly will always be there.

  97. 97

    @Tyler F

    The comic says that XHTML is no better or worse than HTML. That’s completely wrong! The loose syntax of HTML is much harder to parse

    Really? XHTML parser == XML parser. XML parser must be able to parse DTD’s internal subset, which can contain entities, parametrical entities etc. HTML parser has to do less than XML parser.

    Your webpages will load slower in HTML than if they were XHTML!

    No. HTML document can be displayed gradually. If you use XHTML, entire XHTML document must be loaded first.

    HTML is for script kiddies who don’t know how to use a validator.

    You aren’t right. XHTML allows you to enclose form into other form, <a> into other <a> element etc.

  98. 98

    The comic character’s eyes are really creepy. Yes, he does look sick, like someone said in a post. Im half and half, i kinda like the effort put into it, but i didnt really get the point. All i learned was HTML5 is backwards compatable.

  99. 99

    awesome post! i like the comic way of writing.. now iam clear :)

  100. 100

    very simple, i love it

  101. 101

    I am certain that this could have been explained in about 2 sentences and less grocery-to-(X)HTML(5) relationship scenarios.

  102. 102

    So what if my DOCTYPE looks like:

    !DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN” “”

    What’s the HTML5 way to declare I’ll be validating it with MathML and SVG namespaces?

    The only thing I could find is that SVG was removed from text/html HTML5, so MathML will automatically work with the plain HTML5 doctype with any Content-type, but SVG won’t. This page suggests that, while SVG is technically part of HTML5, the only way to get it to work is with the old XHTML1.1 doctype (and probably served as application/xhtml+xml, as before).

    At least, that’s how I’m interpreting it, though it’s hard to find information about it. Where XHTML1.1 seemed overly strict about namespaces, HTML5 seems very hand-wavey: authors do whatever’s easiest, and browsers make it work. (That sounds like a recipe for the kind of incompatibilities I used to have with HTML!) Today I can write and serve valid XHTML+SVG+MathML and it works flawlessly in every browser but IE, but I don’t know how to do this with HTML5.

  103. 103

    (Can’t find a way to delete this comment, so here’s some filler.)

  104. 104

    If you needed a comic strip to explain the difference between html and xhtml you should not be building web pages. It saddens me to think of how many stupid people there are hiding in my industry. Shocking!

  105. 105

    What a lot of effort to draw all of that, yet so little effort into getting the message right!

    So many mistakes, I don’t know where to start…

  106. 106

    I thought this was a helpful explanation — I’m less confused as to what’s actually going on with HTML 5 and XHTML now… (lol, the cartoon character does look sick.) I still have some lingering questions though, like this: does HTML 5 officially support closing tags like this? <br/> — i.e. without the space between the end of the tag name and the slash and closing angle bracket? It would be nice to reach a point where browsers could be assumed to support that, since that’s what the XHTML standard is supposed to allow (and encourage).

    Also, I thought one of the arguments for XHTML was that you can parse it just like an XML document and do stuff like searching and easily extracting the data structure using existing XML tools and functions (PHP’s XML functions, for example). What about that?

    I don’t think we should be so quick to abandon the idea that XHTML syntax is a better practice, since if you change your mind and want to do XML things with your documents in the future, it would be a real pain to try to go back and change all your markup. Sure, the choice should be left to the HTML author, and if they know they’re never going to need any of the features that are unique to XHTML, then fine. But I think it’s more than pure preference — these things should be considered. Based on pure preference I think plain HTML would win in most cases simply because there’s less typing involved — but does that mean we should all feel free to forget about XHTML if we want to? I don’t know, but I don’t think so…in any case, this comic doesn’t answer that question.

  107. 107

    I prefer XHTML flavors. Not because of any benefit on the client side — clients are likely to treat it as tag soup for the forseeable future, because people will switch to other browsers if a page is “broken” (e.g. the parser barfs)… and browser share is everything for browser makers.

    No, the real reason to prefer the XHTML flavors (XHTML 1.0, XHTML 5, whichever) is for parsing and manipulating the markup on the server-side. The limited syntax of XHTML makes it waaay easier to write regular expressions against it, and the fact that it is valid XML allows me to use the huge variety of XML tools out there to traverse it/modify it/etc.

    Edit: Hah! Another Matt chimes in with a similar point right before me… what are the odds? :)

  108. 108

    That was a well thought out comic. I really liked it.

    Now I know more about xhtml and html5 then ever before!

  109. 109

    “Long live xhtml”. Yeah right. The ‘X’ in XHTML means it’s supposed to be extensible, so I can put in my own data in a language I define and share using my own (or someone else’s) namespace. Xhtml 1 was just a start, trying to get the slow kids to understand that a ‘p tag’ wasn’t just a divider, and so on. Since it looks like the slow kids never caught on, and we’re going to keep letting them use their malformed markup, browsers won’t be serving xml any time soon. This just means that web browsers miss the opportunity to play a larger role in the data web. That in turn means the interface of the data web will be left loitering around 1998. WTG slow kids.

  110. 110

    Very cool, creative article. I’ve never read an informative cartoon on web design.

  111. 111

    Great explanation. I was hoping to continue to use the xhtml syntax in html5, and now its obvious I can. Excellent.

  112. 112

    Amusing markup fail irony: You cannot view the comic in a small browser window, because the page auto-resizes itself and the comic gets covered up by the ads :D

  113. 113

    nice article, although I’m still confuse… maybe after reading it for the 5th times, i’ll get revelation.. thanks

  114. 114

    I like the XHTML way. I learned the HTML 4 way but prefer XHTML. Closing tags just make sense and text editors put them in for you anyway.

    There shouldn’t be a choice to use which ever syntax YOU want. We might as well go back to using IE 6 (not really).

  115. 115

    Ryan Bollenbach

    July 30, 2009 10:52 am

    Awesome, this cleared up some questions I had about the different doc types.

    I love how the new HTML 5 doctype is so freaking simple!
    I’ll definitely be switching over to HTML 5 and CSS3!!
    I personally enjoy the XHTML syntax :).

  116. 116

    Brad, your work is inspiring and informative. And thanks to Jeremy’s great article, you were able to illustrate a very important topic. I’ve been a fan since I first saw your work, and will remain one for life. Thanks.

  117. 117

    I really like this article. Very timely given some events at work.

    What I’ve never understood about this article is that the anti-XHTML camp always fall back to the “It’s not XHTML if you serve it as HTML” argument.

    The problem with that argument is this:
    If I have an XHTMLTest.html on my desktop and inside it is XHTML markup and I upload that to the W3 validator it tells me “This document was successfully checked as XHTML 1.0 Strict!” If I copy the contents of the file and paste it into the validator i get “This document was successfully checked as XHTML 1.0 Strict!”. If I upload the document to a webserver serve it as HTML and validate it the validator tells me “This document was successfully checked as XHTML 1.0 Strict!”. So if the W3 (that pesky band of people who documented the recommendation) think that my XHTML document served as HTML is in fact strictly valid XHTML, they why would it matter if some guy stands out here yelling “It’s not really XHTML, it’s a lie, it’s not really XHTML!”

    When the recommendation makes statements like “when serving XHTML documents as media type text/html” or “when serving as XML” isn’t it safe to assume that it is perfectly valid to send the document either way and if marked up properly it is still an XHTML document.

    Yes, serving XHTML as HTML means that you don’t get strict XML validation at the client side. The question is “how important is that?” Does the consumer care that the content isn’t being validated? Not unless by consumer you mean some service or bot. But in those cases you know what the consumer will expect and can send it in their preferred format.

    Where validation is most important to me is behind the scenes, sharing/reusing content, and during development. I want developers creating pages to a standard and not to some lazy “do what you want” interpretation of a standard. XHTML did that for us, it gave us a means of quickly validating a page and pointing out to a developer exactly where they had strayed from best practice and it wasn’t just our best practice it was a “standard”. So there was no argument.

    Things like closing tags, using lower case, and quoting attributes shouldn’t be up for interpretation or guess work. The less the developer has to interpret or make decisions on the faster they develop, the higher the code quality, and the lower the maintenance costs. Sure if they leave a tag end off they save 16 keystrokes per page – wow what a benefit! But hey they got to do it “their way”.

  118. 118

    Brian Temecula

    July 30, 2009 9:01 pm

    I just use XHTML 1.0 strict. It’s strict for a reason; It’s to keep you from being bad.

  119. 119

    I have nothing to do with XHTML but i like the way they showed the content.

  120. 120

    Good Post. Great Submit. Excellent Article. Nice How-To. Loving Comics.

  121. 121

    I’m curious – can someone explain why IE6 + 7 don’t go into quirks mode with the HTML5 doctype?

  122. 122

    omar aviles

    July 31, 2009 6:43 am

    Hi All,

    When I started to read Misunderstanding Markup: XHTML 2/HTML 5 Comic Strip, I thought how informative and pleasant to read something that can be technical and confusing at times. I also enjoyed most of the comments that debated over the xhtml / html issues. Long live the xhtml/css/javascript code nerds :)

  123. 123

    I still don’t get the point of HTML 5. It has some new tags (that could have been incorporated into xhtml anyway) but these certainly aren’t backwards compatible. And it gives coders a choice of languages!?? That’s just senseless. Who really needs the choice between markup in caps or lowercase to alleviate boredom? That’s ridiculous and the food analogy doesn’t cut it. There’s more than enough to think about when coding a page than deciding which case to use or whether to close tags etc.. And I thought the the doctype tag was supposed to allow the choice of language anyway.

    Finally if someone was new to learning markup which language should they learn? Seems like to be proficient you now have to learn both styles, a pointless waste of time when there’s so much other stuff to learn about.

  124. 124

    rajeshkannan mj

    August 2, 2009 7:46 pm

    hmm, i think i yet need simple comics to understand difference. Am i alone here?

  125. 125

    Coooooooooooooooooooooooooooooooooooooool way to learn

  126. 126

    Maciej Piechotka

    August 3, 2009 1:10 pm

    1. Doctype of 5 is horrible. It used to serve as version specification (at least in DocBook, XHTML 1.0, XHTML 1.1…) . Now it will not be known if the document is html 5, 6 or 7. Greate – since the doctype says basicly that the main element is html, which can be easily seen on following line why bother with doctype at all?
    2. XHTML biggest advantage is not strictness but the ability of embed other data in XML format (SVG, MathML – anything you want).
    3. I regret that XHTML 2.0 was killed. It was nice way of clearing the syntax.

  127. 127

    It is AWESOME!

  128. 128

    It sucks for the fact that I can’t yell at people for using uppercase tags and stuff and say it’s wrong, but I guess maybe I can say that it’s really messy. Who the heck wants to see uppercase tags with no quotes? I get really annoyed when Google does it.

    Awesome comic though, finally an assurance that HTML5 is not the killer of XHTML, instead just a long lost friend. I wish to continue seeing proper standards and markup though, and especially for beginners. just won’t do. In fact, HTML5 could have been simply the continuation of XHTML. LONG LIVE XHTML!

  129. 129

    One of the most useful, informative “carticles” (cartoon articles) I have read in a long time :) Thanks SM

  130. 130

    I love the article, now I understand things better; and the fact it is a comic helped a lot, better than just plain text in my simple opinion.

    Saludos desde México


  131. 131

    UPPER CASE is presentation, not content. You want to separate presentation from content so use lower case. There are lots of other things XML does the right way because it is well researched. HTML is the scribble of kids. XHTML is one improvement you adopt after years of seeing your pages trashed by browsers making the wrong guess. XHTML 1.0 Strict can be validated because it has a useful schema. HTML5 is going back to nappies, dribble, and broken crayons.

  132. 132


  133. 133

    Francis Boudreau

    August 12, 2009 1:15 pm

    Really nice comic! Thank you!!!

  134. 134

    HTML5 sucks. Really. Its doctype is one of the worst ideas ever. Like the choice to have xhtml and sgml syntaxes. xhtml is more than just a XML serialization of HTML, it allows to embed in the document xhtml, svg and whatever xml spec you wish.

  135. 135

    Thanks! really needed some fresh and simple explanation. I love the food similes!!!

  136. 136

    Thankyou. Loved the comic and clarified it all for me. Hope to see more comics on web development in the future :D

  137. 137

    Christopher Yeleighton

    August 17, 2009 5:19 am

    Embedding arbitrary XML in XHTML is useless. Either you get no presentation or a flattened presentation or you use CSS to get presentation, in which case you could have been using XML all the way in the first place.
    You can even use XHTML2 with an appropriate xml-stylesheet and get decent results.
    For embedded XML to make sense, it must be explicitly supported. MathML and SVG are supported in XHTML5, and nothing else.

  138. 138

    Ham to Hamster
    Can’t be better =D

  139. 139

    For those trolls and whiners… get over it… this is not you pedestal to lodge a complaint… do that with the W3C, but don’t expect much… HTML 5 is here to stay, so you either adjust or find another profession, because your ranting like spoiled children is not going to get you your way… they are not going to make HTML 5 strict, because as much as you hate it, the Internet is changing and so-called “script kiddies” and poor coders may also be better thinkers and idea people than you… A code monkey is a code monkey and not a game changing entrepreneur. In this day and age, you don’t have to have good code to have a popular site or service… just look at MySpace if you want to talk about bad coding, but I guarantee those “script kiddies” working for them are making more money each year than you are… so I say again, get over it… good coding doesn’t make you intelligent… you don’t like it, then go work for the W3C and change things from the inside, otherwise shutup because frankly we are all tired of hearing you talking down to us as if you know best.

  140. 140

    Wait, so this is saying that soy milk and fat free cheese are bad?

  141. 141

    My understanding is that no, XHTML a) was supposed to be something more than being exact in closing off tags but to be used as a verifiable and possibly extensible xml-like redo of HTML and that b) simply changing the mime type in no way guarantees you have actually created an xml-verified document while passing it on as a text type throws out the xhtml-ness of the XHTML and treats it like HTML tag-soup–well, tag soup that browsers read even though there are now HTML errors introduced by jiggering the XHTML so it doesn’t clog up legacy browsers (adding spaces etc. )

  142. 142

    but am I wrong? does having a verifiable (through XHTML verifier) page just mean that there are balanced close-offs, and nice use of quotes and case? I dunno, as someone considering spending big bucks to take web design courses I don’t see the X-ness of this.

  143. 143


  144. 144

    Hm, great job making it look like we HTML4.01 Strict writers are continuing with UPPERCASE tag soup garbage and that the only way to be strict is what that seXy X. Bull.
    I’ll use XHTML when browsers can properly deal with all that nifty stuff XHTML was supposed to give us. They haven’t and I’m not going to hold my breath thinking they ever will.
    @Paul Freedman there are XML parsers and there are XML validators. There are validators what can tell you if your XHTML document is both valid and well-formed. If done correctly, and sent with the right MIME type, Firefox, Opera, etc should give you a yellow screen of death on your error. : )
    @Jeremy Keith I loved the ham to hamster. That’s a keeper next time someone asks me about Java.
    @Brad While I disagree with the text but I still love the comic. Why wasn’t this article prefixed with the “XHTML, you’re dying!” comic?

  145. 145

    weak sauce

  146. 146

    The freedom to choose is great if there is only one website maker. It will be a ball and a chain for people with different tastes which work in a group. Not to mention adopted projects, etc.

  147. 147

    Hey. Good, fuck this webmaster, kiss my ass. Help me! Need information about: 24 7 personal loan quotes. I found only this – phoenix university az. Imaginable type: tax, number, and ordinance for yourself and exemption or total field joy, usually in industry of distribution.The store bookkeeper owes only follow or invite benefits also to the thousands of the complicated consumption operations.Touchton took they sold have documents at the part internet and these conveyed anti-integration litigation.No one packet will be best for each year. claim must be in the bankruptcy of subject, several tax, does presumption, or building recreationculture.The group of the sports formed government with the counts who had the color to see the family. Thank you very much :confused:. Jade from Palau.

  148. 148

    Could you recommend any specific resources, books, or other blogs on this topic?

  149. 149

    ana laura gomes

    December 7, 2009 2:05 pm

    i love your post!
    you bother me translate your post to put it on my blog? (
    with credits, and links, and everything else, of course.
    i am a teacher of web things (xhtml, css, and adobe’s softwares) and i realy enjoy your approach. very simple to my students.
    tks a lot
    best regards.
    ana laura
    * by the way, i’m brazilian, and want to translate to portuguese.

  150. 150

    It’s about time someone tried to set people straight on the XHTML vs HTML issue..If it takes a comic strip to reach people then so be it…. The comic, is okay however I was more amused by the comments. XHTML haters have some real issues and I’m sure many felt vendicated by the abortion of the XHTML2 standard. What’s the big deal about properly nesting and closing tags. XHTML haters are also often CSS haters too…. I think the reality might be these people hate change…

  151. 151


    February 3, 2010 12:27 pm

    wow thanks for this informative post (and comic), literally answered all of my questions!

  152. 152


    February 11, 2010 9:46 pm

    Trust me, Tyler F, “script kiddies” is a whole different concept. Don’t try to act like people who pretend to be hackers with pre-written programs compare to people who write sloppy HTML. HTML can be clean and neat, and XHTML can be sloppy. It only matters if you validate AND care what the validator says. There are people who think even very, super clean XHTML Transitional is “for babies who can’t handle real strict markup.” Seriously, attitudes like that are just branches of elitism and egotism that client-side coders use to make themselves look better. It’s a joke.

  153. 153

    Timothy Howie

    March 3, 2010 10:06 pm

    This is the most clear, concise and, one would assume, accurate explanation of a topic which has become more, not less, obfuscated with the passage of time. How about doing a whole coding primer for us tyros.. BTW, what i meant is ‘Thanks!’
    me out

  154. 154

    Thanks for the hintload!!

  155. 155

    This comic tries to portray the ability to use either tag-soup or XML syntax as a good thing, beneficial to both sides.

    This baffles me. The reason for wanting to switch to XHTML is *because* it’s more strict. It’s ending up on the wrong end of Postel’s Law yet again. Being able to use a validating XML parser on arbitrary webpages would be a tremendous *feature*. Now that web developers can use tag-soup and still get new features, the possibility of doing that is gone, probably forever.

    It’s also disingenuous to claim that syntax differences are like cuisine preferences. If I like APL and my friend likes Brainfuck, it wouldn’t do anyone any good to combine the two and then brag about how the resultant language is good for all. There are plenty of times when combining two things is just stupid. Basic technology which aims for interoperability is one of those times.

    The only thing that food and tech standards have in common is that people disagree on them. That’s all. It doesn’t follow that because disagreements in one are personal and harmless, that disagreements in the other one are. I can come up with a thousand things that people disagree on, which can easily be shown to not be at all like food. I can’t list examples without Godwinning myself. Oh, what the heck:

    Here’s another analogy for you (also bad but perhaps not as bad as food). XHTML is strict, like a law against prostitution. HTML tag-soup is lenient, like permissive sex industry laws. Combine them, and the result is … permissive sex laws: you can be a sex worker if you want (i.e., still lenient!). Therefore, advocates of it being both legal and illegal should be happy! Best of both worlds! As long as you’re in the one world where it’s what you wanted anyway.

    The whole point of XHTML is that it’s XML. If tag-soup survives, then XHTML is essentially dead. It’s an either-or proposition. XHTML was as much about defining what you couldn’t do, as what you could do. In technology standards, that can be a very powerful idea. Maybe that wouldn’t have outweighed the disadvantages here, but now we’ll never know, because there’s never been a web where more than a tiny fraction of the pages were XML (or even valid HTML strict, for that matter).

    I appreciate that you’re trying to brush over the differences and make everybody happy, but you’re not giving the whole picture on XHTML2 by drawing it as a soy-milk carton.

  156. 156

    Well i don’t know why w3c has come up with this HTML 5…………………….its similar to Windows version. Microsoft brought Vista Operating system at it is heavily criticized and then Microsoft bring Windows 7……………………..why they change windows OS names………………I will recommend W3C to stick with simple naming version. XHTML 1……..XHTML 2…………XHTML3…………and so on its very very easy for anyone to understand which is latest……… course when merging (XML + HTML = XHTML). Let the user decide what to mix with what………………….as far as and tag are concern why the hell we want that…………………..its pretty much clear that W3C is in constant pressure from outside companies to change Technology for their personal benefits…………………….W3C must now come up with standardization………because as far as people like us (Developers / designers) concerns this changes really impacting our application and browser compatibility………………anyone has other thoughts may be………….give me a kick :)

  157. 157

    Yes, if the page crashes and burns when I make a minor syntactical mistake, then I’ll stop publishing pages with minor syntactical mistakes.

  158. 158

    Tenzing Norgay

    March 30, 2011 11:05 am

    It is interesting to read, what the people are angry about.
    I think, the Comic gives a great overview of XHTML and HTML, but can not be seen as a definition.
    There is no doubt that XML-Parsers, using a smaller area of rules, are faster checking strictly valid documents.
    HTML, based on SDML, is on the one hand loose in terms of Syntax rules, on the other hand easy to use.
    IMO, you should learn writing “good” code from day one, but it is everyone’s choice not to do so.
    What I see is, that HTML5 will soon be facing big problems, as every browser is handling standards differently, it will be a war between all browsers…
    Finally, I want to give a comment about W3C: They quit XHTML2, because they feared to be overtaken by another, smaller, group founded by browser-developers.
    If I had been the CEO of W3C that time, I would have put more effort into the development of XHTML 2, because it is the better idea ([standard]) (not in my opinion, but in the opinions of the majority of W3C-members).
    Do what you want, I use XHTML 1.1 and serve my pages as application/xhtml+xml, so the Browsers use XML Parsers to parse XML-Code (pretty straightforward)…

  159. 159

    This comic misses the argument entirely. Nobody serious ever cared about uppercase vs. lowercase element names or backwards compatibility. Here’s the real conflict.

    XHTML2: Throws out a lot of the old conventions in favor of XML-centric technologies like XForms, XInclude, etc.

    HTML5: Keeps everything the same but adds mobile- and app-centric features like local caching, embedded databases, etc.

    In the long run, HTML5 can only be seen as an small step or fad. It’s a project by major browser makers for major browser makers. They have big investments in mobile platforms (Google and Apple). They like their javascript and JSON. They don’t want to tear their code apart, in the browser or on their sites, to support XHTML2.

    On the other hand, XHTML2, particularly XForms in the browser, would have revolutionized the web by bringing semantic technologies to the masses and making them easy. No more procedural situps needed to get rich content from users, store it, or push it out to web. Just documents.

    IMHO, XHTML2 concepts will come back in some other form. We are just putting off the inevitable (and forcing ourselves to write reams of javascript in the meantime) by supporting HTML5.

  160. 160

    Keep up the great work fellow blogger, your tough work is definitly going to pay off.


↑ Back to top