From a791201a5df7b9ff58606d4922cb3c697aff66a8 Mon Sep 17 00:00:00 2001 From: Matt Giuca Date: Fri, 12 Apr 2024 10:31:40 +1000 Subject: [PATCH] editorial: Move the definition of display-mode back to APPMANIFEST. (#1039) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Move the definition of display-mode back to APPMANIFEST. Closes w3c/csswg-drafts#7306. This text was moved out of the Manifest spec into CSS mediaqueries-5 in w3c/csswg-drafts#6343, along with the display-mode media feature. The actual definition of display mode belongs here, while the display-mode media feature remains in CSS mediaqueries-5. * Apply suggestions from code review Co-authored-by: Aaron Gustafson * Tidy. * display-mode: Rewrite note about display-mode media feature to helpfully point towards the CSS spec. Also linkify display-mode properly. --------- Co-authored-by: Marcos Cáceres Co-authored-by: Aaron Gustafson --- index.html | 83 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 72 insertions(+), 11 deletions(-) diff --git a/index.html b/index.html index f5d75c5b..d753038b 100644 --- a/index.html +++ b/index.html @@ -2540,13 +2540,68 @@

- Choosing a display mode + Display modes

- A [=display mode=], as defined in [[MEDIAQUERIES-5]], represents how - the web application is being presented within the context of an OS - (e.g., in fullscreen, etc.). Display modes correspond to user interface - (UI) metaphors and functionality in use on a given platform. + A display mode represents how the web + application is being presented within the context of an OS (e.g., in + fullscreen, etc.). Display modes correspond to user interface (UI) + metaphors and functionality in use on a given platform. The UI + conventions of the display modes are purely advisory and implementers + are free to interpret them how they best see fit. +

+

+ This specification defines the following [=display modes=]: +

+
+
+ fullscreen +
+
+ Opens the web application with browser UI elements hidden and takes + up the entirety of the available display area. +
+
+ standalone +
+
+ Opens the web application to look and feel like a standalone native + application. This can include the application having a different + window, its own icon in the application launcher, etc. In this mode, + the user agent will exclude standard browser UI elements such as an + URL bar, but can include other system UI elements such as a status + bar and/or system back button. +
+
+ minimal-ui +
+
+ This mode is similar to [=display mode/standalone=], but provides the + end-user with some means to access a minimal set of UI elements for + controlling navigation (i.e., back, forward, reload, and perhaps some + way of viewing the document's address). A user agent can include + other platform specific UI elements, such as "share" and "print" + buttons or whatever is customary on the platform and user agent. +
+
+ browser + (default) +
+
+ Opens the web application using the platform-specific convention for + opening hyperlinks in the user agent (e.g., in a browser tab or a new + window). +
+
+

+ The [=display mode/fullscreen=] display mode is orthogonal to, + and works independently of, the [[[FULLSCREEN]]]. The [=display + mode/fullscreen=] display mode affects the fullscreen state of + the browser window, while the [[FULLSCREEN]] API operates on an element + contained within the viewport. As such, a web application can have its + display mode set to [=display mode/fullscreen=], while + `document.fullScreenElement` returns `null`, and `fullscreenEnabled` + returns `false`.

Once a user agent [=applies=] a particular display mode to an @@ -2628,14 +2683,20 @@

A user agent MUST reflect the applied display mode of the web - application in the '`display-mode`' media feature [[MEDIAQUERIES-5]]. + application in the `display-mode` media feature [[MEDIAQUERIES-5]].

- A user agent will expose the '`display-mode`' media feature - irrespective of whether a manifest is being applied to a browsing - context. For example, if the end-user puts the application into - fullscreen, then the user agent would reflect this change to CSS and - scripts via the '`display-mode`' media feature. + A user agent will expose the actual display mode being applied — not + necessarily the one declared in the manifest — via the + `display-mode` media feature, accessible through CSS or + JavaScript. Note that this media feature will also reflect other + display modes for a web page when a manifest is not being applied. For + example, if the end-user puts the page into fullscreen, then the user + agent would reflect this change to CSS and scripts via the + `display-mode` media feature.