HTML*Element Subclasses – Full Spec Hierarchy (100+ Elements) #118
Labels
No labels
bug
docs
feature
housekeeping
html-spec
performance
react-compat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
glow-all/true-headless-browser#118
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ziel
Jedes HTML Element muss sein spec-definiertes Interface haben. Aktuell mappen wir ALLE HTML*Elemente auf plain Element - keine .value, .checked, .src, .href, .selectedIndex etc.
Umfang
Die HTML Living Standard definiert ~100+ Element-Interfaces. Jedes braucht:
Priorität (Top 20 nach Crawling-Impact)
Restliche ~80 Elemente
Viele sind noop-Shims (z.B. HTMLQuoteElement, HTMLPreElement, HTMLDataElement) - die brauchen nur existieren als Class, keine spezifische Logik.
Architektur
Tests
Jedes Interface: Properties, Methoden, Event Handler, Attribut-Reflection, instanceof, HTML-Parser-Roundtrip
Referenz
https://html.spec.whatwg.org/multipage/indices.html#elements-3
✅ Issue #119 — DOM Core Completeness gelöst in
Geliefert (~80 neue APIs)
Element API (~50)
Document API (~30)
✅ 110% Coverage — Abgeschlossen
Branch:
feat/issue-118-119-dom-perfectionCommits auf master:
4de4418— 503 Tests (Factory Integration + Exhaustive Coverage)3e32041— Aggressive Perf:useLayoutEngine: false+ Gap-Fillerc2f62be— DOM Resilience Layer (10 neue Spec-APIs)b4fb40d— innerHTML Setter + Rendering Pipeline (34 Tests)📊 Coverage-Report
factory.tstext.tsindex.tstemplate.tsembedding.tsscripting.tssections.tsforms.tstables.tsinteractive.ts🧪 Test-Gesamt
651 Tests, 1 Fail (pre-existing)
🔮 Next Step
Issue #128 eröffnet: html5ever Native Addon