CE-HTML is a special version of HTML designed to allow controlling consumer electronic devices over home networks and Internet connections. Like HTML, the language is based on the XHTML standard. CE-HTML is optimized for defining user interfaces that can gracefully scale on a variety of screen sizes and geometries, including those of mobile devices to high definition television sets.
CE-HTML is part of the CEA-2014 standard (also referred to as "Web4CE" which is short for Web for Consumer Electronics), defined within the Consumer Electronics Association (CEA).
- CE-HTML consists of the following internet languages:
- ECMAScript 262, 3rd edition
- XHTML 1.0 transitional/strict
- CSS TV Profile 1.0
- XMLHttpRequest object
- DOM level 2.0 (Core, Style, Events, HTML)
- a number of specific extensions for CE devices.
CE-HTML can both be used in-home through UPnP as via the Internet. It allows the content creator to use the common and known languages in the web to define a user interface that can be controlled on a CE device. A CE-HTML client typically consists of a web browser adapted for the CE-HTML standard running on a consumer electronics device. CE-HTML offers specific extensions for these browsers such as :
- Multi-tap or other CE-specific alpha-numeric input support, by making use of the CSS3 input-format tag.
- Media (audio/video) playout through the use of an audio/video scripting object.
- Operation via remote control (spatial navigation) using the up, down, left, right and OK keys
- Client capability matching – to match the client capabilities to the user interfaces that the server offers. For this purpose, each CE-HTML compliant client is making use of a capability profile. This profile, placed in the user-agent string of the client, lets the server know what part of CE-HTML is supported by the client. The server in turn transmits its capabilities in a so-called "XML UI Listing" so the client can choose between the various CE-HTML user interfaces the server offers.
- User interface profiles for usage on CE devices such as a television. These are predefined capability profiles on which a CE-HTML client can base its capabilities. They define e.g. the fonts supported, screen-size of the device, and the media that is supported by the a/v scripting object in the device. All profiles are based on a 10-foot user interface.
- Third-party notifications which allow a client to poll for messages from an external server, and display these to the user regardless of the currently displayed user interface.
- A specific new MIME-type for CE-HTML content: "application/ce-html+xml".
CE-HTML was developed within the Consumer Electronics Association R7WG9 working group – consisting of a number of CE-manufacturers – to formulate an answer to the problem of displaying HTML (web) content on a device that does not possess the characteristics of a typical personal computer. CE devices have problems displaying regular web pages because these pages make use of:
- small fonts and images, not readable from a distance as when experienced from a TV or set-top box
- only mouse or keyboard-based navigation, not navigable using a remote control
- no highlight on the navigable elements so a user cannot see the element they navigate
- many non-portable browser-specific extensions (DOM level 0/legacy DOM)
- no standard audio/video object implementation
- the use of proprietary – not CE-compatible – extensions such as Adobe Flash
Further difficulties with using a CE device to display web content are caused by the fact that CE devices typically have different capabilities such as different resolutions, remote controls and audio/video codecs.