dagblog.
← Archive

Strict HTML, table-free layouts, and other magic words


Two people can do the same thing and get different results. The Czech web is 
 full of information on how to build websites properly. There are many very good articles 
 on the subject. It’s good that so many sites, blogs, and other professional sources devote so much space to explaining table-free layouts and page validity. But there are also plenty of self-appointed enforcers who invoke these buzzwords across the whole web.

Unfortunately, those enforcers miss the fact that every coin has two sides. The web also needs to be looked at on two levels. I mean the web for applications and the semantic web. The two differ considerably when it comes to applying what we call good practices. Is it a critical flaw in Gmail that it’s invalid, that it doesn’t use a strict DTD, or that it doesn’t have a table-free layout? I don’t think it is. Every application has a purpose, and to some extent that purpose justifies the means needed to achieve it.

The demands for functionality and ease of use in web applications profoundly change the way we view practices 
 that may be taken as gospel on the semantic web. Is a table-free layout suitable for anything other than a two- or three-column layout where the implementation quirks of today’s browsers can more or less be handled? Can you imagine debugging all the CSS and HTML hacks in a complex web application interface, where nearly every view is different?

From the point of view of application functionality, the validity of the resulting HTML is beside the point. Validity would matter if we used a DTD that switched the browser into 
 standards mode. The question then is how individual browser versions behave in a 
 mode compatible with W3C recommendations. It’s hardly worth debating strict versus transitional
DTDs in relation to whether the application works.

In my view we have to judge very carefully how to apply good practices from the semantic web to web applications. Unfortunately, I come across cases where those practices become magic words for web applications too.

Medium version

Related articles

Related CZ Podcast episodes