Anne van Kesteren

HTML is still misunderstood

I just subscribed to a couple of designer weblogs, like whitespace, asterisk. Among these weblogs was Design by Fire. When I was reading Functioning Form on that site I noticed the large font-size used for the quotation. I was wondering if he used some kind of CLASS attribute on his BLOCKQUOTE element to achieve that effect, since it would probably take up a lot of space if he would have used it for larger quotations as well.

When I selected some of the text, made a right click and clicked again on 'view selection source' I was completely surprised to see the following markup:


When I viewed the source completely I also noticed that BLOCKQUOTE was used for an indentation effect, wrapped around the list of links on the very same page. I thought that most people knew to use these elements. Apparently it is time to write some tutorials for them, again.

Furthermore, he also used an XHTML 1.1 Doctype and hasn't visited the validating service (leaving alone some content-type issues...). Of course, he is going to correct way and I'm only a bit nitpicking, but maybe he "shouldn't have" challenged me by putting 1.1 at the top :-)


  1. If you can't validate as XHTML, you shouldn't state that you use XHTML. Heck, if you can't say you validate, even stating (with a DOCTYPE) that you server HTML is a total lie. Then it's almost (but just almost) better to not give a DOCTYPE at all.

    I completely agree with your nitpicking, and I would nitpick it myself, if I had discovered it. Using any kind of markup for presentational purposes is just plain ignorant, especially if you allege that the crap you're serving is XHTML 1.1!

    PS: When will WordPress (or your blog) support non-ASCII characters in the comment form?

    Posted by Asbjørn Ulsberg at

  2. I need to fix the blockquote thing. It's just I started doing it the incorrect way a long time ago due to laziness. I never bother to fix my CSS and make sure it was correct for all browsers. I will, I'm just busy.

    For the XHTML 1.1 validation, it was validating until I added the Cosmos thing about two weeks back. Again, I'm being lazy and will get to fixing it someday.

    Mostly, I've been avoiding fixing everything in the hopes MoveableType 3.0 will address a few key concerns I have. (One of them is how it wraps <p> tags around everything, but the opposite setting requires you add more markup to general entries.) But that version seems to be taking longer than I had hoped, so I'll probably bite the bullet and fix things before MT 3.0. I wanted to make all the fixes and corrections in one fell swoop.

    It's not that HTML is misunderstood... it's that I'm a lazy blogger. I'm well aware of the intentions and how to do it. But since I do it for free, you'll just have to deal with my lazy mark-up. 8^)

    BTW, it's really annoying that I have to write my comment in full mark-up. Truly painful. Is that how WordPress does it? If so, that seems like a very poor design decision.

    Posted by Andrei Herasimchuk at

  3. So I fixed the main problem causing the validation error for the home page. The other times my site doesn't validate on the home page has to do with comments (which I'm waiting for MT 3.0 to fix) and on the internal portion of my site, I need to fix the mark-up for JavaScript (encode with CDATA correctly) and find an elegant solution to the <p> tag problem (again, should be fixed in MT 3.0.) Once I do that, it'll validate easily as XHTML 1.1 Strict.

    Then I'll just need to clean up my code to stop doing silly stuff like putting lists inside blockquotes to make them indent. That's just me spending a day doing the clean up neccessary with my CSS file.

    There, you happy?

    Posted by Andrei Herasimchuk at

  4. Andrei, full markup comments are not a WordPress default. The way it's done here is Anne's particular choice, and not a very user-friendly one I agree. I use WP a different way myself, but (when I have time) I would like to add comment validating.

    I don't think Anne (or I for that matter) will be happy with you using XHTML 1.1 (there's no such thing as 1.1 Strict - it's always strict) as long as you don't send it as application/xhtml+xml ;-)

    Posted by Ben de Groot at

  5. Andrei, the choice of going for XHTML 1.0 Strict instead of 1.1 is a smart one. 1.1 requires to be sent as 'application/xhtml+xml', but 1.0 can be sent as 'text/html'. Though 1.0 too should be sent as 'application/xhtml+xml' if you can, and if the user agent supports it (check the 'Accept' header).

    What is it that Movable Type does incorrectly regarding <p> tags? I know my site doesn't validate due to a lot of wrongly inserted <br> tags, but the blog is only temporary until I find my own place, so I'm not going to spend any time fixing it until then.

    I liked the design on Design by Fire, by the way.

    Posted by Asbjørn Ulsberg at

  6. Let me jump on the nitpicking bandwagon here for a second... there's no such thing as XHTML1.1 Strict. ;)

    Posted by ACJ at

  7. Technically, XHTML 1.1 is strict since it is based on XHTML 1.1 Strict, so true, there's no need to say "XHTML 1.1 Strict." But the habit from dealing with the various flavors for XHTML 1.0 makes the habit hard to break.

    Fine... semantic point taken.

    To answer Ulsberg's question, MoveableType adds <p> tags around sentence breaks if you choose to leave on Convert Line Breaks in the entry preferences. I prefer this behavior to adding tags to everything little thing, like I have to do on this site.

    The problem is, if you put markup into your entries, like header tags, they'll get wrapped by <p> tags, which breaks validation. So you have to hack around it. Problem with MT are the times its exhibits this behavior is not consistent. For example, if a line starts with <ul>, MT will not wrap that markup with <p> tags.

    Posted by Andrei Herasimchuk at

  8. Obviously, that should read, "XHTML 1.1 is strict since it is based on XHTML 1.0 Strict"

    Posted by Andrei Herasimchuk at