← All posts

The HTML `<install>` element: PWA install without JavaScript

Chrome and Edge are testing a native install button for web apps — simpler than manifest plus custom JS alone.

The HTML `<install>` element: PWA install without JavaScript
Contents

In brief

Chrome and Edge are experimenting with an HTML <install> element — a declarative “install app” control for PWAs without mandatory JavaScript. Frontend Focus #741 compares it to the classic Web Install API flow.

What happened

PWA install today usually means manifest, service worker, custom UI, and beforeinstallprompt (where still available). <install> aims to shrink that to semantic markup.

Same digest highlights:

  • Safari 26.5: :open, CSS random() updates, anchor positioning fixes, Origin API.
  • Safari Technology Preview for upcoming WebKit work.
  • Tailwind CSS v4.3 and Vue/web-platform testing tools.

Browsers keep adding native primitives for common UX — like <dialog> for modals.

Why it matters

Install flows break when manifest, SW scope, and custom JS disagree. A declarative element lowers the “just works” bar and improves accessibility vs div-onclick buttons.

If <install> ships broadly, design systems may collapse custom InstallButton components to one tag plus legacy fallback.

In practice

  1. Track caniuse / Chrome Platform Status — still experimental.
  2. Keep manifest + SW; the element is UX, not a PWA replacement.
  3. Progressive enhancement: <install> where supported, instructions elsewhere.
  4. Test Safari 26.5 features if you target Apple platforms.
  5. One primary install CTA per page.

Takeaway

<install> moves PWA install toward less JS. Context in Frontend Focus #741.