HTML’s Bad Neighborhoods and Cul-de-Sacs

HTML as we know it is almost 20 years old, and was originally designed to fulfill the objective of exchanging academic papers and other written matter. The circus of Flash, Ajax, podcasts, and social media was the furthest thing from anyone’s mind.

As a result, features have been tacked on to the language, one piece at a time—and until the end of 1997, the “official” standing of contemporary additions to the language was provisional at best.

Between the evolution of HTML, the evolution of the infrastructure that delivers its content, and the changing expectations of web users, HTML shows off a fair share of vestigial bits and ideas-that-seemed-good-at-the-time. The Awful Parts are all vestigial bits of HTML (see the section The Awful Parts). The ones that might actually be useful on rare occasions are discussed next.

Frames

The Frameset Document Type Definitions refer to two elements that were all the rage in 1996, but are an embarrassment now: frameset and frame.

frameset is a substitute for body where it appears, and it supports the rows and cols attributes. Each of the rows or columns specified—as a comma-separated list of pixel or percentage values, of which there should always be at least one and preferably two or more—in turn corresponds to a frame within the same document. Each of those frame elements has an src attribute, which references another document. That child document will be either a typical page or another frameset.

Finally, each ...

Get HTML & CSS: The Good Parts now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.