Missing HTML Terms — AI Knowledge-Base Gap Analysis
Missing HTML Terms — AI Knowledge-Base Gap Analysis
Purpose of this file. The current curriculum in terms/level_01 … terms/level_10
defines 52 terms (see _meta/html_terms_zero_to_hero.md). Reviewing it as a
junior engineer trying to learn HTML from these files alone, I hit gaps:
concepts that the existing docs use, assume, or reference in prose but never define as
their own term. This file catalogs those gaps so an AI can generate the missing term
docs and make the knowledge base self-contained.
How to read this file.
Section 1 — the critical gaps (concepts used everywhere but never taught).
Section 2 — the full list of missing terms, grouped by the level they belong to.
Each row is shaped to drop straight into the term-doc template: it names the
prerequisites and related terms so the ## 1. Prerequisites and
## 7. Related Terms sections can be filled in automatically.
Section 3 — the relationship map (dependency graph) between missing terms and
existing terms.
Section 4 — suggested generation priority.
Evidence method. "Gap" = concept appears in prose/code of ≥1 existing term file but
has no dedicated terms/level_XX/<term>.md. Also includes concepts a junior learner
would need to bridge between levels to achieve smooth progressive learning.
1. Critical Gaps (used pervasively, never defined)
These block comprehension the most because existing lessons rely on them without explanation.
Gap
Evidence (files mentioning it)
Why it blocks learning
Block-level vs Inline elements
div.md calls itself "block container", span.md says "inline container", br_hr.md mentions line breaks vs thematic breaks, strong_em.md uses inline styling
The single most important HTML layout concept is never defined. A learner sees "block" and "inline" on every page but has no term explaining why <div> takes the full width and <span> doesn't.
Void Elements (Self-closing tags)
meta.md, link.md, input.md, img.md, br_hr.md — all mention "void element" in passing
Five existing term docs call tags "void elements" but the concept of a void element is never defined. A learner doesn't know why some tags lack closing tags.
name Attribute
input.md calls it "absolutely required", form.md references it, select_option.md and textarea.md use it
The name attribute is the key mechanism for form submission (key-value pairing) and radio button grouping. It's used in every form example but never taught.
value Attribute
Used in input.md, select_option.md, button.md radio/checkbox examples
The value attribute determines what data actually gets sent to the server. It is paired with name in every form but never defined.
required, placeholder, disabled Attributes
input.md uses placeholder in every example, form.md mentions required
These are the most commonly-used form validation/UX attributes. A learner sees placeholder="First Name" in examples but has no term explaining what these attributes do.
defer & async Attributes (on <script>)
script.md teaches the defer attribute as the FIX for render-blocking but never gives it a dedicated term
The <script> doc tells learners to use defer to fix a critical mistake, but the defer and async loading strategies are never formally defined.
Character Encoding / charset="UTF-8"
meta.md calls it "the most important meta tag"
Every <meta> example starts with charset="UTF-8" but the concept of character encoding is never explained. A learner doesn't know what UTF-8 is or why it matters.
Nearly every HTML element that loads a resource uses a URL, but the concept of a URL and the difference between absolute and relative paths is never taught.
src Attribute
img.md, audio.md, video.md, iframe.md, script.md — all rely on src
The src attribute appears in 5+ existing term docs as the primary way to load external resources but is never defined as its own term.
Accessibility (a11y) Fundamentals
semantic_html.md, alt.md, label.md, form.md, nav.md, main.md, header.md, footer.md — all reference "screen readers" and "accessibility"
Almost every Level 5–7 doc assumes the learner knows what accessibility is, what a screen reader does, and why it matters. This umbrella concept is never introduced.
2. Missing Terms by Level
Legend for Category: Structural Tag / Inline Text Semantics / Form Element /
Media Element / Metadata / Concept / Architecture / Global Attribute
(per _meta/technology_context.md). Prereqs and Related reference existing terms by
name (see zero-to-hero list) or other missing terms (marked with 🆕).
Level 1 — The Anatomy of a Webpage (foundational concepts)
#
Proposed Term
One-line description
Category
Prerequisites
Related
1
Block-level vs Inline Elements [DONE]
The two fundamental display behaviors: block takes full width with line breaks; inline flows within text.
Concept / Architecture
Element vs. Tag, <body>
<div>, <span>, <p>, 🆕 Void Elements
2
Void Elements (Self-closing Tags) [DONE]
Elements that cannot have children and have no closing tag (e.g., <br>, <img>, <input>, <meta>).
Concept / Architecture
Element vs. Tag
<img>, <input>, <meta>, <link>, <br>
3
Comments (<!-- -->) [DONE]
Invisible annotations in the source code for developer notes.
Concept / Architecture
HTML
Nesting, 🆕 Debugging HTML
4
URL (Uniform Resource Locator) [DONE]
The web address system; absolute vs relative paths.
Concept / Architecture
HTML
<a>, href, <img>, 🆕 src Attribute
Level 2 — Text & Content (inline formatting gaps)
#
Proposed Term
One-line description
Category
Prerequisites
Related
5
<b>, <i>, <u> vs <strong>, <em>, <ins> [DONE]
The difference between presentational (visual-only) tags and semantic (meaningful) tags.
Inline Text Semantics
<strong> & <em>, 🆕 Block vs Inline
Semantic HTML, 🆕 Accessibility Fundamentals
6
<blockquote> & <cite> [DONE]
Semantic tags for quoting external sources and attributing citations.
Inline Text Semantics
<p>, Semantic HTML
<strong> & <em>, 🆕 <figure> & <figcaption>
7
<pre> & <code> [DONE]
Tags for displaying preformatted text and inline code snippets, preserving whitespace.
Inline Text Semantics
Whitespace Collapse, <p>
<span>, 🆕 HTML Entities
8
<sup> & <sub> [DONE]
Superscript and subscript text (e.g., footnotes, chemical formulas).
Inline Text Semantics
Element vs. Tag, 🆕 Block vs Inline
<span>
Level 3 — Media & Embedding (missing resource concepts)
#
Proposed Term
One-line description
Category
Prerequisites
Related
9
src Attribute [DONE]
Specifies the URL of an external resource to embed (images, scripts, media).
Global Attribute
Attribute, 🆕 URL
<img>, <audio>, <video>, <iframe>, <script>
10
<figure> & <figcaption> [DONE]
Semantic container for self-contained media content (images, diagrams) with an optional caption.
Structural Tag
<img>, alt, Semantic HTML
<article>, 🆕 <blockquote>
11
<source> Element [DONE]
Specifies multiple media resources for <audio>, <video>, and <picture> for browser compatibility.
Media Element
<audio>, <video>
<picture>, 🆕 Responsive Images
12
<picture> & Responsive Images [DONE]
Serve different images for different screen sizes/resolutions using <picture> and srcset.
Media Element
<img>, alt, 🆕 <source>
🆕 Viewport, <meta>
Level 4 — Tables (missing table attributes)
#
Proposed Term
One-line description
Category
Prerequisites
Related
13
colspan & rowspan [DONE]
Attributes that let a table cell span across multiple columns or rows.
Structural Tag
<td>, <th>, <table>
<thead>, <tbody>, <tfoot>
14
<caption> [DONE]
A semantic title/description for a table, crucial for accessibility.
Structural Tag
<table>, 🆕 Accessibility Fundamentals
<th>, 🆕 scope attribute
15
scope Attribute (in <th>) [DONE]
Tells screen readers whether a header cell applies to a column, row, or group.
Concept / Architecture
<th>, 🆕 Accessibility Fundamentals
🆕 caption attribute, <thead>
Level 5 — Forms & User Input (critical form gaps)
#
Proposed Term
One-line description
Category
Prerequisites
Related
16
placeholder Attribute [DONE]
A temporary hint displayed inside an input field before the user enters a value.
Global Attribute
<input>, <textarea>
value attribute, <label>
17
value Attribute (in Form Fields) [DONE]
Defines the current or default text value of an input field, button, or option.
Global Attribute
<input>, <select> & <option>
placeholder attribute, <form>
18
name Attribute (in Form Fields) [DONE]
Assigns a key name to form data sent to a server, critical for grouping radio buttons.
An HTML5 API that lets web applications access the user's geographic location (with permission).
Concept / Architecture
<script>, DOM
Web Storage, 🆕 Permissions & Security
52
<progress> & <meter> [DONE]
Native HTML5 elements for displaying progress bars and scalar measurements without JavaScript.
Form Element
Element vs. Tag, 🆕 value Attribute
<output>, style attribute
53
Content Security Policy (CSP) & HTML Security [DONE]
How HTML attributes (sandbox, referrerpolicy, integrity) and headers protect against XSS and injection attacks.
Concept / Architecture
<script>, <iframe>, 🆕 HTML Entities
🆕 <noscript>, Web Storage
54
<map> & <area> (Image Maps) [DONE]
Tags for defining clickable regions within an image, enabling interactive graphics without JavaScript.
Media Element
<img>, href, Attribute
<svg>, <canvas>
3. Relationship Map (dependency graph)
How the missing terms connect to each other and to existing terms. A → B means
"understanding A meaningfully requires B" (B is a prerequisite of A).
3.1 The "Block vs Inline" chain (unblocks the most understanding)
Element vs. Tag (exists)
→ Block-level vs Inline Elements 🆕 ← THE keystone HTML gap
→ <div> (exists, calls itself "block container")
→ <span> (exists, calls itself "inline container")
→ Void Elements 🆕 → <img>, <input>, <br>, <meta>, <link> (all exist)
→ <b>/<i> vs <strong>/<em> 🆕 (presentational vs semantic inline)
Follow the existing template. Every new file must mirror the 8-section structure used in
terms/level_XX/*.md (Prerequisites → Term Category → Environment Context → Explanation
[Design Motivation / Reality Metaphor / Code Examples] → Common Mistakes → Practice Exercises
→ Related Terms → Key Takeaways) and obey _meta/technology_context.md (W3C Web Standards
Author & Accessibility Advocate persona; lowercase tags; double-quoted attributes; include
alt on <img>; use semantic tags; <label> for all <input>s; 2-space indentation).
Wire the cross-links. Use the Prerequisites and Related columns in Section 2 to
populate ## 1. Prerequisites and ## 7. Related Terms with correct relative paths
(../level_XX/<term>.md). When a new term links to another new term, create both.
Renumber intentionally. The zero-to-hero list ends at #52; either append new numbers or
switch to level-relative numbering — decide once and stay consistent.
Update the trackers. After generating, add each new term to
_meta/html_terms_zero_to_hero.md and remove it from this gap list (or mark it done),
mirroring how _meta/missing_terms.md records already-closed gaps.
Environment tags. Most HTML terms = Universal Browser Support; HTML5-specific features
(like <dialog>, <details>, Web Components) = Modern Browsers (HTML5); concepts that
involve JavaScript APIs (like Geolocation, Drag & Drop) = HTML5 Standard.
Tone for absolute beginners. Remember the audience is someone who has never coded before.
Use the W3C persona from technology_context.md but keep explanations simple, jargon-free,
and full of real-world metaphors.
<aside> already exists in zero-to-hero list (#45) but has NO file. Generate it as part
of the P1 batch along with other listed-but-unwritten terms.