In my quest to reform the web, I needed to make an HTML Authoring Tool. I, an author cum maker, need to think like a creator.

Both creators and authors think in contents. Our thought decides to create – for example – a heading, a subheading, and some plain paragraphs.

Authors, however, need to rethink in HTML. To create a subheading, authors need a p element that must follow one of h1, h2, h3, h4, h5, or h6 element in a hgroup element.

Yet, learning resources explain HTML by elements-to-use before content-they-creates; whereas, Authors think by contents-to-create before elements-to-use ... a conflict of expectations.

Moreso, by HTML design, one element may be multi-purpose and still insufficient to markup one content.

Both challenges would make a learner struggle to find information and understand relationships of elements that markup a content. This could result to incorrect use of elements, loss in semantics, incompatibility with user agents, and, finally, bad experience for users at unexpected times.

HTML by Contents pioneers a total content-first HTML learning resource. It explains HTML by contents-to-create to align with an author's mind.

It introduces 10 Content Models to improve the partial hierarchy of the 7 Content Models recorded in the HTML Living Standard. Partial hierarchy because div and p belong to the Flow Content Model but pallows phrasing contents while divallows flow contents.

The cover page provides you with a practical approach and a conceptual approach to using this resource.

Page 1, this page, introduces the new Content Models for HTML.

Page 2 relates the Content Root for the 2 sides of a web document

Page 3 provides the 33 Content Metas that go into the first side of the Content Root.

Page 4 reveals the 2 Content Windows that go into the second side of the Content Root.

Page 5 identifies the 14 Content Blocks that build a Content Window.

Page 6 provides the 8 Content Parts that bound the contents of a Topic Block

Page 7 conveys the 11 Content Mixes that creates compound content blocks

Page 8 introduces the 3 Content Breaks for partitions in a Block

Page 9 presents the 9 Content Objects for non-textual contents in a Block

Page 10 provides the 24 Content Forms to request contents in a Block

Page 11 relates the 29 Content Connotations for purpose definitions in a Block

Page 12 lists the 132 Content Attributes that modify HTML elements

Page 13 recommends a growing number of Content Guides that helps avoid future problems