Re: [w3c/manifest] The new definition of "installable web application" is inconsistent with the normative text of the specification (Issue #1168)

benfrancis left a comment (w3c/manifest#1168)

Below are some direct quotes from the specification to explain why I don't think it's possible for a web app to be installed unless a web page links to a web app manifest, and therefore it is not true that "Any website is an installable web application."

A manifest is always associated with a manifest URL:
  
> 1. Web Application Manifest
> ...
> A manifest has an associated manifest URL, which is the [[URL](https://w3c.github.io/manifest/#bib-url)] from which the [manifest](https://w3c.github.io/manifest/#dfn-manifest) was fetched.

The manifest URL comes from a link in an HTML document:
> 1.1.2 Using a link element to link to a manifest 
> The example also shows how to use the link type "manifest"

The algorithm for processing a manifest takes this manifest URL as an input so a manifest can not be processed without one:
> 1.16.1 Processing the manifest
> The algorithm takes a [URL](https://url.spec.whatwg.org/#concept-url) document URL, a [URL](https://url.spec.whatwg.org/#concept-url) manifest URL, and a [byte sequence](https://infra.spec.whatwg.org/#byte-sequence) bodyBytes.

For a web application to be considered "installed", it must be possible to apply a manifest to a browsing context to create an application context:

> 4. Installable web applications
> ...
> Once a web application is [installed](https://w3c.github.io/manifest/#dfn-installed) it is known as a installed web application: That is, the manifest's members, or their defaults, are [applied](https://w3c.github.io/manifest/#dfn-apply) to the [top-level browsing context](https://html.spec.whatwg.org/multipage/document-sequences.html#top-level-browsing-context) of the web application. This distinguishes an installed web application from a traditional bookmark, as opening a web page from a traditional bookmark will not have the manifest's properties [applied](https://w3c.github.io/manifest/#dfn-apply) to it.

Updating members of the manifest requires fetching the manifest resource from the manifest URL provided in a manifest link relation:
> 1.16.6 Updating the manifest 
> As specified for [manifest](https://w3c.github.io/manifest/#dfn-manifest) link relation, the manifest is fetched and processed on every page load. When [processing a manifest](https://w3c.github.io/manifest/#dfn-processing-a-manifest) is successful, user agents MAY apply the updated manifest to any current and future [application contexts](https://w3c.github.io/manifest/#dfn-application-context) associated with the application.

Whilst some implementations may assume a "default manifest" in order to "install" a website which does not provide one, as far as I can tell the concept of a default manifest or default manifest URL are not defined anywhere in the specification.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3c/manifest/issues/1168#issuecomment-4126073383
You are receiving this because you are subscribed to this thread.

Message ID: <w3c/manifest/issues/1168/4126073383@github.com>

Received on Wednesday, 25 March 2026 12:09:27 UTC