W3C

Mobile Web Best Practices 1.0

Basic Guidelines W3C Working Draft 12 April 13 January 2006

This version:
http://www.w3.org/TR/2006/WD-mobile-bp-20060412/ http://www.w3.org/TR/2006/WD-mobile-bp-20060113/
Latest version:
http://www.w3.org/TR/mobile-bp/
Previous version:
http://www.w3.org/TR/2006/WD-mobile-bp-20060113/ http://www.w3.org/TR/2005/WD-mobile-bp-20051220/
Editors:
Jo Rabin, mTLD Mobile Top Level Domain (.mobi)
Charles McCathieNevile, Opera Software [Early Drafts]

Abstract

This document specifies Best Practices best practices for delivering Web content to when accessed from mobile devices.

The principal objective primary goal is to improve the user experience of the Web when accessed from such devices.

The recommendations refer to delivered content and not to the processes by which it It is created, nor to directed at all participants in the devices or user agents to which it is delivered. mobile value chain .

It is primarily directed at creators, maintainers and operators of Web sites. Readers of this document are expected to be familiar with the creation of Web sites, and to have a general familiarity with the technologies involved, such as Web web servers and HTTP. Readers are not expected to have a background in mobile-specific technologies.

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document describes the best practices for content to work well on mobile devices. A companion scope document [Scope] describes the scope of this work.

This is the second Last Call Working Draft for the Mobile Web Best Practices, following the two previous Last Call public working draft published in January (see the changes since the previous publication ). drafts. The Mobile Web Best Practices Working Group seeks feedback from the first Last Call commenters on the disposition of their explicitly requests comments , as well as general feedback on the changes brought to the document since the previous version. this document. The deadline for Last Call comments is set to 3 May 17 February 2006.

Please send comments on this document to the working group's public email list public-bpwg-comments@w3.org , a publicly archived mailing list .

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document has been produced by the Mobile Web Best Practices Working Group as part of the Mobile Web Initiative .

This document was produced under the 5 February 2004 W3C Patent Policy. Although the Working Group expects this document to become a W3C Recomendation, it is informative only. The Working Group maintains a public list of patent disclosures made in connection with this document; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) with respect to this specification must disclose the information in accordance with section 6 of the W3C Patent Policy .

Table of Contents

1 Introduction
    1.1 Purpose of the Document
    1.2 How the Best Practices are Organized Audience
    1.3 Audience         1.2.1 Participants in the Mobile Value Chain
    1.4     1.3 Scope
        1.4.1         1.3.1 Phasing
        1.3.2 Usability
        1.3.3 One Web
    1.4 Default Delivery Context
    1.5 Relationship to other Best Practices best practices and recommendations
    1.6 Longevity and Versioning How the Best Practices are Organized
2 Requirements
    2.1 Presentation Issues
    2.2 Input
    2.3 Bandwidth and Cost
    2.4 User Goals
    2.5 Advertising
    2.6 Device Limitations
    2.7 Advantages
3 Delivery Context Model Architecture
    3.1 One Web     3.2 Background to Adaptation     3.3 Adaptation Implementation Model
    3.4     3.2 Assumptions about Adaptation
    3.5 Establishing Context     3.6 Choice 4 Overview of User Experience Best Practices
    3.7 Default Delivery Context     4.1 How the Best Practice Statements are Organized
4     4.2 Structure of Best Practice Statements
5 Best Practice Statements
    5.1 Overall Behavior
        5.1.1 Thematic Consistency Establish the Context of Resource Identified by a URI the Device
        5.1.2 Exploit Client Capabilities
        5.1.3 Work around Deficient Implementations deficient implementations
        5.1.4 Testing
    5.2 Navigation and Links
        5.2.1 URIs of Site Entry Points
        5.2.2 Navigation Bar
        5.2.3 Balanced Structure
        5.2.4 Thematic Consistency of Resource Identified by a URI
        5.2.5 Navigation Mechanisms
        5.2.5         5.2.6 Access Keys
        5.2.6         5.2.7 Link Target Identification
        5.2.7         5.2.8 Image Maps
        5.2.8         5.2.9 Refreshing, Redirection and Spawned Windows
        5.2.9 Externally Linked Resources     5.3 Page Layout and Content and Layout
        5.3.1 Page Content
        5.3.2 Page Size
        5.3.3 Scrolling
        5.3.4 Navigation Bars etc. (Extraneous material)
        5.3.5 Graphics
        5.3.6 Color
        5.3.7 Background Images
    5.4 Page Definition
        5.4.1 Title
        5.4.2 Frames
        5.4.3 Structural Elements
        5.4.4 Tables
        5.4.5 Non-Text Non Text Items
        5.4.6 Image Size
        5.4.7 Valid Markup
        5.4.8 Measures
        5.4.9 Style Sheets
        5.4.10 Minimize
        5.4.11 Content Types
        5.4.12 Character Encoding
        5.4.13 Error Messages
        5.4.14 Cookies
        5.4.15 Cache Headers
        5.4.16 Fonts     5.5 User Input
        5.5.1 Input
        5.5.2 Tab Order
        5.5.3 Labels
6 Conformance and mobileOK
    6.1 Classes of Products
    6.2 Extensibility

Appendices

A Sources (Non-Normative)
B Acknowledgements (Non-Normative)
C References (Non-Normative)
    C.1 MWI References     C.2 Sources     C.3 Device Independence     C.4 Web, Protocols and Languages     C.5 Other References List of Best Practices The following Best Practices are discussed in this document and listed here for convenience. There is also a free-standing summary . [ THEMATIC_CONSISTENCY ] Ensure that content provided by accessing a URI yields a thematically coherent experience when accessed from different devices. [ CAPABILITIES ] Exploit device capabilities. Do not take a least common denominator approach. [ DEFICIENCIES ] Take reasonable steps to work around deficient implementations. [ TESTING ] Carry out testing on actual devices as well as emulators. [ URIS ] Keep the URIs of site entry points short. [ NAVBAR ] Provide only minimal navigation at the top of the page. [ BALANCE ] Take into account the trade-off between having too many links on a page and asking the user to follow too many links to reach what they are looking for. [ NAVIGATION ] Provide consistent navigation mechanisms. [ ACCESS_KEYS ] Assign access keys to links in navigational menus and frequently accessed functionality. [ LINK_TARGET_ID ] Clearly identify the target of each link. [ LINK_TARGET_FORMAT ] Note the target file's format unless you know the device supports it. [ IMAGE_MAPS ] Do not use image maps unless you know the target client supports them effectively. [ POP_UPS ] Do not cause pop-ups or other windows to appear and do not change the current window without informing the user. [ AUTO_REFRESH ] Do not create periodically auto-refreshing pages, unless you have informed the user and provided a means of stopping it. [ REDIRECTION ] Do not use markup to redirect pages automatically. Instead, configure the server to perform redirects by means of HTTP 3xx codes. [ EXTERNAL_RESOURCES ] Keep the number of externally linked resources to a minimum. [ SUITABLE ] Ensure that content is suitable for use in a mobile context. [ CLARITY ] Use clear and simple language. [ LIMITED ] Limit content to what the user has requested. [ PAGE_SIZE_USABLE ] Divide pages into usable but limited size portions. [ PAGE_SIZE_LIMIT ] Ensure that the overall size of page is appropriate to the memory limitations of the device. [ SCROLLING ] Limit scrolling to one direction, unless secondary scrolling cannot be avoided. [ CENTRAL_MEANING ] Ensure that material that is central to the meaning of the page precedes material that is not. [ GRAPHICS_FOR_SPACING ] Do not use graphics for spacing. [ LARGE_GRAPHICS ] Do not use images that cannot be rendered by the device. Avoid large or high resolution images except where critical information would otherwise be lost. [ USE_OF_COLOR ] Ensure that information conveyed with color is also available without color. [ COLOR_CONTRAST ] Ensure that foreground and background color combinations provide sufficient contrast. [ BACKGROUND_IMAGE_READABILITY ] When using background images make sure that content remains readable on the device. [ PAGE_TITLE ] Provide a short but descriptive page title. [ NO_FRAMES ] Do not use frames. [ STRUCTURE ] Use features of the markup language to indicate logical document structure. [ TABLES_SUPPORT ] Do not use tables unless the client is known to support them. [ TABLES_NESTED ] Do not use nested tables. [ TABLES_LAYOUT ] Do not use tables for layout. [ TABLES_ALTERNATIVES ] Where possible, use an alternative to tabular presentation. [ NON-TEXT_ALTERNATIVES ] Provide a text equivalent for every non-text element. [ OBJECTS_OR_SCRIPT ] Do not rely on embedded objects or script. [ IMAGES_SPECIFY_SIZE ] Specify the size of images in markup, if they have an intrinsic size. [ IMAGES_RESIZING ] Resize images at the server, if they have an intrinsic size. [ VALID_MARKUP ] Create documents that validate to published formal grammars. [ MEASURES ] Do not use pixel measures and do not use absolute units in markup language attribute values and style sheet property values. [ STYLE_SHEETS_USE ] Use style sheets to control layout and presentation, unless the device is known not to support them. [ STYLE_SHEETS_SUPPORT ] Organize documents so that they may be read without style sheets. [ STYLE_SHEETS_SIZE ] Keep style sheets small. [ MINIMIZE ] Use terse, efficient markup. [ CONTENT_FORMAT_SUPPORT ] Send content in a format that is known to be supported by the device. [ CONTENT_FORMAT_PREFERRED ] Where possible, send content in a preferred format. [ CHARACTER_ENCODING_SUPPORT ] Ensure that content is encoded using a character encoding that is known to be supported by the target device. [ CHARACTER_ENCODING_USE ] Indicate in the response the character encoding being used. [ ERROR_MESSAGES ] Provide informative error messages and a means of navigating away from an error message back to useful information. [ COOKIES ] Do not rely on cookies being available. [ CACHING ] Provide caching information in HTTP responses. [ FONTS ] Do not rely on support of font related styling. [ MINIMIZE_KEYSTROKES ] Keep the number of keystrokes to a minimum. [ AVOID_FREE_TEXT ] Avoid free text entry where possible. [ PROVIDE_DEFAULTS ] Provide pre-selected default values where possible. [ DEFAULT_INPUT_MODE ] Specify a default text entry mode, language and/or input format, if the target device is known to support it. [ TAB_ORDER ] Create a logical order through links, form controls and objects.

[ CONTROL_LABELLING ] Label all controls appropriately and explicitly associate labels with controls. [ CONTROL_POSITION ] Position labels so they lay out properly in relation to the controls they refer to.

1 Introduction

1.2 How the Best Practices are Organized The document is organized as follows: Introduction. Describes the audience, purpose and scope of the document. Requirements. An illustration of the type of problems that the Best Practices are intended to ameliorate. Delivery Context. Discusses the environment within which mobile access to the Web is realized, with particular reference to adaptation. Overview of Best Practices. A discussion of the organization of the Best Practices, and sources from which they were derived. Best Practices. The statements themselves. Conformance and mobileOK. A brief conformance statement and reference to the mobileOK documentation. Appendices Acknowledgements References 1.3 Audience

Readers of this document are expected to be familiar with the creation of Web sites, and to have a general familiarity with the technologies involved, such as Web web servers and HTTP. Readers are not expected to have a background in mobile-specific technologies.

Our intention is to make it clear to all involved what the Best Practices best practices are, and hence establish a common basis of understanding. As a result of wishing to be clear to those not already involved in the development of mobile friendly content, some of our statements may appear to be obvious or trivial to those with experience in this area.

The document is not targeted solely at developers; others, developers and others such as interaction and graphic designers are encouraged to read it.

1.4 1.3 Scope

The scope of these Best Practices is laid out in "Scope of Mobile Web Best Practices" [Scope] . In summary, summary this document refers primarily to the extension of Web web browsing onto mobile devices.

The Best Practice recommendations refer to delivered content. While they are clearly relevant to the processes of content creation and rendering on devices, they are not intended to be Best Practices for those activities. As the goal of the document is to specify Best Practices for delivery to mobile devices, statements that do not have a specific mobile aspect are not included. In particular, particular many Web Content Accessibility [WCAG] guidelines are general to all forms of Web access and are not repeated here unless they have a specific mobile interpretation.

Examples of general good practice which have a specific mobile interpretation include "Error Messages" 'Error Messages' and "Color". 'Color'.

1.4.1 1.3.1 Phasing

As discussed in the Scope document [Scope] there are many aspects to Mobile Web Best Practices. At present, for For example, at present, the design and construction of many Web sites and pages make for a poor user experience when they are viewed on a mobile device.

The quality While improving those Web sites is only one aspect of improving the user's Web experience via a mobile device depends significantly on user experience, significant improvements can be achieved in this way, hence the usability of Web sites, of browsers, and first phase of the device itself. Although browser usability and device usability are important (for reading, navigating, and interacting work is concerned with content), this document focuses primarily on Best Practices providing guidelines for improving site usability. Web-site and content developers.

In future phases other aspects may be considered - e.g. Best Practices best practices as applied to adaptation and devices. Also in future phases the scope of the recommendations may be extended beyond "Traditional 'Traditional Web Browsing" Browsing' into fields such as multimodal interaction.

1.3.3 One Web

The recommendations in this document are intended to improve mobile experience of the Web on mobile devices. While the recommendations are not specifically addressed at the desktop browsing experience it must be understood that they are made in the context of wishing to work towards 'One Web'.

As discussed in [Scope] One Web means making, as far as is reasonable, the same information and services available to users irrespective of the device they are using. However it does not mean that exactly the same information is available in exactly the same way across all devices. Some services and information are more suitable for and targeted at particular user contexts.

Some services have a primarily mobile appeal (location based services, for example). Some have a primarily mobile appeal but have a complementary desktop aspect (perhaps for complex configuration tasks). Still others have a primarily desktop appeal but a complementary mobile aspect (possibly for alerting). Finally there will remain some Web applications which have a primarily desktop appeal (lengthy reference material, rich images, perhaps).

It is likely that application designers and service providers will wish to provide the best possible experience in the context in which their service has the most appeal. However, while services may be most appropriately experienced in one context or another, it is considered best practice to provide a reasonable experience irrespective of the device, and as far as is possible, not to exclude access from any particular class of device.

From the perspective of this document this means that services should be available as some variant of HTML over HTTP.

1.4 Default Delivery Context

The recommendations refer to delivered content. Given the range of different mobile device types which have different properties and different features the Best Practices Working Group has defined a Default Delivery Context .

Delivery Context is used with the specific meaning defined in the Device Independence Glossary [DIGLOSS] .

The document makes reference to the Default Delivery Context in two ways:

  1. If the delivered content does not result from an adaptation process - e.g. the content is statically defined as HTML stored in files - then the delivered content should be suitable for the Default Delivery Context and should comply with the Best Practice Statements.

  2. If an adaptation process is used, then information that is known about the Delivery Context can be used to vary the delivered content to make it more suitable for that Delivery Context or to provide an enhanced user experience.

The default delivery context is defined as follows:

Usable Screen Width

120 Pixels.

Mark Up Language Support

XHTML - Basic Profile.

Character Encoding

UTF-8.

Image Format Support

JPEG

GIF 89a (non-interlaced, non-transparent, non-animated).

Maximum Total Page Weight

20k Bytes.

Colors

Web safe.

Style Sheet Support

External CSS Level 1, with internal definition of style and font properties.

1.5 Relationship to other Best Practices best practices and recommendations

These recommendations are in part derived from the Web Content Accessibility Guidelines [WCAG] . As noted above, WCAG guidelines are supplementary to the Mobile Web Best Practices, whose scope is limited to matters that have a specific mobile relevance.

This document builds on some of the concepts described by the Device Independence Working Group (DIWG) in the Device Independence Principles [DIP] . The document also discusses the notion of device and delivery channel characteristics, which the DIWG has named described in terms of a "Delivery Context" [DCODI] . In addition, the document uses some terminology from DIWG's Glossary of Terms for Device Independence [DIGLOSS] .

The BPWG will develop a companion document describing techniques [Techniques] by which the Best Practice best practice statements in this document can be implemented.

2 Requirements

This section discusses the requirements of the Mobile Web Best Practice statements in section 5. The statement of requirements is intended to be illustrative rather than exhaustive or complete.

2.6 Device Limitations

As noted above, the restrictions imposed by the keyboard and the screen typically require a different approach to page design than that used for desktop devices. As detailed in the Scope document [Scope] , various other limitations may apply to mobile devices, and these have an impact on the usability of the Web from a mobile device.

Mobile browsers often do not support scripting or plug-ins, which means that the range of content that they support is limited. In many cases the user has no choice of option as to which browser to use, and upgrading it in many cases upgrade of the browser is not possible.

Some activities associated with rendering Web web pages are computationally intensive - for example re-flowing pages, laying out tables, processing unnecessarily long and complex style sheets and handling invalid markup mark up [T-MOB] . Mobile devices There is typically have quite limited processing power available to carry out such computations, which means that page rendering may mean they take a noticeable time to complete. As well as introducing a noticeable delay, such processing uses Such computations also use more power as does communication with and deplete the server. battery. Reducing the amount of communication can conserve charge.

Many devices have limited memory available for pages and images, and exceeding their memory limitations results in incomplete display and can cause other problems.

2.7 Advantages

In discussing the limitations of mobile devices for delivery of Web content it is easy to lose sight of the fact that they are extremely popular and very common.

This popularity largely stems at present from them their being:

  • personal personal,

  • personalizable

  • portable

  • connected
and increasingly multi-functional multi-function beyond their original purpose of voice

communications.

In addition to Beyond these factors, the advantages of mobile devices will increasingly include:

  • location awareness

  • one-handed implicit user identification

  • one handed operation

  • always on

  • universal alerting device

By way of As an illustration of some of these factors: First, unlike the fixed Web, the mobile Web can will go where you go. You do not No longer will you have to remember to do something on the Web when you get back to your computer. You can do it immediately, within the context that made you want to use the Web in the first place.

Moreover, with mobile devices appearing in all shapes and forms, and with a growing variety of features like location technology, cameras, voice recognition, touch screens etc, the Web can reach a much wider audience, and at all times in all situations. It has the opportunity to reach into places where wires cannot go, to places previously unthinkable (e.g. providing medical info to mountain rescue scenes) and to accompany everyone as easily as they carry the time on in their wristwatches.

Finally, today, many more people have access to mobile devices than access to a desktop computer. This is likely to be very significant in developing countries, where Web-capable web-capable mobile devices may play as similar a similar role in for deploying wide-spread Web access as the mobile phone has played for providing "plain old telephone service".

3 Delivery Context Model Architecture

Delivery Context is used with the specific meaning defined in the Device Independence Glossary [DIGLOSS] . 3.1 One Web The recommendations in this document are intended to improve the experience of the Web on mobile devices. While the recommendations are not specifically addressed at the desktop browsing experience, it must be understood that they are made in the context of wishing to work towards "One Web". As discussed in the Scope document [Scope] , One Web means making, as far as is reasonable, the same information and services available to users irrespective of the device they are using. However, it does not mean that exactly the same information is available in exactly the same representation across all devices. The context of mobile use, device capability variations, bandwidth issues and mobile network capabilities all affect the representation. Furthermore, some services and information are more suitable for and targeted at particular user contexts (see 5.1.1 Thematic Consistency of Resource Identified by a URI ). Some services have a primarily mobile appeal (location based services, for example). Some have a primarily mobile appeal but have a complementary desktop aspect (for instance for complex configuration tasks). Still others have a primarily desktop appeal but a complementary mobile aspect (possibly for alerting). Finally there will remain some Web applications that have a primarily desktop appeal (lengthy reference material, rich images, for example). It is likely that application designers and service providers will wish to provide the best possible experience in the context in which their service has the most appeal. However, while services may be most appropriately experienced in one context or another, it is considered best practice to provide as reasonable experience as is possible given device limitations and not to exclude access from any particular class of device, except where this is necessary because of device limitations. From the perspective of this document this means that services should be available as some variant of HTML over HTTP (see 3.7 Default Delivery Context ). 3.2 Background to Adaptation The widely varying characteristics of mobile devices can make it difficult for a Web site to provide an acceptable user experience across a significant range of devices. clients. For example different devices clients support different markup features features, and the different screen sizes may demand different sized images.

Consequently, it is very common when delivering content to mobile devices clients to vary the details of the markup, format of images, image sizes, color depths and so on to suit the characteristics of the device client in question. The process of altering content in this way to enhance the user experience on particular devices is referred to as Content Adaptation content adaptation .

We do not describe The remainder of this section briefly describes content adaptation in detail in order to provide a background for this document. For a more detailed description, readers are referred to the Device Independence Principles [DIP] .

In addition, the sister group of the Best Practices Working Group, group - the Device Descriptions Working Group , Group, is currently defining requirements for a repository of mobile device client characteristics that are relevant to content adaptation.

3.3 3.1 Adaptation Implementation Model

There are is quite a number wide spectrum of different implementation models for content adaptation. On the one hand, hand adaptation may be quite simple simple, and consist of determining the device type and choosing the most appropriate set of previously prepared content to match the device characteristics. At the other extreme it may be carried out in a completely dynamic way, with content formatted at the time of retrieval, taking into account not only statically determined properties, such as screen dimension, but also dynamically determined properties, such as the temporary attachment of a fully featured keyboard.

Adaptation can be carried out in a number of different points in the delivery of content to the device client [DCODI] :

Server Side adaptation implies that the content is delivered by the originating content server or application.

In-Network In Network adaptation is where the content is altered as it passes through one or more network components. Some network operators, for example, compress images before they are passed over the air to the mobile device. client.

Client Side adaptation consists of the device client accepting content and displaying it in an appropriate way for its characteristics. Whatever the adaptation model at work, appropriately to the process of adaptation should not diminish accessibility. device's characteristics.

3.4 3.2 Assumptions about Adaptation

In phase 1 (See 1.4.1 Phasing ) it is assumed that content adaptation, if any, is carried out Server Side. Future phases may consider the implications of content adaptation elsewhere, especially the issues concerning the around granting of authority to third parties to carry out adaptation, prohibiting adaptation and so on. Later phases may also address the issues around the possibility of multiple adaptation adaptations - i.e. the possibility that adaptation can be applied at in more than one point place, and that In-Network In Network adaptation may occur more than once.

It is also assumed that it is possible to create a site that is consistent with the Best Practice recommendations best practice recommendations, without carrying out adaptation at all. However it is likely that a more sophisticated and enhanced user experience will be achieved if adaptation is used.

3.5 Establishing Context Providing variations on the user experience that are appropriate in different cases requires the content provider to know a significant amount about the characteristics of the device, the properties of the browser in use and the transparency of the network connection to the device. For simple sites that present an interface which is similar across a broad range of contexts the need for such information is diminished when compared with a sophisticated site that has an optimized navigation structure, presents different size images or carries out other adaptations to suit the particular delivery context. There are several methods by which a content provider can discover information about the delivery context, such as CC/PP, UAPROF, CSS Media Queries and various outputs of the Device Independence Working Group . The companion Techniques [Techniques] document describes these methods. 3.6 Choice of User Experience

In the interests of "One Web" (see 3.1 One Web ) considerations, the content provider may choose to allow the user to select from broad categories such as mobile or desktop presentation, where these are distinguished in the application. If the presentation option has been determined automatically, the content provider may choose to allow the user order to override determine the automatic determination. Where a choice of presentations is available, appropriate adaptation it is good practice necessary to record determine the user's preferences and to allow them to be changed. Given an appropriate server environment, it is unlikely device that is accessing the content provider will be unable service. Sometimes it is not possible to find out anything about determine the delivery context. However this can happen, device type, either because details of the delivery context are device does not available present this information to the server at all, or in sufficient detail detail, or because the server does not provide the ability to inspect and act on the information provided. In this case a "reasonable default experience" should be provided. The details of the default experience depend upon a number of factors including, but not limited to, the geographic region in which the service is offered and the primary intention of the service (e.g. considering whether the service is primarily desktop focused vs. primarily mobile focused).

In order to allow content providers to share a consistent view of a default mobile experience the BPWG has defined the Default Delivery Context (see 3.7 Default Delivery Context ). This allows providers to create appropriate experiences in the absence of adaptation and provides a baseline experience where adaptation is used. The Default Delivery Context has been determined by the BPWG as being the minimum delivery context specification necessary for a reasonable experience of these cases the Web. It is recognized that devices that do not meet this specification can provide a reasonable experience of other non-Web services. It is also recognized that this specification content provider is made against the background of demographic, cultural and economic assumptions. Content providers may choose to provide services that demand a different or lower delivery context specification, but should try expected to provide an experience that exploits the capabilities of assume the Default Delivery Context default delivery context, as discussed in order to provide the best possible experience for that context. Introduction to this document.

3.7 Default Delivery Context

Since mobile devices have such a wide range 4 Overview of differences in their properties, the Best Practices Working Group has defined a Default Delivery Context .

If the delivered content does not result from an adaptation process - e.g. the content is statically defined as HTML stored in files, or the details of the Delivery Context cannot adequately be determined, then the delivered content should be suitable for the Default Delivery Context and should comply with

4 4.2 Structure of Best Practice Statements

The Heading

The functional area that is addressed by the statements.

The Statements

One or more Best Practice best practice statements, identified in the following way:

[EXAMPLE] This is a Best Practice best practice statement.

These statements can be identified by using URI reference composed of the URI of this document together with the statement identifier used as a fragment identifier (e.g. #EXAMPLE).

What it means

An explanation of the significance of the statements under this heading.

How to do it

A discussion of techniques and some suggestions as to how to implement. The BPWG is creating intends to create a separate document describing techniques [Techniques] in more detail.

What to Test

The aspects of the delivered content that an external validator could examine to assess conformance with the Best Practice statements. Statements. This section is not present for process related statements.

In this section it is noted whether the statement is is:

Machine Testable (Automated testable

Automated testing is possible) or possible.

Human Testable (Testing testable

Testing requires human assessment). Some Best Practices are partially assessment.

Partially machine testable, i.e. based testable

Based on the result of an automated test, test some human interaction may be required. In such cases both a Machine Testable and a Human Testable statement are present.

Some Best Practice statements use words such as "minimize" and "avoid" which are intentionally non-prescriptive. This is in order to provide guidance while leaving room to accommodate a wide variety of applications whose requirements cannot be anticipated. It also allows creativity and diversity within the same Best Practice framework. More prescriptive advice can be found in the Techniques document [Techniques] .

References

Where appropriate, references to related WCAG points and other immediate references from in the preceding text.

5 Best Practice Statements

The Best Practice statements are grouped under the following headings 5.1 Overall Behavior 5.2 Navigation and Links 5.3 Page Layout and Content 5.4 Page Definition 5.5 User Input

5.1 Overall Behavior

There are some general principles that underlie delivery to mobile devices.

5.1.1 Thematic Consistency Establish the Context of Resource Identified by a URI the Device

[THEMATIC_CONSISTENCY] Ensure

[CONTEXT] Take all reasonable steps to find out about the device/browser (client) capabilities, adaptation and other transformation that content provided by accessing a URI yields takes place for any instance of an access to a thematically coherent experience when accessed from different devices. resource.

5.1.1.1 What it means

This is a realization Many of the One Web (see 3.1 One Web ) principle, whereby best practice statements refer to the content should be accessible on provider knowing a range significant amount about the characteristics of devices irrespective the device, the properties of differences the browser in presentation capabilities use and access mechanism. Web sites may paginate their content in various ways corresponding to differences in device characteristics; therefore the navigation structure transparency of the site, and possibly its technical realization, may vary according network connection to the device class device. For simple sites that present an interface which is being served. (See also [WebArch] Section 3.5.1 ). similar across a broad range of clients the need for such information is diminished when compared with a sophisticated site which has an optimized navigation structure, presents different size images or carries out other adaptations to suit the client.

A bookmark captured on one device It is unlikely that the content provider, "having taken all reasonable steps", will know nothing at all about the context of the device. However if absolutely nothing is known "a reasonable default experience" should be usable on another, different type provided. The details of device even if it does the default experience depend upon a number of factors including, but not yield exactly limited to, the same experience. If geographic region in which the page that was bookmarked service is not appropriate for offered and the device that is now using it, an alternative that primary intention of the service (e.g. considering whether the service is suitable primarily desktop focused vs. primarily mobile focused).

Where the determination of the default experience has resulted in selection of a mobile experience, the default delivery context should be provided. assumed in creating that presentation.

URIs The content provider may be decorated choose, in the interests of "One Web" considerations, to provide session or other information. If a URI is decorated with session information that is no longer current, then allow the user should be directed to a point in select the navigation hierarchy that is appropriate to their device, experience from broad categories such as mobile or desktop, where these presentations are distinguished in order the application.

5.1.3 Work around Deficient Implementations deficient implementations

[DEFICIENCIES] Take reasonable steps to work around deficient implementations.

5.2 Navigation and Links

Because of the limitations in display and of input mechanisms, the possible absence of a pointing device and other constraints of mobile devices, clients, care should be exercised in defining the structure and the navigation model of a Web web site.

5.2.4 Thematic Consistency of Resource Identified by a URI

[THEMATIC_CONSISTENCY] Ensure that frequently links provide a thematically coherent experience when accessed information from a device other than the one on which they were captured.

5.2.6 5.2.7 Link Target Identification

5.2.7 5.2.8 Image Maps

[IMAGE_MAPS] Do not use image maps unless you know the target client supports them effectively. and has sufficient screen area and an appropriate means of selection, such as a stylus or navigation keys. When using image maps under these circumstances, use client side image maps unless the regions required cannot be described with an available geometric shape.

[SERVER_SIDE_IMAGE_MAPS] Do not use a server side image map unless you know that the client provides a means of selection within the image map.

5.2.8 5.2.9 Refreshing, Redirection and Spawned Windows

[POP_UPS] Do not cause pop-ups or other windows to appear and do not change the current window without informing the user.

[AUTO_REFRESH] Do not create periodically auto-refreshing pages, unless you have informed the user and provided a means of stopping it.

[REDIRECTION] Do not use markup to redirect pages automatically. Instead, configure the server to perform redirects by means of HTTP 3xx codes.

5.3 Page Layout and Content and Layout

This section refers to the user's perception of the delivered content. It concentrates on design, the language used in its text and the spatial relationship between constituent components. It does not address the technical aspects of how the delivered content is constructed, which is discussed in 5.4 Page Definition .

5.3.1 Page Content

[SUITABLE] Ensure that content is suitable for use in a mobile context.

[CLARITY] Use clear and simple language.

[LIMITED] Limit content to what the user has requested.

5.3.2 Page Size

[PAGE_SIZE_USABLE] Divide pages into usable but limited size portions.

[PAGE_SIZE_LIMIT] Ensure that the overall size of page is appropriate to bandwidth, the memory limitations of the device. device and other device and delivery channel characteristics if they can be determined.

5.3.3 Scrolling

[SCROLLING] Limit scrolling to one direction, unless secondary scrolling cannot be avoided.

[SCROLLING_LIMIT] Limit secondary scrolling to objects that require it, where it cannot be avoided.

5.3.4 Navigation Bars etc. (Extraneous material)

[CENTRAL_MEANING] Ensure that material that is central to the meaning of the page precedes material that is not.

5.4 Page Definition

5.4.5 Non-Text Non Text Items

[NON-TEXT_ALTERNATIVES] Provide a text equivalent textual alternatives for every non-text element. elements.

[OBJECTS_OR_SCRIPT] Do not rely on embedded embed objects or script. script in pages unless you know the device supports them.

5.4.9 Style Sheets

[STYLE_SHEETS_USE] Use style sheets to control layout and presentation, unless the device is known not to support them.

[STYLE_SHEETS_SUPPORT] Organize documents so that they may be read without style sheets.

[STYLE_SHEETS_SIZE] Keep style sheets small. as small as possible.

5.4.10 Minimize

[MINIMIZE] Use terse, terse efficient markup.

5.4.11 Content Types

[CONTENT_FORMAT_SUPPORT] Send content in a format that is known to be supported by the device.

[CONTENT_FORMAT_PREFERRED] Where possible, possible send content in a client's preferred format.

5.4.12 Character Encoding

[CHARACTER_ENCODING_SUPPORT] Ensure that content is encoded using a character encoding that is known to be supported by the target device.

[CHARACTER_ENCODING_USE] Indicate in the response the character encoding being used.

5.4.12.2 How to do it

The supported character encodings for a device may be obtained either from a device profile or by examining the value of the HTTP Accept-Charset header. header sent with a request (see also the section above on determining device characteristics).

The character encoding being used in a response may be indicated using the HTTP Content-Type header.

Example:
Content-Type:
text/html;
charset=utf-8

Additionally for XML [XML] documents the character encoding may be indicated in the encoding declaration, declaration [XMLENC] although this will generally be ignored if an HTTP Content-Type header is present.

Example:
<?xml
version="1.0"
encoding="UTF-8"?>

Encoding of the content to a desired character encoding is dependent on the authoring tools being used, Web web server configuration and the server side scripting technology being used (if any). For a discussion of this see [CHARSET1] [HTTP_CHARSET] and [CHARSET2] . The amount of bandwidth required to transmit content can vary significantly depending on the character encoding used. Text consisting principally of characters from the Latin alphabet will encode more efficiently in UTF-8, whereas text consisting principally of characters from ideographic scripts will encode more efficiently in UTF-16. When choosing a character encoding, consider the efficiency of the available encodings. All applications should support UTF-8.

5.4.13 Error Messages

[ERROR_MESSAGES] Provide informative error messages messages, and a means of navigating away from an error message back to useful information.

5.4.13.2 How to do it

It is noted that many Web web servers provide a default error page, page especially in the event of a request for a non-existent page (404) or an internal error (500). Where possible (see [TOMCAT] , [APACHE] and [IIS] ), applications should trap all error conditions by overriding the default pages if necessary, and handle them in a user-friendly, and graceful, way.

Error messages should be provided in the same language as the application that was being used. They should be clear and concise, adhering to the same Best Practices best practices as the rest of the application. They should be provided in a format that the device can handle.

The error message should detail whether the issue is likely to be temporary or permanent, whether the user may be able to solve the issue themselves (for example, by changing input data data, or a handset setting), or whether it is an issue that can be escalated to the content provider or network operator. In the latter case, contact details, such as an SMS address or a support line number, might be appropriate.

The error message should provide one or more of the following navigational constructs:

  1. A "back" link to return to the previous page (particularly for devices that do not have an easy to find back button);

  2. A "retry" link to attempt the relevant part of the transaction again (note that this may not be equivalent to a page "refresh");

  3. A "home" link to allow the user to return to the main part of the application.

The error message can provide an error code to be used for diagnosis of the issue. However, the use of an error code is not a substitute for a human-readable message. While some users may understand "404" to mean "page cannot be found", this must not be assumed to be true for all users.

5.4.15 Cache Headers

[CACHING] Provide Attach caching information in HTTP responses. to the content.

5.4.15.4 References Section 13 Caching in HTTP of [HTTP1.1] discusses caching. 5.4.16 Fonts [FONTS] Do not rely on support of font related styling. 5.4.16.1 What it means Mobile devices often have few fonts and limited support for font sizes and effects (bold, italic etc.) As a result of this, the use of font size, face or effect, for example to highlight an answer or a stressed word, may not achieve the desired effect. See also 5.4.3 Structural Elements . 5.4.16.2 How to do it For the Default Delivery Context do not use font related styling. 5.4.16.3 What to test Machine Test: Check for the presence of font related styling in an environment that does not support it. Human Test: If present, ensure that the author's intentions remain clear.

5.5 User Input

This section contains statements relating to user input. This User input is typically more restrictive on mobile devices than on desktop computers (and often or a lot more restrictive). For example, mobile devices restrictive on Mobile devices, which may lack pointing devices and often usually do not have a standard keyboard for text entry. with which to enter text.

5.5.1 Input

[MINIMIZE_KEYSTROKES] Keep the number of keystrokes to a minimum.

[AVOID_FREE_TEXT] Avoid free text entry where possible.

[PROVIDE_DEFAULTS] Provide pre-selected default values where possible.

[DEFAULT_INPUT_MODE] Specify a default text entry mode, language and/or input format, if the target device is known to support it.

6 Conformance and mobileOK

The Best Practice statements Statements are intended to be capable of having conformance statements constructed around them them, in support of the mobileOK trustmark and for other purposes. Work on the mobileOK trustmark will develop specific recommended requirements for a trustmark, which will be based on some profile, or subset, of the Statements in this document.

As such, the mobileOK trustmark will serve as the main conformance claim for the Best Practices best practices document.

All of the Best Practice statements Statements have a fragment identifier to allow formal reference to them and allow the construction of compliance claims that refer to them.

A Sources (Non-Normative)

The Best Practice best practice statements have been assembled by the BPWG from a number of sources. Primary among those are:

While the Best Practice best practice statements have mainly been assembled by secondary research, the sources for that research have in many cases been assembled from primary research. In addition, group members' contributions are to some extent informed by primary research carried out by their company.

B Acknowledgements (Non-Normative)

The editors would like to thank members of the BPWG for contributions of various kinds. The editors would also like to thank contributors to the public list, and contributors of Last Call comments whose comments have been taken into account in the creation of this document.

The editors acknowledge significant written contributions from:

  • Greg Aaron, Afilias Limited
  • Daniel Appelquist, Vodafone ( Mobile Web Best Practices Working Group Chair )
  • Phil Archer, ICRA Rotan Hanrahan, MobileAware
  • Dominique Hazaël-Massieux, W3C/ERCIM ( W3C Team Contact )
  • Philipp Hoschka, W3C/ERCIM ( W3C Team Contact )
  • Richard T. Kennedy, The Boeing Company
  • Rhys Lewis, Volantis Systems Ltd
  • Luca Passani, Openwave Systems Inc.
  • Giles Payne, NTT DoCoMo
  • James Pearce, Argo Interactive Ltd
  • Kai-Dietrich Scheppe, T-Online International AG
  • Andrea Trasatti, W3C Invited Expert
  • Paul Walsh, Segala M Test

C References (Non-Normative)

C.1 MWI References
Scope
Scope "Scope of Mobile Web Best Practices, Practices ", Phil Archer, Ed Mitukiewicz, Editors, W3C Working Group Note, 20 December Draft 1 September 2005 (See http://www.w3.org/TR/mobile-bp-scope/ ) .)
Techniques
Mobile Web Techniques for Best Practices [in development] (See http://www.w3.org/2005/MWI/BPWG/techs/TechniquesIntro ) .)
mobileOK
mobileOK Trustmark [to be published]
C.2 Sources
WCAG
Web "Web Content Accessibility Guidelines 1.0, 1.0", W Chisholm, I. Jacobs, G Vanderheiden, Editors, Vanderheiden eds. W3C Recommendation, Recommendation 5 May 1999. (See http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/ ) iMode iMode (See http://www.iMode.nl/pdf/download/How_to_create_an_i-mode_site_1_3.pdf ) Opera Opera's Making Small Devices Look Great (See http://my.opera.com/community/dev/device/ ) OpenWave Openwave (See http://developer.openwave.com/dvl/support/documentation/guides_and_references/best_practices_in_xhtml_design/index.htm ) Nokia-MP Nokia Guidelines for XHTML-MP on Series 60 (See http://sw.nokia.com/id/4f7b6805-47d7-4914-885c-6ef2b487adf6/Series_60_Platform_Designing_XHTML_MP_Content_v1_4_en.pdf ) Nokia-VR Browsing on Mobile Phones, paper by Virpi Roto, Nokia (See http://www.research.att.com/~rjana/WF12_Paper1.pdf ) LSD Little Spring Design (See http://www.littlespringsdesign.com/design/styleguides.html ) http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505 .)
C.3 Device Independence
DIP
Device Independence Principles, R. Gimson, Editor, W3C Working Group Note, R. Gimson 1 September 2003 (See http://www.w3.org/TR/2003/NOTE-di-princ-20030901/ ) .)
DCODI
Delivery Context Overview for Device Independence, , R. Gimson, R. Lewis, S. Sathish, Editors, W3C Working Group Note, 20 March 2006 R. Gimson and R. Lewis 18 January 2005 (See http://www.w3.org/TR/di-dco/ ) .)
DIGLOSS
Glossary of Terms for Device Independence, R. Lewis, Editor, W3C Working Draft (work in progress), Draft, R Lewis 18 January 2005 (See http://www.w3.org/TR/2005/WD-di-gloss-20050118/ ) http://www.w3.org/TR/2005/WD-di-gloss-20050118 .)
C.4 Web, Protocols and Languages
WebArch HTTP_CHARSET
Architecture of the World Wide Web, Volume One, N. Walsh, I. Jacobs, Editors, W3C Recommendation, 15 December 2004 The HTTP charset parameter, Martin J. Dürst 22 September 1999 (See http://www.w3.org/TR/webarch/ ) http://www.w3.org/International/O-HTTP-charset .)
XML XMLENC
Extensible Markup Language (XML) 1.0 (Third Edition), Edition) W3C Recommendation Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, Sun Microsystems, François Yergeau, Editors, W3C Recommendation, Yergeau 04 February 2004 (See http://www.w3.org/TR/2004/REC-xml-20040204/ ) http://www.w3.org/TR/2004/REC-xml-20040204/#charencoding .)
XHTML-Basic TOMCAT
XHTML™ Basic, Mark Baker, Masayasu Ishikawa, Shinichi Matsui, Peter Stark, Ted Wugofski, Toshihiko Yamakami, Editors, W3C Recommendation, 19 December 2000 Tomcat FAQ How do I get a customized error page? (See http://www.w3.org/TR/xhtml-basic/ ) http://tomcat.apache.org/faq/misc.html#error .)
CSS APACHE
Cascading Style Sheets (CSS1) Level 1 Specification, Håkon Wium Lie, Bert Bos, Editors, W3C Recommendation, 11 Jan 1999 Apache Core Features ErrorDocument directive (See http://www.w3.org/TR/REC-CSS1 ) http://httpd.apache.org/docs/1.3/mod/core.html#errordocument .)
HTTP1.0 IIS
Hypertext Transfer Protocol -- HTTP/1.0 Request for Comments: 1945, T. Berners-Lee, R. Fielding, H. Frystyk, May 1996 IIS Custom HTTP Error Messages (See http://www.w3.org/Protocols/rfc1945/rfc1945 ) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/ee7a8c53-f9bc-4cd4-b954-e32066105cf1.asp .)
HTTP1.1 CDFWG
Hypertext Transfer Protocol -- HTTP/1.1 Request for Comments: 2616, R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, June 1999 CDF WG References (See http://www.w3.org/Protocols/rfc2616/rfc2616.html ) http://www.w3.org/2004/CDF/Group/ .)
UTF-8 T-MOB
UTF-8, a transformation format of ISO 10646 Request T-Mobile International - Position Statement for Comments: 3629, F. Yergeau, November 2003 W3C Mobile Web Initiative Version: 1.0 18 Dec 2004 (See http://www.ietf.org/rfc/rfc3629.txt ) http://www.w3.org/2004/10/MWIWS-papers/W3C_Mobile_Web_Initiative_-_T-Mobile_Position_Statement-final.pdf .)
CHARSET1 iMode
Tutorial: Character sets & encodings in XHTML, HTML and CSS iMode (See http://www.w3.org/International/tutorials/tutorial-char-enc/ ) http://www.iMode.nl/pdf/download/How_to_create_an_i-mode_site_1_3.pdf .)
CHARSET2 Opera
FAQ: Setting encoding in Web authoring applications Opera's Making Small Devices Look Great (See http://www.w3.org/International/questions/qa-setting-encoding-in-applications ) http://my.opera.com/community/dev/device/ .)
C.5 Other References
UAPROF OpenWave
Open Mobile Alliance OMA-TS-UAProf-V2_0-20060206-A User Agent Profile Approved Version 2.0 – 06 Feb 2006 Openwave (See http://www.openmobilealliance.org/release_program/docs/UAProf/V2_0-20060206-A/OMA-TS-UAProf-V2_0-20060206-A.pdf ) http://developer.openwave.com/dvl/support/documentation/guides_and_references/best_practices_in_xhtml_design/index.htm .)
TOMCAT Nokia-MP
Tomcat FAQ How do I get a customized error page? Nokia Guidelines for XHTML-MP on Series 60 (See http://tomcat.apache.org/faq/misc.html#error ) http://sw.nokia.com/id/4f7b6805-47d7-4914-885c-6ef2b487adf6/Series_60_Platform_Designing_XHTML_MP_Content_v1_4_en.pdf .)
APACHE Nokia-VR
Apache Core Features ErrorDocument directive Browsing on Mobile Phones, paper by Virpi Roto, Nokia (See http://httpd.apache.org/docs/1.3/mod/core.html#errordocument ) http://www.research.att.com/~rjana/WF12_Paper1.pdf .)
IIS LSD
IIS Custom HTTP Error Messages Little Spring Design (See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/ee7a8c53-f9bc-4cd4-b954-e32066105cf1.asp ) http://www.littlespringsdesign.com/design/styleguides.html .)
T-MOB Sprint
T-Mobile International - Position Statement for W3C Mobile PCS Web Initiative Version: 1.0 18 Dec 2004 (See http://www.w3.org/2004/10/MWIWS-papers/W3C_Mobile_Web_Initiative_-_T-Mobile_Position_Statement-final.pdf ) Style Guide, Vision Edition, XHTML Mobile Profile, Version 1, August, 2002
MF
Study by Segala M Test on Scrolling vs. Pagination (See http://www.mobilefriendly.org ) .)