Copyright © 2012 the Contributors to the Core Mobile Web Platform — 2012 Specification, published by the Core Mobile Web Platform Community Group under the W3C Community Contributor License Agreement (CLA). A human-readable summary is available.
This specification describes the core set of technologies that define the baseline platform for mobile Web applications to target. It does not create any new technology but rather syndicates them into a globally coherent view of the mobile Web platform.
This specification was published by the Core Mobile Web Platform Community Group. It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. Learn more about W3C Community and Business Groups.
Notes are non-normative.
Comments on this document are welcomed and should be made on the public-coremob@w3.org mailing list. The source code is available on GitHub.
This section is non-normative.
The goal of the Core Mobile Web Platform Community Group is to accelerate the adoption of the Mobile Web as a compelling platform for the development of modern mobile Web applications. In order to achieve this mission, the CG brings developers, equipment manufacturers, browser vendors, operators and other relevant members of the industry together to agree on core features developers can depend on.
This specification is the result of this work. It attempts to carefully balances developer needs and implementation constraints as of today. Updated versions of this document will be released as the platform evolves and new technologies become broadly available.
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words must, must not, required, should, should not, recommended, may, and optional in this specification are to be interpreted as described in [RFC2119].
A User Agent conforms to Core Mobile Web Platform 2012 if it conforms to all listed specifications and their dependencies.
However, the inability of a User Agent to conform to one of the listed specification due to limitations of the device does not make the User Agent non-conformant. (For example, a User Agent is not required to support Touch Events on a device devoid of a touch screen.)
This section describes requirements for markup languages and related features.
User agents must support HTML5 [HTML5].
Some critical AppCache issues are being fixed in the HTML Living Standard spec. Unfortunately, these fixes aren't brought (yet) to the HTML5 spec because they are considered new features belonging in HTML.next. What should the group's position be with regards to that?
Implementors should pay particular attention to the quality of implementation of the audio
element. audio
elements are commonly used in games to play background music and sound effects. It is recommended that implementations support playing 8 audio files in parallel without audible artifacts and provide sub 10ms latency.
Can the latency requirements be lightened a bit. Sub 10ms seems ideal, slightly longer latency times may be acceptable for most use cases.
User agents must support HTML Media Capture [HTMLMEDIACAPTURE].
User agents must support Scalable Vector Graphics (SVG) 1.1 (Second Edition) [SVG11].
meta
ElementsUser agents must support CSS Device Adaptation [CSS-ADAPTATION] as specified through a meta
viewport element.
WebApps WG is chartered to work on this and has two related specs: Widget Packaging and Configuration [WIDGETS] (which has had little traction among the main vendors), and Web Application Manifest Format and Management APIs [WEBAPPS-MANIFEST-API] (which is still an early Editor's draft).
This is a new deliverable of the WebApps WG. See the WG's charter for details. No spec to link to for the moment. Could also end up as an attribute of Application Configuration.
Within the scope of the WebApps WG's charter. Could end up as an attribute of Application Configuration.
This section defines requirements for CSS and other, styling-related features.
User agents must support CSS 2.1 [CSS21].
User agents must support CSS Values [CSS3VAL].
CSS Values is a WD. Most of the common content of CSS Values is already included in CSS 2.1. There are some features that would be welcomed additions, notably calc()
, rem
unit, but also some that don't seem to have a lot of traction (e.g. cycle()
).
User agents must support CSS Media Queries [CSS3-MEDIAQUERIES].
User agents must support CSS Selectors Level 3 [SELECTORS].
Request for momentum scrolling (e.g. -webkit-overflow-scrolling: touch
) are extremely common. Unfortunately, there is no spec effort at this point.
User agents must support CSS Backgrounds and Borders [CSS3-BG].
User agents must support CSS Color [CSS3COLOR].
User agents must support CSS Image Values and Replaced Content [CSS3-IMAGES].
CSS Image Values is a CR. Questionable content is marked at risk, which is reassuring.
User agents must support CSS Flexible Box Layout [FLEXBOX].
User agents must support CSS Transforms [CSS3-TRANSFORMS].
User agents must support CSS Fonts [CSS3-FONTS].
User agents must support WOFF [WOFF].
User agents must support CSS Text [CSS3TEXT].
Spec in WD. We're interested in a small subset of CSS Text, mainly text-shadow. Like CSS Values, a lot what is of interest is already covered by CSS 2.1.
User agents must support CSS Animations [CSS3-ANIMATIONS].
User agents must support CSS Transitions [CSS3-TRANSITIONS].
This section defines which scripting support in language and APIs are required.
User agents must support ECMAScript, Edition 5.1 [ECMA-262-51].
User agents must support the DOM4 API [DOM4].
User agents must support the Selectors API level 2 [SELECTORS-API2].
User agents must support Touch Events version 1 [TOUCH-EVENTS].
User agents must support CSSOM View [CSSOM-VIEW].
User agents must support the Web Storage API [WEBSTORAGE].
User agents must support the Indexed Database API [INDEXEDDB].
User agents must support the File API [FILE-API].
User agents must support the Quota Management API [QUOTA-API].
User agents must support the XMLHttpRequest API [XMLHTTPREQUEST].
The Editor folded level 1 and 2 in the same spec recently, but this isn't reflected in /TR yet.
User agents must support the Web Messaging API [POSTMSG].
User agents must support the Web Workers API [WEBWORKERS].
Do we need both Shared and Web Workers?
User agents must support the Geolocation API [GEOLOCATION-API].
User agents must support the DeviceOrientation Event [DEVICE-ORIENTATION].
User agents must support the Canvas2D API [CANVAS-2D].
Implementors should pay attention to the performance characteristics of the canvas
element which is particularly well suited for the development of 2D and isometric games. In order to meet the expectations of users, implementations should be capable of running such games at 30fps in full-screen mode.
User agents must support the Timing control for script-based animations API [ANIMATION-TIMING].
User agents must support HTTP 1.1 [HTTP11].
User agents must support Cross-Origin Resource Sharing [CORS].
data:
schemeUser agents must support the data:
URI scheme [RFC2397].
mailto:
schemeUser agents must support the mailto:
URI scheme [RFC6068].
tel:
schemeUser agents must support the tel:
URI scheme [RFC3966].
sms:
schemeUser agents must support the sms:
URI scheme [RFC5724].
mmsto:
schemeUser agents must support the mmsto:
URI scheme [OMA-URI-SCHEME].