Semantic HTML

Here are some old notes that I took on the meaning behind HTML elements. I was trying to getter Search Engine Optimization results for a React application, but I decided to switch to Server Side Rendering instead. nevertheless, these notes still apply to making a side that uses good, semantic HTML.

Structure of Document:

Subsection

Main Root

Doument Metadata

Sectioning Root

Content Sectioning

Text Content

Inline Text Semantics

Image and MultiMedia

Embeded Content

SVG and MathML

Scripting

Demarcating Edits

Table Content

Forms

Interactive Elements

Web Components

Global Attributes

Only Include Stuff that is Not Obvious

Global attributes are attributes common to all HTML elements; they can be used on all elements, though they may have no effect on some elements.
Global attributes may be specified on all HTML elements, even those not specified in the standard. That means that any non-standard elements must still permit these attributes, even though using those elements means that the document is no longer HTML5-compliant. For example, HTML5-compliant browsers hide content marked as <foo hidden>…</foo>, even though <foo> is not a valid HTML element.