HTML 4.0 Guidelines for Mobile Access (original) (raw)

W3C

W3C Note - 15 March 1999

This version:

<http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315>

Latest version:

<http://www.w3.org/TR/NOTE-html40-mobile>

Editors:

Tomihisa Kamada, ACCESS Co.,Ltd. <tomy@access.co.jp>

Takuya Asada, W3C <asada@w3.org>

Masayasu Ishikawa, W3C <mimasa@w3.org>

Shin'ichi Matsui, W3C/Panasonic <matsui@w3.org>

Copyright © 1998-1999 W3C(MIT,INRIA,Keio), All Rights Reserved.W3C liability,trademark,document use andsoftware licensingrules apply.

Status of This Document

This document is a Note made available by the World Wide Web Consortium (W3C) for discussion. This document may be updated, replaced or rendered obsolete by other documents at any time. It is inappropriate to use this document as reference material or to cite them as other than "work in progress". This is work in progress, and does not imply endorsement by, or the consensus of, either W3C membershipor members of the Mobile Access Interest Group(members only).

This document has been produced as part of the W3C Mobile Access Activity. Please send comments about this document to the public mailing listwww-mobile@w3.org(archive).

Abstract

This document describes guidelines for content authors how to createHTML 4.0 contents to be acceptable to mobile devices as much as possible.

Available Formats

This document is available in the following formats:

HTML:

<http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315/NOTE-html40-mobile.html>

A plain text file:

<http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315/NOTE-html40-mobile.txt>

HTML as a gzip'ed tar file, including accompanying resources:

<http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315/NOTE-html40-mobile.tgz>

HTML as a zip file, including accompanying resources:

<http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315/NOTE-html40-mobile.zip>

In case of a discrepancy between the various formats of the document,<http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315>is considered the definitive version.

Table of Contents

  1. Introduction
  2. Requirements from Mobile Access
    1. Hardware Restrictions
    2. Narrow Bandwidth Networking
    3. Accessibility Requirements
  3. Guidelines for Mobile Access
    1. Styles
    2. Scripts, Event Handlers
    3. Forms
    4. Frames
    5. Image Maps
    6. Tables
    7. Objects and Images
    8. Access keys
  4. A Sample HTML 4.0 DTD for Mobile Access
  5. Concluding Remarks and Future Directions

1. Introduction

Ever since the Internet industry exploded a few years ago, numerous related industries have spawned and flourished from the standardWWW (World Wide Web) infrastructure. This growth is most attributable to the exponential growth of Internet users all over the world. Today, Internet access is no longer limited to personal computers and powerful workstations in your office, but is reaching into the your home, as well as on the road.

A new class of electronics devices with Internet access capability called "Information Appliances" was recently born. This Internet access capability is embedded in devices such as televisions, set top boxes, home game machines, telephone-based terminals, PDAs, car navigation systems and cellular phones. These Internet appliances will drive the merger of wireless and wired Internet world that will eventually create a much larger industry than today's predominantly wired Internet industry.

The need to support this new class of information appliances while still meeting the W3C standards and the rigid design requirements are the challenges this evolving industry faces today.

This document describes guidelines for content authors how to useHTML 4.0 Specification[HTML40] effectively for "Mobile Access", and some design notes for user agent manufacturers.

2. Requirements from Mobile Access

There are a wide range of mobile devices in the market. The typical product examples are as follows:

This section summarizes the requirements from "Mobile Access".

2.1. Hardware Restrictions

As described in [CompactHTML], there are several hardware restrictions in mobile devices. The major characteristics are as follows:

These characteristics have to be taken into account in designing the user agent functionality for mobile devices, as well as creating mobile-friendly contents.

2.2. Narrow Bandwidth Networking

The size of contents should be small in the case of narrow bandwidth and low speed wireless networking. The major characteristics of today's wireless connection are as follows:

These restrictions depend on underlying communication bearers. The infrastructure will be improved in the third generation wireless phone networking.

2.3. Accessibility Requirements

Simple and easy operations of information appliances are very important. Unlike PCuser interface, keyboard and mouse are not suitable for mobile devices. Rather, intuitive operation like a four-button interface (cursor forward, cursor back, select, and back buttons) is required. In this sense, some kind of accessibility considerations, as described in WAIAccessibility Guidelines, should be taken into account. In general, WAIAccessiblity Guidelines are also useful for mobile access.

For example, the "accesskey" attribute ofHTML 4.0 can be used to assign buttons to links or form selections. Also, alternative text for images should be provided via "alt" attribute so that mobile devices can make use of text descriptions instead of large images. For more information, see section 3.8 and 3.7 respectively.

3. Guidelines for Mobile Access

This section describes the detail of the HTML 4.0 guidelines for mobile access.

In order to meet the requirements as described insection 2, we useHTML 4.0 Strict, which excludes the presentation attributes and elements, as a suitable baseline for mobile access. Thus, the following guidelines assume to useHTML 4.0 Strict.

3.1. Styles

Usual mobile devices have small size of screens, and limited display capabilities, thus in many cases style sheets are not supported, or its support is limited.

When style sheets are used, external style sheets are recommended from the viewpoint of content size and separation of structure and style. In this way, user agents which don't support style sheets don't have to load unnecessary style sheets.

The "media" attribute can be used so that user agents can select appropriate style sheets. See section14.2.4of [HTML40] for more detail.

The STYLE element can be also used, but inline style sheets via "style" attribute is not preferred, because it's not flexible and almost like the presentation attributes which are deprecated and excluded from theHTML 4.0 Strict.

Contents should be readable without style sheets so that devices which don't support style sheets can still render contents reasonably.

See also section2.10of Techniques for [WAI-WEBCONTENT].

Note for User Agents:

It is desirable that even if user agents don't support style sheets, it should parse STYLE elements not to show styles nor to cause any other side-effects.

3.2. Scripts, Event Handlers

Usual mobile devices have limitation of memory storage,CPU power and so on, thus in many cases scripting are not supported. It should not be assumed that scripts will always be executed. Contents should be readable even if scripts are not executed.

See also section2.13of Techniques for [WAI-WEBCONTENT].

Note for User Agents:

It is desirable that even if user agents don't support scripts, it should parse SCRIPT elements not to show scripts nor to cause any other side-effects.

3.3. Forms

Usual mobile devices support basic forms, but they don't have keyboards like desktop PCs. Content authors should keep in mind that it will be hard for users of mobile devices to input many characters.

Since sometimes mobile devices don't have local file systems, some features, which depend on local file system, such as file upload, should not be used.

Many mobile devices do not support images, thus value "image" for "type" attribute of INPUT element should not be used.

As described in 3.2, authors should not rely on scripting, and should avoid using attributes for event handling, such asonsubmit.

See also section2.12of Techniques for [WAI-WEBCONTENT].

3.4. Frames

Usual mobile devices have small size of screens, and some of them support only textual information. Frames strongly depend on screen interface, and are not part of the HTML 4.0 Strict. Therefore, frames should not be used.

If there is compelling reason to use frames, make sure that those contents have the descriptions below:

See also section2.11of Techniques for [WAI-WEBCONTENT].

Note for User Agents:

If user agents don't support frames, it should render contents of the NOFRAMES element. Also, even if user agents can't render frames, it is desirable to provide links to each frame, so that users can access to contents of each frame.

3.5. Image Maps

On mobile devices, it cannot be generally assumed that images are always rendered, nor can be pointed by pointing devices like mouse. Therefore, server-side image maps should not be used.

On the other hand, client-side image maps can be used even if images are not rendered nor can be pointed, so authors may include client-side image maps into their contents. But this is acceptable only when alternative descriptions are provided via "alt" attribute of AREA element, which is a required attribute in HTML 4.0, as in many cases images are not rendered on mobile devices, or pointing on images is impossible even if images can be rendered, as described above.

See also section2.7of Techniques for [WAI-WEBCONTENT].

Note for User Agents:

It will be desirable that user agents render images and provide selections with pointing (using area information) if possible. Even if rendering images or selection with pointing are impossible, they should provide access to linked resource of each area via "alt" attribute ofAREA element.

3.6. Tables

Many mobile devices have small size of screens. If contents have table descriptions, it will be very difficult to browse them in mobile devices. In addition, though it would be possible to restructure tables in accessible way by following guidelines as described inGuideline 7of [WAI-WEBCONTENT], it will be difficult for mobile devices to process complex tables due to the hardware restrictions as described in 2.1. It would be, therefore, safe to avoid using tables whenever possible. Consider alternative structures, e.g. lists, whenever appropriate. Content authors should not expect tables will always be processed in mobile devices.

Note for User Agents:

Even if it would be difficult, user agents may parse and render tables if possible. For example, the CAPTION element and "summary" attribute are usable to summarize tables. See also [WAI-USERAGENT].

3.7. Objects and Images

The OBJECT elements, which are designed to embed various objects including images intoHTML documents, are also useful in mobile devices. For example, contents which have voice (speech) contents for cell phones and contents which have graphical maps for car navigation systems may become typical contents for those devices, as these contents match essential needs and functions of them.

When embedding objects via OBJECT element, alternative contents should be provided by the fallback mechanism of OBJECT element. These alternative contents should end up with texts.

An example below is quoted from [HTML40]:

text describing the image...

In general, images should be embedded via OBJECT element, as it has better fallback mechanism, but IMG element may also be used. In this case, alternative description via "alt" attribute, which is required in [HTML40], should be provided for user agents which cannot or do not render images. This guideline doesn't specify nor recommend specific formats for images.

If the image represents an important information, a long description should be provided via longdesc attribute of IMG element, in addition to alternative text viaalt attribute.

The APPLET element, which is not part of theHTML 4.0 Strict, should not be used in favor of the OBJECT element.

Note for User Agents:

User agents should try to render nested objects according to the precedence rules described insection 13.3.1 of [HTML40]. Even if user agents don't support OBJECT elements, they should render alternative content of OBJECT element as a fallback.

If a long description is provided via longdesc attribute of IMG element, user agents should provide access to that long description.

3.8. Access keys

In general, it cannot be assumed that input methods which consists of a (full) keyboard and a pointing device such as mouse are available in mobile devices. It is desirable that description for efficient use of input methods on mobile devices are provided in contents.

From this viewpoint, assigning access keys via "accesskey" attribute (for A, AREA, BUTTON,INPUT, LABEL, LEGEND andTEXTAREA elements) will be effective when it is available. This may improve accessibility of links or form related operations.

But the use of "accesskey" attribute needs careful consideration.

  1. In many mobile devices, available keys are limited. It cannot be assumed that all keys in "full" keyboards are available.
  2. Available keys differ among mobile devices. For example, cell phones will usually have "0"-"9", "*" and "#" keys, but the same assumption cannot be applied for most pagers or mobile game machines.
  3. There may be some mobile devices that cannot use "accesskey" attribute at all. For example, devices only for voice browsing will not use access "keys". Content authors should not rely on access keys for navigation.

Note for User Agents:

User agents should parse and activate access keys specified via "accesskey" attribute whenever possible, but they should ignore access keys when those keys are not available.

4. A Sample HTML 4.0 DTD for Mobile Access

As mentioned in section 3,HTML 4.0 Strict will be suitable as a baseline for mobile access. This section explains a sample description ofDTD, called_HTML 4.0 Mobile_, as a subset of the HTML 4.0 Strict DTDin order to reflect the guidelines described insection 3.

This DTD is also designed to be a subset ofISO/IEC 15445,a.k.a. ISO-HTML [ISO-HTML].ISO-HTMLis a well-defined subset ofHTML 4.0 Strict, so conforming to this DTDwill ensure interoperability across wide variety of platforms, including mobile devices. The complete definition of DTD for HTML 4.0 Mobile is described in theAppendix.

_Note:_At the time of writing this document,[ISO-HTML] is still under work in progress. It has not yet established as an International Standard.

The HTML 4.0 Mobile DTD is provided to help authors creating documents following the guidelines described in this document (e.g. by validating with an SGML parser like nsgmls [SP]). Not all guidelines can be expressed in the DTD, but hopefully, this DTD will make it easier to follow these guidelines.

Typically, this DTD can be invoked as follows:

...

For example, this DTDexcludes style attribute and event handlers likeonclick, so when content authors validate their documents against this DTD, those attributes will be flagged as unknown attributes and then authors can be aware that those attributes are not recommended. If documents are validated against thisDTD, those documents can be labeled as validHTML 4.0 Strict.

Note. If you use the following DOCTYPE internal subset:

]>

...

then you can enforce the strict heading order as required in[ISO-HTML].

In any case, ensuring the validity of documents is quite important, particularly for mobile access, because most mobile devices cannot afford to perform costly error recovery.

5. Concluding Remarks and Future Directions

We believe that wireless network services should not be isolated from the growing Internet services. This guidelines can be used for this purpose. It can be referred as recommended guidelines forHTML mobile Internet services andHTML browsing software for a variety of mobile devices.

Currently the work for the next generation ofHTML [XHTML] is going on, which will be a family of modularized document types that will make it easier to extend and subset HTML. Since mobile device category is one of major targets for [XHTML], mobile profile(s) and mobile module(s) will be defined as part of [XHTML].

Note that the effort for converging [XHTML]and the Wireless Markup Language [WML], for the Wireless Application Protocol (WAP), is currently ongoing between the W3C and the WAP Forum[WAP-W3C, WML1.1]. Hopefully, [WML] will be among the family of[XHTML] document types in the future.

The worldwide standard for wireless digital phone networking protocols (IMT-2000) will be established very soon. New services based onIMT-2000 standard will start in the early 21st century. The bandwidth of the network is expected to be wide enough for IP connections and Internet-oriented contents.

This implies that HTMLand related recommendations for mobile Internet will become more and more important. This HTML4.0 guidelines for mobile access will be a good step towards futureHTML modularity for mobile phones.

References

[CompactHTML]

"Compact HTML for Small Information Appliances",W3C Note, T. Kamada, 9 February 1998.
Available at <http://www.w3.org/TR/1998/NOTE-compactHTML-19980209>

[HTML40]

"HTML 4.0 Specification",W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, 18 December 1997, revised 24 April 1998.
Available at <http://www.w3.org/TR/1998/REC-html40-19980424>
"HTML 4.0 Specification Errata" is available at<http://www.w3.org/MarkUp/html40-updates/REC-html40-19980424-errata.html>

[ISO-HTML]

"ISO/IEC 15445:1999 Information Technology -- Document Description and Processing Languages -- HyperText Markup Language (HTML)", R. Price, D. Abrahamson, work in progress.
Available at <http://purl.org/NET/ISO+IEC.15445/15445.html>
See also: "User's Guide to ISO/IEC 15445:1999 HyperText Markup Language (HTML)", available at<http://purl.org/NET/ISO+IEC.15445/Users-Guide.html>

[SP]

SP is a free, object-oriented toolkit for SGML parsing and entity management written by James Clark. Further information is available at<http://www.jclark.com/sp/index.htm>.

[WAI-WEBCONTENT]

"Web Content Accessibility Guidelines",W3C Working Draft, W. Chisholm, G. Vanderheiden, I. Jacobs,work in progress.
See also: "Techniques for Web Content Accessibility Guidelines"
The latest version of these documents can be available from<http://www.w3.org/WAI/#Resources>

[WAI-USERAGENT]

"User Agent Accessibility Guidelines",W3C Working Draft, J. Gunderson, I. Jacobs,work in progress.
The latest version of this document can be available from<http://www.w3.org/WAI/#Resources>

[WAP-W3C]

"WAP Forum - W3C Cooperation White Paper",W3C Note, J. Hjelm, B. Martin, P. King, 30 October 1998.
Available at <http://www.w3.org/TR/NOTE-WAP>

[WML]

"Wireless Markup Language Specification",WAP Forum, 30 April 1998.
Available at <http://www.wapforum.org/docs/technical/wml-30-apr-98.pdf>

[WML1.1]

"Wireless Markup Language Specification Version 1.1",proposed,WAP Forum, 3 February 1999.
Available at<http://www.wapforum.org/docs/technical1.1/WML-3-Feb-1999.pdf>

[XHTML]

"XHTML 1.0: The Extensible HyperText Markup Language - A Reformulation of HTML 4.0 in XML 1.0",W3C Working Draft, Steven Pemberton et al.,work in progress.
Available at <http://www.w3.org/TR/WD-html-in-xml>

Appendix HTML 4.0 Mobile DTD

Sample SGML catalog

_Note._The HTML 4.0 Mobile DTD is a complete subset of the HTML 4.0 Strict DTD, and if you use the following DTD:

%Mobile.dtd;

then you can get the same definition as theHTML 4.0 Strict DTD, as amended by the HTML 4.0 Specification Errata.

The following sampleSGML cataloguses the above DTD to invoke the HTML 4.0 Strict DTD. Typically, the Mobile DTDitself will be invoked by a system identifier, so it is not included in this catalog.

Document Type Definition

<![ %HTML.Strict; [ ]]>

<![ %HTML.Mobile; [

<![ %Preparation; [ ]]> ]]>

<![ %HTML.Mobile; [

]]>

<![ %HTML.Strict; [

]]>

<![ %HTML.Strict; [ ]]>

%HTMLlat1;

%HTMLsymbol;

%HTMLspecial;

<![ %HTML.Strict; [ <!ENTITY % coreattrs "id ID #IMPLIED -- document-wide unique id -- class CDATA #IMPLIED -- space separated list of classes -- style %StyleSheet; #IMPLIED -- associated style info -- title %Text; #IMPLIED -- advisory title/amplification --"

]]>

<![ %HTML.Strict; [ <!ENTITY % events "onclick %Script; #IMPLIED -- a pointer button was clicked -- ondblclick %Script; #IMPLIED -- a pointer button was double clicked-- onmousedown %Script; #IMPLIED -- a pointer button was pressed down -- onmouseup %Script; #IMPLIED -- a pointer button was released -- onmouseover %Script; #IMPLIED -- a pointer was moved onto -- onmousemove %Script; #IMPLIED -- a pointer was moved within -- onmouseout %Script; #IMPLIED -- a pointer was moved away -- onkeypress %Script; #IMPLIED -- a key was pressed and released -- onkeydown %Script; #IMPLIED -- a key was pressed down -- onkeyup %Script; #IMPLIED -- a key was released --"

]]>

<![ %HTML.Reserved; [ <!ENTITY % reserved "datasrc %URI; #IMPLIED -- a single or tabular Data Source -- datafld CDATA #IMPLIED -- the property or column name -- dataformatas (plaintext|html) plaintext -- text or html --"

]]>

<![ %HTML.Strict; [

]]>

<![ %HTML.Strict; [ ]]>

<![ %HTML.Strict; [ ]]>

<![ %HTML.Strict; [ ]]>

<![ %HTML.Strict; [ <!ATTLIST (%fontstyle;|%phrase;) %attrs; -- %coreattrs, %i18n, %events --

]]>

<![ %HTML.Mobile; [ <!ATTLIST (%phrase;) %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ <!ATTLIST (SUB|SUP) %attrs; -- %coreattrs, %i18n, %events --

]]>

<![ %HTML.Strict; [ <!ATTLIST SPAN %attrs; -- %coreattrs, %i18n, %events -- %reserved; -- reserved for possible future use --

]]>

<![ %HTML.Mobile; [ <!ATTLIST SPAN %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ ]]> <![ %HTML.Mobile; [ ]]> <!ATTLIST BDO -- %coreattrs; id, class, style, title -- %coreattrs; -- id, class, title -- lang %LanguageCode; #IMPLIED -- language code -- dir (ltr|rtl) #REQUIRED -- directionality --

<![ %HTML.Strict; [ ]]>

<![ %HTML.Mobile; [

]]>

<![ %HTML.Strict; [ <!ATTLIST BODY %attrs; -- %coreattrs, %i18n, %events -- onload %Script; #IMPLIED -- the document has been loaded -- onunload %Script; #IMPLIED -- the document has been removed --

]]>

<![ %HTML.Mobile; [

<![ %Preparation; [ ]]> <![ %NoPreparation; [ ]]> <!ATTLIST BODY %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ <!ATTLIST ADDRESS %attrs; -- %coreattrs, %i18n, %events --

]]>

<![ %HTML.Mobile; [ <!ATTLIST ADDRESS %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ <!ATTLIST DIV %attrs; -- %coreattrs, %i18n, %events -- %reserved; -- reserved for possible future use --

]]>

<![ %HTML.Mobile; [ <!ATTLIST DIV %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ <!ATTLIST A %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #IMPLIED -- char encoding of linked resource -- type %ContentType; #IMPLIED -- advisory content type -- name CDATA #IMPLIED -- named link end -- href %URI; #IMPLIED -- URI for linked resource -- hreflang %LanguageCode; #IMPLIED -- language code -- rel %LinkTypes; #IMPLIED -- forward link types -- rev %LinkTypes; #IMPLIED -- reverse link types -- accesskey %Character; #IMPLIED -- accessibility key character -- shape %Shape; rect -- for use with client-side image maps -- coords %Coords; #IMPLIED -- for use with client-side image maps -- tabindex NUMBER #IMPLIED -- position in tabbing order -- onfocus %Script; #IMPLIED -- the element got the focus -- onblur %Script; #IMPLIED -- the element lost the focus --

]]>

<![ %HTML.Mobile; [ <!ATTLIST A %attrs; -- %coreattrs, %i18n -- charset %Charset; #IMPLIED -- char encoding of linked resource -- type %ContentType; #IMPLIED -- advisory content type -- name CDATA #IMPLIED -- named link end -- href %URI; #IMPLIED -- URI for linked resource -- hreflang %LanguageCode; #IMPLIED -- language code -- rel %LinkTypes; #IMPLIED -- forward link types -- rev %LinkTypes; #IMPLIED -- reverse link types -- accesskey %Character; #IMPLIED -- accessibility key character -- tabindex NUMBER #IMPLIED -- position in tabbing order --

]]>

<![ %HTML.Strict; [ <!ATTLIST MAP %attrs; -- %coreattrs, %i18n, %events -- name CDATA #REQUIRED -- for reference by usemap --

]]>

<![ %HTML.Mobile; [ <!ATTLIST MAP %attrs; -- %coreattrs, %i18n -- name CDATA #REQUIRED -- for reference by usemap --

]]>

<![ %HTML.Strict; [ <!ATTLIST AREA %attrs; -- %coreattrs, %i18n, %events -- shape %Shape; rect -- controls interpretation of coords -- coords %Coords; #IMPLIED -- comma separated list of lengths -- href %URI; #IMPLIED -- URI for linked resource -- nohref (nohref) #IMPLIED -- this region has no action -- alt %Text; #REQUIRED -- short description -- tabindex NUMBER #IMPLIED -- position in tabbing order -- accesskey %Character; #IMPLIED -- accessibility key character -- onfocus %Script; #IMPLIED -- the element got the focus -- onblur %Script; #IMPLIED -- the element lost the focus --

]]> <![ %HTML.Mobile; [ <!ATTLIST AREA %attrs; -- %coreattrs, %i18n -- shape %Shape; rect -- controls interpretation of coords -- coords %Coords; #IMPLIED -- comma separated list of lengths -- href %URI; #IMPLIED -- URI for linked resource -- nohref (nohref) #IMPLIED -- this region has no action -- alt %Text; #REQUIRED -- short description -- tabindex NUMBER #IMPLIED -- position in tabbing order -- accesskey %Character; #IMPLIED -- accessibility key character --

]]>

<![ %HTML.Strict; [ <!ATTLIST LINK %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #IMPLIED -- char encoding of linked resource -- href %URI; #IMPLIED -- URI for linked resource -- hreflang %LanguageCode; #IMPLIED -- language code -- type %ContentType; #IMPLIED -- advisory content type -- rel %LinkTypes; #IMPLIED -- forward link types -- rev %LinkTypes; #IMPLIED -- reverse link types -- media %MediaDesc; #IMPLIED -- for rendering on these media --

]]> <![ %HTML.Mobile; [ <!ATTLIST LINK %attrs; -- %coreattrs, %i18n -- charset %Charset; #IMPLIED -- char encoding of linked resource -- href %URI; #IMPLIED -- URI for linked resource -- hreflang %LanguageCode; #IMPLIED -- language code -- type %ContentType; #IMPLIED -- advisory content type -- rel %LinkTypes; #IMPLIED -- forward link types -- rev %LinkTypes; #IMPLIED -- reverse link types -- media %MediaDesc; #IMPLIED -- for rendering on these media --

]]>

<![ %HTML.Strict; [ ]]>

<![ %HTML.Strict; [

]]>

<![ %HTML.Strict; [ <!ATTLIST IMG %attrs; -- %coreattrs, %i18n, %events -- src %URI; #REQUIRED -- URI of image to embed -- alt %Text; #REQUIRED -- short description -- longdesc %URI; #IMPLIED -- link to long description (complements alt) -- height %Length; #IMPLIED -- override height -- width %Length; #IMPLIED -- override width -- usemap %URI; #IMPLIED -- use client-side image map -- ismap (ismap) #IMPLIED -- use server-side image map --

]]>

<![ %HTML.Mobile; [ <!ATTLIST IMG %attrs; -- %coreattrs, %i18n -- src %URI; #REQUIRED -- URI of image to embed -- alt %Text; #REQUIRED -- short description -- longdesc %URI; #IMPLIED -- link to long description (complements alt) -- usemap %URI; #IMPLIED -- use client-side image map --

]]>

<![ %HTML.Strict; [ <!ATTLIST OBJECT %attrs; -- %coreattrs, %i18n, %events -- declare (declare) #IMPLIED -- declare but don't instantiate flag -- classid %URI; #IMPLIED -- identifies an implementation -- codebase %URI; #IMPLIED -- base URI for classid, data, archive-- data %URI; #IMPLIED -- reference to object's data -- type %ContentType; #IMPLIED -- content type for data -- codetype %ContentType; #IMPLIED -- content type for code -- archive %UriList; #IMPLIED -- space separated archive list -- standby %Text; #IMPLIED -- message to show while loading -- height %Length; #IMPLIED -- override height -- width %Length; #IMPLIED -- override width -- usemap %URI; #IMPLIED -- use client-side image map -- name CDATA #IMPLIED -- submit as part of form -- tabindex NUMBER #IMPLIED -- position in tabbing order -- %reserved; -- reserved for possible future use --

]]>

<![ %HTML.Mobile; [ <!ATTLIST OBJECT %attrs; -- %coreattrs, %i18n -- declare (declare) #IMPLIED -- declare but don't instantiate flag -- classid %URI; #IMPLIED -- identifies an implementation -- codebase %URI; #IMPLIED -- base URI for classid, data, archive-- data %URI; #IMPLIED -- reference to object's data -- type %ContentType; #IMPLIED -- content type for data -- codetype %ContentType; #IMPLIED -- content type for code -- standby %Text; #IMPLIED -- message to show while loading -- usemap %URI; #IMPLIED -- use client-side image map -- name CDATA #IMPLIED -- submit as part of form -- tabindex NUMBER #IMPLIED -- position in tabbing order --

]]>

<![ %HTML.Strict; [ <!ATTLIST HR %attrs; -- %coreattrs, %i18n, %events --

]]> <![ %HTML.Mobile; [ <!ATTLIST HR %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ <!ATTLIST P %attrs; -- %coreattrs, %i18n, %events --

]]>

<![ %HTML.Mobile; [ <!ATTLIST P %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ <!ATTLIST (%heading;) %attrs; -- %coreattrs, %i18n, %events --

]]>

<![ %HTML.Mobile; [

<![ %Preparation; [ ]]> <!ATTLIST (%heading;) %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ ]]>

<![ %HTML.Strict; [ <!ATTLIST PRE %attrs; -- %coreattrs, %i18n, %events --

]]>

<![ %HTML.Mobile; [ <!ATTLIST PRE %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ <!ATTLIST Q %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #IMPLIED -- URI for source document or msg --

]]>

<![ %HTML.Mobile; [ <!ATTLIST Q %attrs; -- %coreattrs, %i18n -- cite %URI; #IMPLIED -- URI for source document or msg --

]]>

<![ %HTML.Strict; [ <!ATTLIST BLOCKQUOTE %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #IMPLIED -- URI for source document or msg --

]]>

<![ %HTML.Mobile; [ <!ATTLIST BLOCKQUOTE %attrs; -- %coreattrs, %i18n -- cite %URI; #IMPLIED -- URI for source document or msg --

]]>

<![ %HTML.Strict; [ <!ATTLIST (INS|DEL) %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #IMPLIED -- info on reason for change -- datetime %Datetime; #IMPLIED -- date and time of change --

]]>

<![ %HTML.Strict; [ <!ATTLIST (DT|DD) %attrs; -- %coreattrs, %i18n, %events --

]]>

<![ %HTML.Mobile; [ <!ATTLIST (DT|DD) %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [ <!ATTLIST LI %attrs; -- %coreattrs, %i18n, %events --

]]>

<![ %HTML.Mobile; [ <!ATTLIST LI %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [

]]>

<![ %HTML.Mobile; [ <!ATTLIST FORM %attrs; -- %coreattrs, %i18n -- action %URI; #REQUIRED -- server-side form handler -- method (GET|POST) GET -- HTTP method used to submit the form-- enctype %ContentType; "application/x-www-form-urlencoded" accept-charset %Charsets; #IMPLIED -- list of supported charsets --

]]>

<![ %HTML.Strict; [ <!ATTLIST LABEL %attrs; -- %coreattrs, %i18n, %events -- for IDREF #IMPLIED -- matches field ID value -- accesskey %Character; #IMPLIED -- accessibility key character -- onfocus %Script; #IMPLIED -- the element got the focus -- onblur %Script; #IMPLIED -- the element lost the focus --

]]>

<![ %HTML.Mobile; [ <!ATTLIST LABEL %attrs; -- %coreattrs, %i18n -- for IDREF #IMPLIED -- matches field ID value -- accesskey %Character; #IMPLIED -- accessibility key character --

]]>

<![ %HTML.Strict; [ <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT | RESET | FILE | HIDDEN | IMAGE | BUTTON)"

]]>

<![ %HTML.Strict; [ <!ATTLIST INPUT %attrs; -- %coreattrs, %i18n, %events -- type %InputType; TEXT -- what kind of widget is needed -- name CDATA #IMPLIED -- submit as part of form -- value CDATA #IMPLIED -- required for radio and checkboxes -- checked (checked) #IMPLIED -- for radio buttons and check boxes -- disabled (disabled) #IMPLIED -- unavailable in this context -- readonly (readonly) #IMPLIED -- for text and passwd -- size CDATA #IMPLIED -- specific to each type of field -- maxlength NUMBER #IMPLIED -- max chars for text fields -- src %URI; #IMPLIED -- for fields with images -- alt CDATA #IMPLIED -- short description -- usemap %URI; #IMPLIED -- use client-side image map -- tabindex NUMBER #IMPLIED -- position in tabbing order -- accesskey %Character; #IMPLIED -- accessibility key character -- onfocus %Script; #IMPLIED -- the element got the focus -- onblur %Script; #IMPLIED -- the element lost the focus -- onselect %Script; #IMPLIED -- some text was selected -- onchange %Script; #IMPLIED -- the element value was changed -- accept %ContentTypes; #IMPLIED -- list of MIME types for file upload -- %reserved; -- reserved for possible future use --

]]> <![ %HTML.Mobile; [ <!ATTLIST INPUT %attrs; -- %coreattrs, %i18n -- type %InputType; TEXT -- what kind of widget is needed -- name CDATA #IMPLIED -- submit as part of form -- value CDATA #IMPLIED -- required for radio and checkboxes -- checked (checked) #IMPLIED -- for radio buttons and check boxes -- size CDATA #IMPLIED -- specific to each type of field -- maxlength NUMBER #IMPLIED -- max chars for text fields -- tabindex NUMBER #IMPLIED -- position in tabbing order -- accesskey %Character; #IMPLIED -- accessibility key character --

]]>

<![ %HTML.Strict; [ <!ATTLIST SELECT %attrs; -- %coreattrs, %i18n, %events -- name CDATA #IMPLIED -- field name -- size NUMBER #IMPLIED -- rows visible -- multiple (multiple) #IMPLIED -- default is single selection -- disabled (disabled) #IMPLIED -- unavailable in this context -- tabindex NUMBER #IMPLIED -- position in tabbing order -- onfocus %Script; #IMPLIED -- the element got the focus -- onblur %Script; #IMPLIED -- the element lost the focus -- onchange %Script; #IMPLIED -- the element value was changed -- %reserved; -- reserved for possible future use --

]]> <![ %HTML.Mobile; [ <!ATTLIST SELECT %attrs; -- %coreattrs, %i18n -- name CDATA #IMPLIED -- field name -- size NUMBER #IMPLIED -- rows visible -- multiple (multiple) #IMPLIED -- default is single selection -- tabindex NUMBER #IMPLIED -- position in tabbing order --

]]>

<![ %HTML.Strict; [ <!ATTLIST OPTGROUP %attrs; -- %coreattrs, %i18n, %events -- disabled (disabled) #IMPLIED -- unavailable in this context -- label %Text; #REQUIRED -- for use in hierarchical menus --

]]> <![ %HTML.Mobile; [ <!ATTLIST OPTGROUP %attrs; -- %coreattrs, %i18n -- label %Text; #REQUIRED -- for use in hierarchical menus --

]]>

<![ %HTML.Strict; [ <!ATTLIST OPTION %attrs; -- %coreattrs, %i18n, %events -- selected (selected) #IMPLIED disabled (disabled) #IMPLIED -- unavailable in this context -- label %Text; #IMPLIED -- for use in hierarchical menus -- value CDATA #IMPLIED -- defaults to element content --

]]> <![ %HTML.Mobile; [ <!ATTLIST OPTION %attrs; -- %coreattrs, %i18n -- selected (selected) #IMPLIED label %Text; #IMPLIED -- for use in hierarchical menus -- value CDATA #IMPLIED -- defaults to element content --

]]>

<![ %HTML.Strict; [ <!ATTLIST TEXTAREA %attrs; -- %coreattrs, %i18n, %events -- name CDATA #IMPLIED rows NUMBER #REQUIRED cols NUMBER #REQUIRED disabled (disabled) #IMPLIED -- unavailable in this context -- readonly (readonly) #IMPLIED tabindex NUMBER #IMPLIED -- position in tabbing order -- accesskey %Character; #IMPLIED -- accessibility key character -- onfocus %Script; #IMPLIED -- the element got the focus -- onblur %Script; #IMPLIED -- the element lost the focus -- onselect %Script; #IMPLIED -- some text was selected -- onchange %Script; #IMPLIED -- the element value was changed -- %reserved; -- reserved for possible future use --

]]> <![ %HTML.Mobile; [ <!ATTLIST TEXTAREA %attrs; -- %coreattrs, %i18n -- name CDATA #IMPLIED rows NUMBER #REQUIRED cols NUMBER #REQUIRED tabindex NUMBER #IMPLIED -- position in tabbing order -- accesskey %Character; #IMPLIED -- accessibility key character --

]]>

<![ %HTML.Strict; [ <!ATTLIST FIELDSET %attrs; -- %coreattrs, %i18n, %events --

]]>

<![ %HTML.Mobile; [ <!ATTLIST FIELDSET %attrs; -- %coreattrs, %i18n --

]]>

<![ %HTML.Strict; [

]]>

<![ %HTML.Mobile; [

]]>

<![ %HTML.Strict; [ <!ATTLIST BUTTON %attrs; -- %coreattrs, %i18n, %events -- name CDATA #IMPLIED value CDATA #IMPLIED -- sent to server when submitted -- type (button|submit|reset) submit -- for use as form button -- disabled (disabled) #IMPLIED -- unavailable in this context -- tabindex NUMBER #IMPLIED -- position in tabbing order -- accesskey %Character; #IMPLIED -- accessibility key character -- onfocus %Script; #IMPLIED -- the element got the focus -- onblur %Script; #IMPLIED -- the element lost the focus -- %reserved; -- reserved for possible future use --

]]>

<![ %HTML.Mobile; [ <!ATTLIST BUTTON %attrs; -- %coreattrs, %i18n -- name CDATA #IMPLIED value CDATA #IMPLIED -- sent to server when submitted -- type (submit|reset) submit -- for use as form button -- tabindex NUMBER #IMPLIED -- position in tabbing order -- accesskey %Character; #IMPLIED -- accessibility key character --

]]>

<![ %HTML.Strict; [

]]>

<![ %HTML.Strict; [ ]]>

<![ %HTML.Strict; [ ]]>

<![ %HTML.Mobile; [ ]]> <!ATTLIST HEAD %i18n; -- lang, dir -- profile %URI; #IMPLIED -- named dictionary of meta info --

<![ %HTML.Strict; [ <!ATTLIST BASE href %URI; #REQUIRED -- URI that acts as base URI --

]]>

<![ %HTML.Strict; [ <!ATTLIST SCRIPT charset %Charset; #IMPLIED -- char encoding of linked resource -- type %ContentType; #REQUIRED -- content type of script language -- src %URI; #IMPLIED -- URI for an external script -- defer (defer) #IMPLIED -- UA may defer execution of script -- event CDATA #IMPLIED -- reserved for possible future use -- for %URI; #IMPLIED -- reserved for possible future use --

]]>

<![ %HTML.Strict; [ ]]>

<![ %HTML.Mobile; [ ]]> <!ATTLIST HTML %i18n; -- lang, dir --