Web applications, be they widgets or in-browser, can on most platforms be run in multiple visual modes. At times they may occupy the entire screen, at others they may be minimized to a specific docking area; at times they may have chrome that matches the operating system's style while at others they may be providing their own controls in order to provide for a more immersive experience.
The user is generally in control of at least several aspects of these modalities, and it is therefore important for authors to be able to react to these in order to provide different styling to their applications. In order to achieve this, this specification defines a media feature that allows different CSS style rules to be applied depending on whether a given media query [[!MEDIAQ]] matches.
The design goals and requirements for this specification are documented in the Requirements for Standardizing Widgets [[WIDGETS-REQS]].
This document addresses one requirement from "User Experience":
This specification defines conformance criteria that apply to a single product: user agents that implement the view modes that it contains.
An application could be designed to trick users into performing actions they do not wish to or to capture data that they did not intend to provide. Examples of situations in which the user could be tricked include, but are not limited to:
Implementers are encouraged to take these issues into consideration and to provide limitations to what a Web application may do in order to ensure that the user is exposed to minimal risk.
'view-mode'
media featureThe view-mode media feature describes the mode in which the Web application is being shown as a running application on the platform.
A user agent SHOULD make a best-effort attempt at matching the great variety of platform conventions in which it may be running a Web application to the list of view modes defined in this specification so that the view-mode media feature may describe common situations in a manner that is useful to authors. Each view mode is defined to be exclusive of the others.
The view-mode media feature accepts the following enumerated values:
A simple example in CSS:
@media handheld and (view-mode: floating) and (orientation: landscape) { // ... } @media tv and (view-mode: windowed) { // ... } @media handheld and (view-mode: fullscreen) { // ... }
Daniel Herzog, Arve Bersvendsen, Arthur Barstow, Jochen Cichon, Sebastian Markbåge, Cameron McCormack, David Rogers, Richard Tibbett, Scott Wilson, Boris Zbarsky, Kenneth Christiansen, Daniel Glazman, Tab Atkins Jr, Josh Soresh, Marcin Hanclik, the CSS WG.