Reviewed January 17th, 2007 @ 10:35PM
HTML Mastery by Paul Haine was definitely not your average HTML for Dummies type book. Paul did a great job of covering HTML thoroughly and ended on a note that inspired you to think beyond the basics. Some might be turned off by another HTML book, but this book is far from that — this book is packed full of information related to all aspects of HTML, including (but not limited to), XHTML, CSS, full discussion of possible tags, and how to appropriately markup things like tables and forms. Even an advanced developer would benefit from reading this book in it’s entirety (about 215 pages).
There is much to be said about the content that is packed into those 215 pages, so I will give a brief rundown:
The beginning of the book starts out with your basic terminology and background of HTML and XHTML. The author even covers the debated topic of which to use, and how to properly use each type. He discusses XHTML and some of the myths associated with it that seem to make it a better technology than HTML. I am glad this was presented in the first few chapters as I think many people have a wrong perception of XHTML. The chapter ended by discussing the anatomy of an XHTML document, including a breakdown of the doctype declaration and its parts.
Now that he got the basics (and some history) out of the way, he dives into the tags available to us — and ‘using the right tag for the right job.’ This chapter is an excellent breakdown of the available tags, their support, and their function and meaning in the context of semantic markup.
The next two chapters discussed marking up tables and forms. Many would think this is an easy task, but for anyone who has built an accessible table — you know how hard it is to make sure you have all of your bases covered. This has also been covered in some other recent books as well, but it is a good thing to hammer home to those who are accustomed to their WYSIWYG and building tables and forms in that environment.
Chapter 5 was definitely my favorite chapter of the entire book. This chapter was devoted to semantics and microformats. I have been using microformats in several recent projects, and am a little obsessed with giving more meaning to my content. The author broke down all aspects of microformats and discussed their structure and the markup used to create them. Everything from hCard, hCalendar, hReview, XFN, rel-, VoteLinks, and XOXO. Reading through each of these chapters challenges you to use these in an array of different ways. He then goes on to discuss the Dublin Core Metadata Initiative and structured blogging (This is a topic for another day all together). Overall, this chapter challenges you to really look deep into your markup and give it structure and meaning — for both your users and the machines reading it.
The book closes out the chapters discussing more detail related to semantics and how to avoid things like span-mania and classitis. This is a final reminder from the author to really give meaning to your content — to create clean, flexible, meaningful, and scalable code without the clutter. The last chapter takes us a step ahead to get a view of what we can expect with the future and XHTML2.0 and Web Applications 1.0.
Overall, this book was a quick read — but well worth every page (even the appendixes). If you are a developer that prides yourself on clean markup, this book is still a valuable addition to your library. If you are a developer trying to ween yourself away from a WYSIWYG editor, then this book is a must have. The author does a great job of covering HTML in an exhaustive manner, way beyond what you will find in a basic HTML book.