37 HTML FAQs answered
The next time you need to point somebody to a place where they can find answers to the most frequently asked questions about HTML, send them to Tommy Olsson’s Bulletproof HTML: 37 Steps to Perfect Markup. It is a long, long article, but it is packed with useful information. Most importantly, the information is correct as far as I can tell.
In the article, Tommy answers questions ranging from “What is HTML?” and “Must I have an alt attribute for every image?” to “What does character encoding (charset) mean?” and “What is a BOM?”. There is probably something in there for everybody.
This reminds me of a subject that surfaces every now and then: standards aware Web professionals need to flood the web with correct information to push the old tag soup FAQs and how-tos way down the SERPs.
- Previous post: Accessibility statements or Site help pages?
- Next post: My favourite typography books
Sponsors
Authentic Jobs
DreamHost web hosting
Use the promo code 456BEREASTREET3 to save USD 20 when you sign up for DreamHost


Comments
That’s a pretty good list of FAQs, if I am writing in HTML, not XHTML.
It is missing one thing though: XHTML!
Great article.
Agreed, which is also why it’s important to link to as much “good information” as possible.
Thanks Roger!
This is a great list. It is good to see someone discuss the BOM. I was hit with this just before we launched our site (thanks to, then, Dreamweaver encoding). I had to search for a while to find information related to it (not just instanced of the word ‘BOM’).
This is a very exhaustive list!
25th of October … I think that was about when the W3C announced that it actually will continue to develop HTML.
The origin of this article was an HTML FAQ post in the forums. I’ve written an XHTML vs HTML FAQ, as well. If you’re ‘missing XHTML’, you may want to read it. :)
That’s the publication date, but the original post is from 9 October, and the article itself was written sometime between those dates. When I saw TBL’s statement I though, ‘bl..dy typical.’ Sod’s law, I suppose.
Nice link describing most stuff, however it should also have mentioned that UTF-8 presents problems when combined with for example PHP and older versions of MySQL - otherwise all the newbies who read this will start using UTF-8 and get all confused when their PHP-code stops responding correctly - right?
Also - an Alt-attribute is not for the blind and the old school browsers - it’s also for the search engines and I suppose that’s what make it worth the effort for most people…
I wish people wouldn’t post important things to SitePoint, since it sucks…
It takes 8 minutes to load a page from there (yes, thats times) on my connection, and then there’s always the “first-click” ad to deal with, and the ad along the bottom.
I don’t know, perhaps they have a minimalistic stylesheet, perhaps not?
If you get the SP adverts; disable them with the checkboxes or links and it stores it in a cookie.
PHP and MySQL. is outside the scope of this article on HTML
Besides, PHP doesn’t really have that much of a problem with UTF-8. Things like strlen() will give the wrong result, and case conversion etc will not work properly, but you could use the appropriate libraries for that.
Always good to see that you are still active, Tommy.
Great article.
I’m looking forward to another one!
Damn, that’s a lot of good info about HTML and XHTML. It seems that HTML 4.01 Strict is the optimal one in today’s environment…
Next thing is I am going to really convince those people who doesn’t change colours very well :)
And what about this page? I think, this is XHTML in all browsers (without Lynx etc.).
@Rowan Lewis: If you are seeing 8-minute page loads on a regular basis from SitePoint.com I’d love to see a copy of a tracert from you to our server. We have two servers at Rackspace, so you definitely shouldn’t be experiencing that sort of performance.
As for the ads, yes, they are there, however, just click on the “Don’t Show Me This Again” link and you won’t have to view a pop-up or “Catfish” ad ever again. The ads are for first-time visitors — not regulars, and we certainly don’t intend to harass you everytime you visit to read an article or blog post.
@Nautilus: That page is served as application/xml. That will allow IE to recognise it as XML, but IE still doesn’t support the XHTML namespace. Thus it will see the page as XML, but not XHTML.
I mentioned this in the XHTML vs HTML FAQ. You need to provide CSS styles for most of your elements, since there will be no default styling. In particular, every element will have display:inline by default.
Comments are disabled for this post, but if you have spotted an error or have additional info that you think should be in this post, feel free to contact me.