HTML's purpose is to format documents. It specifies display elements—titles, headings, fonts, captions, and so on. It's very presentation oriented. It's pretty good at laying out data. It's not good at describing that data or making it generally accessible.
Web site designers have worked around HTML's many shortcomings in some astonishingly novel ways. Still, HTML has serious flaws that make it ill suited for building complex, open information systems. Here are a few of them.
HTML isn't extensible. Each browser supports a fixed set of tags, and you may not add your own.
HTML is format-centric. Although it displays data reasonably well, HTML gives data no context. If the format of the data a program is accessing via ...