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.