Skip to content

Progressive interactivity

Frasto starts with useful HTML and progressively adds behavior.

Native HTML
Astro component
CSS
Small TypeScript enhancement
Web Component
Focused dependency

Use the lowest layer that delivers complete semantics, keyboard operation, focus behavior, announcements, and responsive interaction.

Need Preferred starting point
disclosure <details> / <summary>
modal foundation <dialog>
static tabs appearance links or server-rendered navigation
client tab switching focused script or Web Component
anchored collision-aware popover native Popover API or Floating UI if needed

Enhanced components should begin from understandable markup where practical. Initialization must be idempotent, local, and safe when multiple component instances exist.

If JavaScript does not run, static content should remain readable and form submissions should remain possible when the product architecture supports a server fallback.