Tags: web-dev map

Browser MOC

Date: 2026-08-16


The runtime everything client-side executes in. Absorbs HTML semantics, because the document model is a browser concern before it’s a markup one.


The document

  • Semantic HTML — elements as meaning rather than appearance, and everything that derives from it
  • The DOM — the parsed tree, and the crucial fact that it is not the HTML you wrote
  • The CSSOM — the style tree, and why a stylesheet blocks rendering
  • Document Parsing — how a byte stream becomes a tree, and where defer, async and blocking scripts intervene
  • Forms — native behaviour, validation, submission, and what you lose by intercepting it
  • Web Components — custom elements, shadow DOM and slots; encapsulation the platform provides
  • The Accessibility Tree — the parallel tree assistive technology reads, derived from the DOM and ARIA
  • ARIA — the override mechanism for custom widgets, and its first rule: don’t, if a native element will do

Rendering

Execution

Storage

  • Cookies — the attributes that matter: Secure, HttpOnly, SameSite, Domain, Path, expiry
  • Client Storage — localStorage, sessionStorage, IndexedDB: capacity, synchronicity, persistence
  • Cache API and Service Workers — programmable caching, offline behaviour, and the update lifecycle that traps people
  • Storage Partitioning — per-site isolation of storage, and what it breaks for embedded content

Security model

Privacy

Networking from the client

The other runtime

  • Email Client Rendering — table layouts, inline CSS, no JavaScript, dark-mode inversion, and clients a decade behind browsers. Where Klaviyo templates actually run

Tools


Borders

Filed in other domains, needed constantly here.