03/Content ElementsReference
Sectioning
=<article> — self-contained, independently distributable content
*blog post, news item, forum post, product card, tweet
*test: could it stand alone syndicated in RSS? → <article>
=<section> — thematic grouping within a document
!should always have a heading — if it doesn't need one, use <div>
=<figure> + <figcaption> — self-contained media with caption
*images, code blocks, diagrams, charts — anything with a caption
Text content
=<p> — paragraph · block-level
!don't use for spacing — use CSS margin
=<blockquote> — extended quotation
.cite="URL" — machine-readable source (not displayed)
=<ul> / <ol> — unordered / ordered lists
!only direct child of <ul>/<ol> is <li> — no divs between them
=<dl> / <dt> / <dd> — description list
*glossaries, metadata pairs (key: value), FAQs
=<time datetime=""> — machine-readable date/time
*datetime="2026-02-23" · datetime="2026-02-23T14:30"
?When should you use <dl> instead of a table?
When data is key-value pairs without tabular relationships. A product spec sheet (Weight: 1.2kg, Color: Black, SKU: XY-001) is semantically a description list, not a table. Tables imply rows and columns with headers — dl/dt/dd implies term-definition pairs.