There was once a time when HTML was king. Browser manufacturers moved hastily to shove it full of features as quickly as web developers demanded them. Unfortunately, these features often fell outside the original purview of HTML, and in many cases they were carried out in proprietary ways. Beyond the well-known problems of interoperability among browsers that bedeviled web pages for many years, the pumping up of HTML seduced web developers into relying on it as more than just a way to describe what a page contained. They began to use it for how parts of a page should look and behave.
In large web applications, the use of HTML for such commingled responsibilities creates a tangled mess that prevents you from being nimble in structuring your site or guiding visitors through it. Conceptually, this is because doing layout in HTML obscures a page’s information architecture, a model or concept of data that makes the data more readily understandable and digestible in a variety of contexts. When the information architecture of a large web application is not clear, it adversely affects reusability, maintainability, and reliability. Well-constructed HTML does not obscure information architecture, but instead reflects it.
Tenet 3: Large-scale HTML is semantic, devoid of presentation elements other than those inherent in the information architecture, and pluggable into a wide variety of contexts in the form of easily identifiable sections.
This chapter addresses Tenet ...