W3C

Ian Jacobs comments on "Mobile Web Best Practices 1.0"

Version reviewed
http://www.w3.org/TR/2006/WD-mobile-bp-20060113/
Latest version:
http://www.w3.org/TR/mobile-bp/

Status of this Document

These are comments by Ian Jacobs on the 13 January 2006 draft of this document. Editorial comments are distinguished from substantive comments and observations. I do not include minor editorial comments (e.g., to capitalize the "W" in "Web").

I appreciate the work you have done in producing this document. I hope that you find these comments useful.

Abstract

This document specifies best practices for Web content when accessed from mobile devices.

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

Please start early with the "One Web" message, for example by adding something like this to the end of the preceding sentence: "An important Web design principle (discussed, for example, in section 4.3 of "Architecture of the World Wide Web") is to design content that is flexible enough to enable a valuable user experience for a variety of devices. This document explains how to design for "one Web" while also optimizing for the mobile experience."

It is directed at all participants in the mobile value chain.

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


[Document Status and TOC cut]

1 Introduction

1.1 Purpose of the Document

This document sets out a series of recommendations designed to promote more effective delivery of Web content to mobile devices.

Each recommendation is discussed in context

What does "in context" mean?

and brief explanatory notes are provided. The recommendations are offered to all participants in the mobile value chain and are intended as the basis for assessing conformance to the mobileOK trustmark.

The mobileOK trustmark is described in the Mobile Web Best Practices Working Group Charter and is not developed in this document. mobileOK and techniques for implementing the Best Practice recommendations will be discussed in companion documents.

I suggest merging the previous two paragraphs; I otherwise was unsure about the mobileOK trustmark in the paragraph where it was introduced.

1.2 Audience

Readers of this document are expected to be familiar with creation of Web sites, and have a general familiarity with the technologies involved, such as 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 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 and others such as interaction and graphic designers are encouraged to read it.

1.2.1 Participants in the Mobile Value Chain

Participants in the mobile value chain include:

Web Site Developers

Original content developers together with portal operators and other aggregators of content who deliver non-original content to mobile and other users.

Mobile Network Operators

Who may transform content when it passes from the Internet to their networks, and who may in addition operate portals.

Browser and Delivery Platform Developers

Who realize content for users to perceive.

Authoring Tool Developers

Developers of tools to assist with content production (authoring).

Content Manipulation Tools Developers

Developers of tools to assist with content serving and repurposing.

Conformance Testers

Those involved in the production and execution of testing processes.

1.3 Scope

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

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.

I suggest "This document only includes best practices that primarily affect mobile access to the Web." You may also wish to have a look at some of the verbiage in section 3 of UAAG 1.0 (on Conformance). For instance, adapting this text might be useful: "The UAWG expects conformance this document to be a strong indicator of accessibility, but it may be neither a necessary nor a sufficient condition for ensuring the accessibility of software. Thus, some software may not conform to this document but still be accessible to some users with disabilities. Conversely, some software may conform to this document but still be inaccessible to some users with disabilities. Some requirements of this document may not benefit some users for some content, but the requirements are expected to benefit many users with disabilities, for general purpose content."

In 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.

A very important feature of the WAI Guidelines is that they work together to identify different responsibilities among authors, user agent designers, format designers, and authoring tool designers. WCAG does not hold up well in some cases when browsers don't take advantage of features that authors expect to be supported. Does the MWI BP WG plan to produce other guidelines than these content guidelines?

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

1.3.1 Phasing

As discussed in [Scope] there are many aspects to Mobile Web Best Practices. 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.

While improving those Web sites is only one aspect of improving the user experience, significant improvements can be achieved in this way, hence the first phase of work is concerned with providing guidelines for Web-site and content developers.

The first reference to "phase of work" is confusing. Does it mean "phase of this WG?" or "phase of this document"? Please clarify. It may be described in [Scope], but I think you need to provide a short summary of what "phasing" means or of what the phases are.

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

1.3.2 Usability

There are three aspects of mobile usability - namely site, device, and browser usability. All three together contribute to the user experience.

These three aspects are defined as follows:

Site usability relates to the structure, content and layout rules of a site and is a measure of the effectiveness of the mobile web site.

Device usability pertains to the capability of the equipment being used easily and effectively. "Easily" refers to a specified level of acceptability and comfort of use; "Efficiency" relates to the resources expended in relation to the accuracy and completeness with which users achieve their goals. In particular, device usability focuses on keypad design, display, fast browser access and UI styles.

The terms "easily" and "efficiently" are almost unused in the document. In my opinion that do not add much information where they are used and might be safely deleted from this part of the document and from the best practices below.

Browser usability defines the ease of using a browser effectively namely performing the three functions reading, navigating or interacting. The ease of interaction, page rendering, caching etc. are issues that are frequently used to judge browser usability.

While recognizing the contribution of device and browser usability to the overall user experience, this document focuses on site usability.

I suspect this entire section could be reduced without significant loss of information to the following:

The quality of the user's Web experience via a mobile device depends significantly on the usability of Web sites, of browsers, and of the device itself. Although browser usability (for reading, navigating, and interacting with content) and device usability are important, this document focuses primarily on best practices for improving site usability.

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).

What does "perhaps" mean here?

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.

The document says "as far as is possible." When is it not possible? I think you can safely say that it is considered "best practice not to exclude access." You don't have to add disclaimers. If there are specific cases that you are thinking of (e.g., there may be privacy or security reasons), please call them out rather than say "as far as possible." I make similar comments below.

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

Why is the previous statement here? It sounds like it is an assumption about delivery and belongs in the next section.

1.4 Default Delivery Context

The recommendations refer to delivered content.

The first sentence confused me because the title of the section includes "context" and the first sentence includes "content". I thought it was a mistake at first. It might help to say very quickly that there are two things discussed; context and 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 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 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 characteristics, which DIWG has 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 statements in this document can be implemented.

As you'll see below, I think you may wish to refer to some of the guidance of the User Agent Accessibility Guidelines as well.

1.6 How the Best Practices are Organized

The document is organized as follows:

  1. Introduction. Describes the audience, purpose and scope of the document.

  2. Requirements, An illustration of the type of problems that the Best Practices are intended to ameliorate.

  3. Architecture. Discusses the environment within which the mobile web is realized, with particular reference to adaptation.

  4. Overview of Best Practices. A discussion of the organization of the best practices, and sources from which they were derived.

  5. Best Practices. The statements themselves.

  6. Conformance and mobileOK. A brief conformance statement and pointer to the mobileOK documentation.

    I find "pointer to" to be very informal.

  7. Annexes

    I think "Appendices" is more common than "Annexes" in W3C specs.

    Acknowledgements

    References

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.1 Presentation Issues

Many Web pages today are laid out with presentation on desktop size displays in mind, and make use of the facilities provided by desktop browsing software.

Accessing such a Web page on a mobile device often results in a poor, or unusable experience. Contributing to this poor experience is that the content does not lay out as intended, and because of the limited screen size and the limited amount of material on the page that is visible to the user, things that are intended to be viewed together are not presented together - context and overview are lost.

Because of the limited screen size the subject matter of the page may require considerable scrolling to be visible, especially if the top of the page is occupied by images and navigation links. In these cases the user gets no immediate feedback as to whether their retrieval has resulted in the right content.

It is particularly important in the mobile context to help the user create a mental image of the site. This can be assisted by adopting a consistent style and contrariwise can be considerably diminished by an uneven style.

2.2 Input

Mobile device input is often hard when compared with use of a desktop device equipped with a keyboard. Mobile devices such as phones often have only a very limited keypad, with small keys, and there is frequently no pointing device.

One of the difficulties of the mobile web is that URIs are very hard to type, and lengthy URIs and those that contain a lot of punctuation are particularly hard to type correctly.

I think the problem is that it's hard to type, period. People should not be typing URIs anyway; they should be using search engines and following links.

Because of the limitations of screen and of input, forms are hard to fill in, both because navigation between fields may not occur in the expected order and because of the difficulty in typing into the fields.

While many modern devices provide back buttons, some do not, and in some cases, where back functionality exists, users may not know how to invoke it. This means that it is often very hard to recover from errors, broken links and so on.

2.3 Bandwidth and Cost

Mobile networks can be slow compared with fixed data connections and often have a measurably higher latency. This can lead to long retrieval times, especially for lengthy content and for content that requires a lot of navigation between pages.

Mobile data transfer often costs money. The fact that mobile devices frequently support only limited types of content means that a user may follow a link and retrieve information that is unusable on their device.

Even if the content type can be interpreted by their device there is often an issue with the experience not being satisfactory - for example larger images may only be viewable in small pieces and require considerable scrolling.

Requests for web pages can result in the delivery of content that the user has not specifically requested - especially advertising and large site images. In the mobile world this extra material contributes to poor usability and may add considerably to the cost of the retrieval.

2.4 User Goals

Mobile users typically have different interests to users of fixed or desktop devices. They are likely to have more immediate and goal-directed intentions than desktop web users. Their intentions are often to find out specific pieces of information that are relevant to their context. Examples are frequently given of travel related applications, where the user might require specific information about schedules.

Other examples are frequently given of time filling entertainment applications, where people are filling otherwise dead time while traveling.

What is an "entertainment application"? Do you mean a game?

On the other hand, mobile users are typically less interested in lengthy documents or in browsing. The ergonomics of the device are frequently unsuitable for reading lengthy documents, and users will often only access such information from mobile devices as a last resort, because more convenient access is not available.

2.5 Advertising

Developers of commercial web sites should note that different commercial models are often at work when the Web is accessed from Mobile devices as compared with desktop devices. For example, some mechanisms that are commonly used for presentation of advertising material do not work well on small devices and are therefore contrary to the Best Practice Recommendations.

It is not the intention of the MWI to limit or to restrict advertising; rather it is the intention that the user experience of the site as a whole, including advertising, if any, is as effective as possible.

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 [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 option as to which browser to use, and in many cases upgrade of the browser is not possible.

I note that the previous concern also holds for many desktop environments, including very common one likes in companies or libraries where people often cannot install arbitrary software or configure their machines freely. Is this even more frequent on a mobile device?

Some activities associated with rendering web pages are computationally intensive - for example re-flowing pages, laying out tables, processing unnecessarily long and complex style sheets and handling invalid mark up [T-MOB]. There is typically quite limited processing power available to carry out such computations, which may mean they take a noticeable time to complete. Such computations also use more power and deplete the 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.

Does this mean that you will have best practices for error handling below to avoid incomplete display or 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 their being:

  • personal,

  • personalizable

  • portable

and increasingly multi-function beyond their original purpose of voice

communications.

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

  • location awareness

  • implicit user identification

    I am not sure what implicit user identification means. Also, it sounds ominous to me, and therefore I'm not convinced it is always an "advantage". Do you plan to address privacy concerns?

  • one handed operation

  • always on

  • universal alerting device

As an illustration of some of these factors: First, unlike the fixed Web, the mobile Web will go where you go. 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.

The previous paragraph needs to be adjusted. The text (which may have come initially from the Communications Team!) suggests that there are two Webs: one fixed and one mobile. That is not a message we want to communicate. The point is that we want one Web and that we want to improve mobile access to it.

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. medical info to mountain rescue scenes) and to accompany everyone as easily as they carry the time in their wristwatches.

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

3 Delivery Model Architecture

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 clients. For example different clients support different markup features, and the different screen sizes may demand different sized images.

Consequently, it is very common when delivering content to mobile clients to vary the details of the markup, format of images, image sizes, color depths and so on to suit the characteristics of the 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.

The remainder of this section briefly describes content adaptation 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 - the Device Descriptions Working Group, is currently defining requirements for a repository of mobile client characteristics that are relevant to content adaptation.

3.1 Adaptation Implementation Model

There is quite a wide spectrum of implementation models for content adaptation. On the one hand adaptation may be quite 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 client [DCODI]:

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

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 client.

Client Side adaptation consists of the client accepting content and displaying it appropriately to the device's characteristics.

3.2 Assumptions about Adaptation

In phase 1

See also previous comment on "phase"; I suggest a link to where the term is first explained.

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 around granting 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 adaptations - i.e. the possibility that adaptation can be applied in more than one place, and that 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, 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.

In order to determine the appropriate adaptation it is necessary to determine the device that is accessing the service. Sometimes it is not possible to determine the device type, either because the device does not present this information to the server at all, or in sufficient detail, or because the server does not provide the ability to inspect and act on the information provided.

In these cases the content provider is expected to assume the default delivery context, as discussed in the Introduction to this document.

4 Overview of Best Practices

4.1 How the Best Practice Statements are Organized

I think you can cut this entire section (4.1). The explanations do not add more than the text in the <dt>. I find they are not necessary anyway to my understanding of the document.

In the following section the Best Practices are organized under the following headings:

Process

Best Practice Statements that refer primarily to the process by which content is created.

Navigation and Links

This section contains statements that relate to navigation and linking mechanisms.

Page Layout and Content

The section contains statements that relate to the content of pages and how they lay out.

Page Definition

Statements that relate to the technical construction of pages.

Input

Statements that relate to Input.

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 statements, identified in the following way:

[EXAMPLE] This is a 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).

There is an editorial problem around "by using URI reference composed" in the previous paragraph. Also, I think you should use "URI: instead of "URI Reference".

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 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. This section is not present for process related statements.

In this section it is noted whether the statement is:

Machine testable

Automated testing is possible.

Human testable

Testing requires human assessment.

Partially machine testable

Based on the result of an automated test some human interaction may be required.

References

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

5 Best Practice Statements

In both WAI Guidelines and the Webarch documents I worked on, we found it useful to provide short mnemonic labels for best practices and similar statements. In Webarch, we created a navigation bar to the statements at the top of the document (after the TOC), so people could access them individually and rapidly.

5.1 Overall Behavior

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

5.1.1 Establish the Context of the Device

[CONTEXT] Take all reasonable steps to find out about the device/browser (client) capabilities, adaptation and other transformation that takes place for any instance of an access to a resource.

This point is problematic on several fronts:

  1. "Reasonable" is not well-defined. That term may work well in some contexts (such as a patent policy, where people are used to it). I think you should avoid it in this document. Alternatively, say once up front in the delivery context section what you mean by "reasonable".
  2. I am not sure who is responsible for carrying out this task. Is this the responsibility of someone who is producing content? It doesn't feel like it.
  3. You say to do this for "any instance of an access." Even when there is caching? It may be that in that case I haven't accessed the resource, but I'm not sure of that, so it may be worth clarifying.
  4. This should not be the first best practice note --- this is about content adaptation. I think it is important to start with the message: Design for one Web! Then, talk about how to improve the user experience above and beyond that.
  5. The statement seems overly general. What about saying something a bit more specific, like "Follow published standards when determining device capabilities for the purpose of content adaptation."
5.1.1.1 What it means

Many of the best practice statements refer to the content provider knowing 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 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.

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 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).

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

The content provider may choose, in the interests of "One Web" considerations, to allow the user to select the experience from broad categories such as mobile or desktop, where these presentations are distinguished in the application.

5.1.1.2 How to do it

There are several techniques by which a content provider can discover information about a client's capabilities: CC/PP, UAPROF, CSS Media Queries, DDWG output, DIWG material.

5.1.2 Exploit Client Capabilities

[CAPABILITIES] Exploit device capabilities. Do not take a least common denominator approach.

A number of comments on this point:

  1. The word "exploit" seems like it is being used in the French sense of "make use of". I find that in (American) English it carries a negative connotation, as when one "exploits" a security hole.
  2. This statement is so broad that it should be dropped as a best practice note. Instead, I recommend that you create a section at the top of the document that explains what the best practices notes strive to allow people to do. For example:

    By following the guidance of this document, designers can:

    1. Learn to optimize their designs for delivery to a mobile device by taking full advantage of device capabilities.
    2. ....

    In short, this best practice note doesn't actually teach me anything useful. Instead, I would like to learn from the document how to do the thing you are talking about. I realize that there is an "abstract" layer and a "techniques" layer and that the abstract point is to take advantage of device capabilities, but I do not believe you have captured the right level in the above note. Instead, if you are thinking of one or two slightly more specific points, I recommend stating those instead of this very general point.

5.1.2.1 What it means

While encouraging content providers to be sensitive to the needs of the default delivery context, it is not intended that this results in a diminished experience on more capable devices. Specifically it is not the intention to encourage the development of sites that target the default delivery context when a better user experience could be attained on more capable devices.

Ah, that last sentence is already more informative in my opinon.

5.1.3 Work around deficient implementations

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

  1. Please delete "reasonable" (if you keep this one).
  2. This can be a dangerous point if not worded carefully. See the related principle in Webarch: " Agents that recover from error by making a choice without the user's consent are not acting on the user's behalf." I realize that in this context one may not always be interacting directly with the user. But "silently recovering from error" is one of the things that I believe the TAG feels strongly is a bad thing.
  3. How do you define a "deficient" implementation? It sounds quite subjective to me. Do you mean implementations that do not conform (strictly) to standards? Otherwise how would you classify something as deficient or not? Do you mean "known bugs"?
  4. Below you say something more interesting, which I paraphrase as "It's ok to not follow some of the other best practices in this document when you need to work around errors." That's a big gate and you should strive to narrow it. Furthermore, you seem to define conformance below "then content providers must comply..." Does that statement belong in 5.1.3.1 or is it a general statement that belongs in a conformance section?
  5. In my opinion, unless you adopt something more along the lines of what is stated below (a kind of "exception" provision for error conditions) then I think you should delete this one, which, as stated, seems to me to amount to "Do useful things." Again, the note has a very different impact if you are talking about when it's ok to not follow _other_ good practices.
5.1.3.1 What it means

Just as in the desktop browser world, there are browsers that do not respect the intentions of the content provider. There are differences in interpretation between browsers and there are also deficiencies in implementation. Because the software in mobile devices is frequently embedded in the device there is no easy way to correct or enhance software once it is in the field.

It is a particular challenge to provide work-arounds for these deficiencies and differences in interpretation. It is recognized that content providers may need to violate specific best practices in order to support their intentions on devices that exhibit deficiencies in implementation. If a device is not known to have specific limitations then content providers must comply with best practices.

Just as it is not the intention to recommend a least common denominator approach, it is not the intention to recommend avoidance of features that exhibit problems on some class of devices.

It is also not the intention to suggest that content providers should restrict their support to certain client types. Content providers should aim to support as wide a range of client types as is practical.

That last sentence is a good place to start for this entire document. But there are other sentences that talk about One Web that might be pithier. I think you can drop "as is practical" and all similar qualifiers in favor of a section in the document about the general authoring context.

5.1.4 Testing

[TESTING] Carry out testing on actual devices as well as emulators.

5.1.4.1 What it means

Any web site should be tested in a range of browsers. Mobile browsers often show markedly different characteristics to desktop browsers. As well as assessing a site's suitability for display in reduced format, content providers are encouraged to test that the features they rely on work in actual devices.

5.1.4.2 How to do it

Many manufacturers provide emulators for their device that can provide a convenient preliminary means of testing. However, in practice, many of the emulators behave in a different way to the devices they emulate. Consequently testing should be carried out in as wide a range of real devices as is practical.

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 clients, care should be exercised in defining the structure and the navigation model of a web site.

5.2.1 URIs of Site Entry Points

[URIS] Keep the URIs of site entry points short.

I realize that you have chosen to write the good practice notes in the imperative voice. I also realize that more information is provided below. However, I think the reader might take away a lot more if the points included more rationale. Any many people (including myself initially) may simply look at the checklist and not take time to read the entire document. For instance: "Short URIs require less effort to type, are less prone to errors when typing them, and are easier to remember." In light of my previous comment about short labels for the statements, you might end up with:

[Short URIs Are Friendly] Short URIs require less effort to type, are less prone to errors when typing them, and are easier to remember.

This is not much longer than what you have and I think the rationale provided (likely imperfect as proposed) makes the statements much more meaningful.

5.2.1.1 What it means

Typing URIs on mobile devices can be difficult, so keeping site entry point URIs short can reduce the chance of error and provide a more satisfactory user experience.

5.2.1.2 How to do it

The user should not need to type the default page filename

You say "how to do it" and then don't say how to do it --- you just say "don't make the user do X." Instead, what about talking about how to configure the server to do the right thing for index.html or similar?

5.2.2 Navigation Bar

  1. If you really mean "should be enough" then say "Provide between 2-4 links at the top of a given page for navigation to important parts of the page." That seems to me to be more useful than saying "minimal navigation." Find the 80% point, say it, and then let people adapt for other cases as required (and explain to them when they might encounter those cases).
  2. In the same spirit as my comment on the previous point, you might rephrase this as:

    [Navigation helps in small doses] Providing 2-4 links at the top of a page to important content in the page facilitates navigation. Many more than that hinders navigation.

5.2.2.1 What it means

Two or three links should be enough to provide the basic navigation.

Navigation should be placed on the top of the page. Any other secondary navigational element may be placed at the bottom of the page if really needed.

5.2.2.2 How to do it

Provide the basic links on a single line. If they do not fit the screen the device will take care of wrapping.

If "The device will take care of wrapping" is true enough to be stated as you have done, then add a best practice note: "Do not put explicit line breaks in navigation bars because browsers on mobile devices will do the right thing." or something more eloquent.

5.2.3 Balanced Structure

[BALANCE] Design the service with a broadly balanced navigation tree where numbers of links on pages is balanced against depth of navigation.

  1. Does "link on page" mean that it links to something on the current page, or could it also be a link that points to a different page?
  2. I don't know what "balance" means here. I imagine it means "roughly equal to in number," but it may not be about equality.
  3. Does "depth of navigation" mean "to other pages"?
  4. Do you mean something like "Users tend to give up if they have to follow more than 2-3 links in order to find something."
  5. I hoped I would understand this point better by reading the "What it means" text, but the first sentence is confusing: it uses "navigation links" and "navigate multiple links" as though they mean something different, but the phrases are very similar.
5.2.3.1 What it means

The design should aim to provide a balance between having an excessive number of navigation links on a page and the need to navigate multiple links to reach content. Each retrieval of a navigation page takes time and adds cost, so the number of links on a page should not be minimized at the expense of adding page retrievals.

5.2.4 Thematic Consistency of Resource Identified by a URI

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

  1. You refer to "links"; do you mean "what you get when you follow the link?"
  2. I suggest expressing this point in terms of serving roughly equivalent representations rather than in terms of links.
  3. You might want to cite Webarch section 3.5.1, which says "A URI owner SHOULD provide representations of the identified resource consistently and predictably".
  4. Since this is the "One Web" point, I think it belongs at the front of the document. You might want to retitle it "One Web Principle" rather than "Thematic Consistency".
  5. You might want to simplify to "[One Web Principle] Because you never know for sure who will be reading your content (and their device, browser, and human capabilities), you should start by designing for a broad audience, then optimize your content for targetted audiences."
5.2.4.1 What it means

This is a realization of the One Web principle, whereby content should be accessible on a range of devices irrespective of differences in presentation capabilities. Web sites may paginate their content in various ways corresponding to differences in device characteristics; therefore the navigation structure of the site, and possibly its technical realization, may vary according to the device class that is being served.

A bookmark captured on one device should be usable on another different type of device even if it does not yield exactly the same experience. If the page that was bookmarked is not appropriate for the device that is now using it, an alternative that is suitable should be provided.

In addition, URIs may be decorated to provide session or other information.

5.2.4.2 How to do it

If the URI is decorated with session information that is no longer current then the user should be directed to a point in the navigation hierarchy that is appropriate to their device, in order to establish appropriate session and other parameters.

5.2.5 Navigation Mechanisms

  1. Because the word "use" suggests "user", I recommend making this sound a bit more clearly like it is intended for authors. "Provide navigation mechanisms that are consistent across pages." [If you mean something else, then that's another issue.]
5.2.5.1 What it means

Using the same navigation mechanisms across a service helps users orient themselves and allows them to identify navigation mechanisms more easily.

Users of devices that do not have pointing devices have to scroll between hyperlinks using the keypad. Intelligent grouping, perhaps optimized through adaptation according to usage patterns, can assist usability.

5.2.5.2 How to do it

A "drill-down" method, based on major headings, can often provide an effective means of navigation; because of the linearized arrangement of content, small screen size and lack of pointing device, it is often useful to provide a means to jump entire sections of content.

At each target of the drill down navigation an "up" link should be provided to allow the user to jump up an entire section.

5.2.5.3 References

This relates to WCAG 13.4

5.2.6 Access Keys

[ACCESS_KEYS] Assign access keys to links in navigational menus and frequently accessed functionality.

  1. Access key support on traditional desktop devices is problematic at best. I do not know about the current state of support from the WCAG WG for access keys (looking in the WCAG 2.0 techniques, I find only a placeholder). Is access key support on mobile devices expected to be more interoperable?
5.2.6.1 What it means

Where there is no pointing device, assigning an access key (keyboard short cut) to a link can provide a convenient way for users to access the link, and avoid navigating to the link by repeated pressing of the navigation key .

Provide the same access key for links that are repeated across pages such as links to the home page.

When building a list of links use numbered lists and assign access keys appropriately. It is recognized that not all characters can be used as access keys as many mobile devices have a limited keyboard.

5.2.6.2 What to test

Machine Test: Test for the presence of the accesskey attribute.

Human Test: Verify the presence of the accesskey attribute on links such as the home page.

5.2.6.3 References

This relates to WCAG 9.5

5.2.7 Link Target Identification

  1. You might want to shorten this and combine it with the next point as follows:

    [Describe Link Targets] To help users decide whether to follow a given link, provide this information about the target of the link:

    1. What it is, in clear language
    2. How large it is (which may imply a time-consuming download)
    3. The file format (which the user may know is not supported by the device).
  2. I would note that in UAAG 1.0 we require the user agent to provide some of these services so the author doesn't have to; see checkpoint 10.5. That helps address part of the goal of the following point about "knowing" whether the device supports a given format.
  1. I am not sure what you mean by this checkpoint. Through Internet protocols I believe two parties can agree on whether a client supports a particular format available on the server. So do you mean that after such a negotiation, in (adapted) content you serve, you don't have to provide information about the format? I don't think you mean that, in particular because I think that would imply lots of communication about all the links in a document to determine the format of identified resources.
  2. Other than through Internet protocols dynamically, I don't know how you can "know the device supports" a given format unless you are designing in a very closed environment, and I thought that the purpose of these guidelines was to explain how to design effectively in an open environment.
  3. Perhaps you can shorten this, therefore, to something like "To help users reduce the cost of unnecessary downloads, for pieces of content in formats that are not part of the default delivery context, identify the format in links."
5.2.7.1 What it means

Users of mobile devices may suffer undue delay and cost as a result of following links. It is important to identify where a link leads so users can make an assessment of whether following it will be of interest to them. While it is unlikely that the cost in monetary terms of a particular user following a particular link can be specified, it should be possible to give an idea of the size of the resource [in bytes or in an abstract way e.g., large file].

Links to content that is in a different format to the format of the page the link is on (i.e. content that can only be interpreted by other applications, downloads) should be human signposted, so that users are not lead to download content that their device may not be able to use.

5.2.7.2 What to test

Human Test: Check for proper descriptions (and no use of "Click here").

Human and Machine Test: Spider the page/web site to find links to non-HTML formats and check whether there is information about the format of the target of the link.

5.2.7.3 References

This relates to WCAG 11.3 and 13.1

5.2.8 Image Maps

[IMAGE_MAPS] Do not use image maps unless you know the target client supports them 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.

  1. I have a similar concern as above about "unless you know." I think that some of these checkpoints make more sense at certain points in a pipeline than at others. For instance, I as a human author probably don't know whether a particular user agent supports this or that. On the other hand, a piece of software that is actively involved in some protocol negotiation and that is doing content adaptation may very well have that information available. But the points are written for multiple audiences and therefore may be confusing.
  2. What is "an available geometric shape"? I think you mean that the format supports the 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.1 What it means

Image maps allow fast navigation providing the requesting device can support the image involved and providing there is a means of navigating the map satisfactorily. Up, down, left, right, enter are available on most mobile devices, even if no pointing device is present, and this is usually sufficient to allow navigation of the active regions of client side image maps.

5.2.8.2 How to do it

If only small images can be displayed, break larger images up into smaller sections and deal with them separately.

If a satisfactory image map cannot be displayed, use a list of links with descriptive text instead.

5.2.8.3 What to test

IMAGE_MAPS Machine Test: Send a request to the site with a user agent that does not support client-side image maps and check the map element is not present.

SERVER_SIDE_IMAGE_MAPS Machine Test: Send a request to the site with a user agent that does not support server-side image maps and check the ismap attribute is not present.

5.2.8.4 References

This relates to WCAG 1.2 and 9.1

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.

  1. In developing UAAG 1.0, which addresses these topics, we distinguished two concerns (1) the (visual or other sensory) disorientation caused by suddenly opening windows and (2) the change in focus.
  2. I urge you to recast these in terms of the checkpoints of Guideline 5 of the UAAG 1.0 Recommendation. I am happy to discuss them further with you to help answer any questions.
  3. In particular, an important point is that it's ok to do these things when the user says it's ok.
  4. For the point about "unless you have informed the user", that may be locking up the barn after the horse has been stolen. I think it's more important to provide an alternative.
5.2.9.1 What it means

Each of these activities is likely to cause the user confusion, or add cost and delay to their interaction.

Some mobile devices use a separate window for input; this section does not refer to such windows.

Many mobile devices cannot support more than one window and consequently attempting to open one will have unpredictable results.

Auto refreshing pages are widely recognized as presenting accessibility problems, and in a mobile environment may expose the user to undue cost as a result of an auto refreshing page being left open, or put unnoticed into the background. If an auto refreshing page is demanded by the application always provide a means of ceasing the auto refresh and always inform the user that the page will refresh and may expose them to high usage costs.

While redirection is a commonly employed mechanism, it must be remembered that redirection usually requires a round-trip to the browser. This adds to delay on slow links, hence redirection should not be used as a matter of course.

5.2.9.2 What to test

POP_UPS Machine Test: Look for the target attribute on links.

AUTO_REFRESH Machine Test: Check whether meta http-equiv="refresh" content=" the same URI " is used.

AUTO_REFRESH Human Test: If auto refresh is used, check that options are provided to stop any page using auto-refresh.

REDIRECTION Machine Test: Check whether meta http-equiv="refresh" content=" a different URI " is used.

5.2.9.3 References

This relates to WCAG 7.4, 7.5 and 10.1

5.3 Page 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.

  1. Please delete this point. I believe the purpose of this entire document is to explain to the reader what it means for content to be suitable for use in a mobile context. Do you mean "suitable" in the sense of "not offensive"? [I don't think you do; just checking.]

[CLARITY] Use clear and simple language.

I believe that the above checkpoint no longer exists in WCAG 2.0. I have not followed that debate recently, but I believe that it is so contentious as written (and not verifiable in any obvious way in that formulation) that you will regret having included it. I recommend talking to the WCAG WG about the evolution of their thinking in this area.

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

  1. How does this apply to prefetching?
  2. How are you defining "what the user has requested?" Does that mean "Implement HTTP GET"?
5.3.1.1 What it means

Users in a mobile context are often looking for specific pieces of information, rather than browsing. Content providers should consider the likely context of use of information, and while providing the option to access all information, should offer appropriate information first.

The general prescription to use clear language is of particular importance in the mobile context where brevity and directness are generally more desirable than a discursive style.

Writing content in the traditional journalistic "front loaded" style can assist users determining whether information is of interest to them and allow them to skip it more easily if it is not. Placing distinguishing information at the beginning of headings, paragraphs, lists, etc. can also help the user contextualize when using devices with limited screen area.

The previous paragraph is not the same as "limit content to what the user has requested." It is separate advice for good authoring for the Web generally: Front-load pages with important information. You make this point later on, so I think you should move this explanation to later in the document.

In many cases the user pays for bandwidth in the mobile context, and offering the user content that is extraneous to their needs, especially advertising, costs them time and money and contributes to an unsatisfactory experience. In general, the user's consent should be sought before initiating the download of content.

5.3.1.2 What to test

Examine content to determine if, given the subject matter, it is appropriate in a mobile content. [NB probably not machine-testable.]

5.3.1.3 References

This relates to WCAG 13.8 and 14.1.

5.3.2 Page Size

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

  1. I think the point of this document is to define what "usable" means. Therefore, I don't think you should have a checkpoint that says divide pages into usable pieces. Tell us instead what makes a piece usable.

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

  1. Delete "if they can be determined". This is an instance of a qualifier that weighs down the point you are making and should be described elsewhere.
5.3.2.1 What it means

If pages are too big they may take an unduly long time to load. In addition, mobile devices typically have restrictions as to the largest page they can accommodate.

On the other hand, if pages are too short then the user will be required to make multiple requests to read the relevant information. This can lead to an unnecessary delay since each request typically takes a measurable time to complete.

The balance between pagination and scrolling is partly a matter of taste and partly a matter of necessity. Devices with severe memory restrictions can only have small pages delivered to them. Equally some devices offer a poor scrolling experience and a better page retrieval experience.

Some studies [MF] have been carried out in this area to test for user preferences. Some of these indicate that users prefer scrolling to click-throughs and some indicate the contrary. More research is likely to be needed in this area.

5.3.2.2 What to test

PAGE_SIZE_USABLE Machine Test: Check that the page doesn't exceed 10 KBytes for the default delivery context.

Human Test: Check that the page is still usable (e.g. not cut in the middle of a sentence, just before the end of a section, and so on).

PAGE_SIZE_LIMIT Machine Test: Measure the total size of mark-up and images for a page; check that it doesn't go over the allowed size for the device - 20 KBytes for the default delivery context.

5.3.2.3 References

This relates to WCAG 12.3

5.3.3 Scrolling

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

  1. What do you mean by "direction"? Do you mean "down, not up"? Do you mean "Don't make people scroll horizontally?
  2. Delete "unless secondary scrolling cannot be avoided." In general, delete "except where impossible" as I've mentioned above.

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

  1. I do not understand how this point differs from the previous one.
5.3.3.1 What it means

The page should lay out so that simple repeated scrolling allows the user to experience all its content. However some content (such as maps and other images) cannot be displayed without secondary scrolling.

If some element on the page requires secondary scrolling it must not cause the remainder of the page to require this. For example, if an object causes subsequent text to lay out with a significant margin to its left, then this text may not be visible once a user has scrolled past the object.

Equally, if the presence of such an object causes text to render beyond the right boundary of the page then the user will be required to scroll to read each line of text.

5.3.3.2 How to do it

If it is not possible to avoid presenting images that are larger than the screen size, then consider providing these images on a separate page with a link back to the main content.

5.3.3.3 What to test

SCROLLING Machine Test: Check for width attributes and width style properties wider than the screen size - for the default delivery context, 120 pixels.

Human Test: If it is wider, check that the use case warrants it (e.g. maps).

SCROLLING_LIMIT Human Test: Browse URIs within a site with a mobile user agent and observe that pages with elements that require secondary scrolling, only those elements require it and the rest of the page requires only primary scrolling.

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.

  1. The key [CENTRAL_MEANING] is less communicative than "Frontload important information". See my earlier comment about using short labels that capture the essence (even if imperfectly) of the point.
5.3.4.1 What it means

Many Web pages are designed with significant navigational and other elements at the top of or to the side of the page (e.g. Menu Bars, Breadcrumb Trails, Search Functions). This provides a convenient and well-understood navigational metaphor on large displays. However, on small displays this can result in the navigation appearing instead of the actual content of the page when the page is first retrieved.

Because it is important for the user to gain an idea of the content of the page on initial view, there should be a minimum amount of clutter preceding this - including navigation, decorative images, advertising and other material that is not central to the user's experience of the page. The user should not have to scroll significantly to find the primary content of the page.

The first sentence of the previous paragraph is more communicative than 5.2.2 as written.

5.3.4.2 How to do it

Menu selections can be placed away from the top of the page with a simple link to the selection at the top of the page. Alternatively, use meta navigation on top of the page with simple text links to major sections of the web site.

5.3.4.3 What to test

Human test: Browse URIs within a site with a mobile user agent and observe that the most important/relevant information is conveyed first

5.3.4.4 References

This relates to WCAG 13.5

5.3.5 Graphics

[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.

  1. The first sentence of the second point here can be generalized to be "don't do things that the device can't handle." Because I don't think that is known in all cases, I suggest you delete the first sentence. Perhaps rephrase the point in terms of the default delivery context: "Very large or high-resolution graphics are unlikely to achieve their desired goal when rendered on devices with small screens. Avoid them unless there is no other way to provide the information in question."
  2. In some cases, people may wish to download images for viewing on another device (e.g., I store something on my phone then view it on my desktop computer). You may wish to remind the author of that scenario.
5.3.5.1 What it means

The popular mechanism of using a 1 pixel graphic for absolute positioning is does not work on a variety of screens.

Graphics that are larger than necessary, for example by possessing a higher resolution than is displayable on the device or by having too many colors, waste bandwidth.

5.3.5.2 What to test

GRAPHICS_FOR_SPACING Machine Test: Check for very small and/or transparent graphics.

LARGE_GRAPHICS Machine Test: Check dimensions of graphics.

5.3.6 Color

[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.

  1. I think it is very important that this document adopt the language used by the WCAG WG. They have spent a very long time discussing this topic. For instance, for the first point, copying from the 23 Nov 2005 Draft, section 1.3.1: "When information is conveyed by color, the color can be programmatically determined or the information is also conveyed through another means that does not depend on the user's ability to differentiate colors." If you have a reason to say something other than what WCAG 2.0 says, please explain below. (In general, if another W3C Recommendation says what you want, whether it is WCAG 2.0 or UAAG 1.0, Webarch, or another document please use that language or be sure to explain why you have chosen not to.)
5.3.6.1 What it means

Mobile devices often do not have good color contrast and are often used in less-than-ideal lighting conditions. Hence information highlighted in color may not be visible to users. If color is used to indicate a feature then that feature should generally also be indicated in a way that is not color dependent. In particular, do not use blue or purple text, as this may be confused with hyperlinks, especially on devices that do not underline links.

5.3.6.2 What to test

USE_OF_COLOR Human Test: Browse the page in a monochrome environment.

COLOR_CONTRAST Human Test: Browse the page under a strong light parallel to the screen.

Machine Test: There are automatic tools to test color contrast.

5.3.6.3 References

This relates to WCAG 2.1 and 2.2

5.3.7 Background Images

[BACKGROUND_IMAGE_SUPPORT] Do not use background images unless you know the device supports them.

  1. This is another instance of the general point "Don't do X". I think you should regroup all of those points in one and relate them to the default delivery context.

[BACKGROUND_IMAGE_READABILITY] When using background images make sure that content remains readable on the device.

  1. Please stick very close to WCAG 2.0 on this one as well (I think it is 1.4.3).
5.3.7.1 What it means

Images that are used indiscriminately can lead to content that is hard to view, particularly with the limited contrast often found on mobile devices and in the hostile viewing conditions in which mobile devices are frequently used.

Before using background images, consider carefully your objectives for doing so and try to use alternative techniques to achieve similar objectives.

5.3.7.2 What to test

BACKGROUND_IMAGE_SUPPORT Machine Test: Send a request to the site with a user agent that does not support background images and check the backgroundattribute is not present.

BACKGROUND_IMAGE_READABILITY Human Test: Test readability.

5.4 Page Definition

5.4.1 Title

[PAGE_TITLE] Provide a short but descriptive page title.

  1. A theme has emerged: "Keep it short". I think you have points related to shortness of URIs, titles, and pages. Perhaps they can be merged.
5.4.1.1 What it means

Provide a descriptive title for the page to allow easy identification. Keep the title as short as is possible to reduce page weight and bear in mind that it may be truncated.

Many mobile browsers do not display the title of a page. Where the title is displayed the available space may be limited.

The client may use the page title as the default label for bookmarks. Again space may be limited so use it to help identify the content and not for other purposes.

5.4.1.2 What to test

Machine Test: Test for presence of the title element.

Human Test: Test that the title is descriptive of content.

5.4.2 Frames

[NO_FRAMES] Do not use frames.

  1. Please provide a bit more rationale, as in "Because they are not widely supported in the mobile context and also are widely known to be problematic for users, do not use HTML frames."
5.4.2.1 What it means

Many mobile clients do not support frames. In addition, frames are recognized as being generally problematic.

5.4.2.2 What to test

Machine Test: Test for presence of frame related elements - in HTML check for frameset and iframe elements.

5.4.2.3 References

See http://www.w3.org/TR/xframes/#s_intro for a discussion of problems with frames.

5.4.3 Structural Elements

[STRUCTURE] Ensure that perceivable structures within the content can be programmatically determined.

  1. This one sounds a lot like WCAG 2.0, which is a good thing. I personally find this requirement difficult to parse (and have sent comments to the WCAG WG).
5.4.3.1 What it means

It is good practice for all but the simplest documents to indicate their structure through headings and sub-headings. Using structural markup, rather than formatting effects, allows easier adaptation of content where it needs to be divided into several pages as well as potentially facilitating access only to the sections of the document that a user is interested in.

Where headers are used they should be used in accordance with the specification, i.e. they should be properly nested according to their level.

Structural markup must not be used solely to create a font effect.

5.4.3.2 How to do it

Mark up languages like HMTL contain many constructs to indicate structure.

5.4.4 Tables

[TABLES_SUPPORT] Do not use tables unless the client is known to support them. Do not use multi-layer tables.

[TABLES_LAYOUT] Do not use tables for layout.

[TABLES_ALTERNATIVES] Where possible, use an alternative to tabular presentation.

5.4.4.1 What it means

Tables do not work well on limited size screens and may result in the user having to scroll horizontally to read them. Putting navigational links into tables may result in the user having both to scroll horizontally and vertically to see possible navigational choices.

5.4.4.2 What to test

TABLES_SUPPORT Machine Test: Send a request to the site with a user agent that does not support tables and check the table element is not present.

Machine Test: Check that there are no nested tables.

TABLES_LAYOUT Machine Test: Check that no column or row in a table is empty or contains only a 1x1 transparent GIF.

5.4.4.3 References

This relates to WCAG 5.1, 5.2, 5.3, 5.5 and 5.6

5.4.5 Non Text Items

[NON-TEXT_ALTERNATIVES] Provide textual alternatives for non-text elements.

  1. Please stick very close to WCAG 2.0 on this one as well.

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

  1. This is another instance of "Don't do X" when you are outside the default delivery context; regroup with those?
5.4.5.1 What it means

Downloading images to a mobile client adds to the time to display an image and the cost of displaying the page. Making the page readable in text only mode can help the user assess its usefulness before images arrive.

Many mobile clients do not support embedded objects or script and in many cases it is not possible for users to down load plug-ins to add support. Content must be designed with this in mind.

5.4.5.2 How to do it

Design pages as though they were to be displayed on a text-only browser.

Always use features of the markup designed to support alternate rendering such as the longdesc and alt attributes in XHTML.

Use only features from the markup that are known to be supported by the device in question.

Avoid things like CSS image replacement and pictures of words.

5.4.5.3 What to test

NON-TEXT_ALTERNATIVES Machine Test: Test for presence of alt attribute on images and text content on objects.

Human Test: Check the relevance of alt attributes with their elements.

OBJECTS_OR_SCRIPT Machine Test: Send a request to the site with a user agent that does not support scripts and check the script element is not present.

Machine Test: Send a request to the site with a user agent that does not support objects and check the object element is not present.

5.4.5.4 References

This relates to WCAG 1.1, 3.1, 6.2, 6.3, 6.5 and 9.2.

5.4.6 Image Size

[IMAGES_SPECIFY_SIZE] Always specify the size of images in markup.

  1. Why do you use "Always" here and not in other points? I recommend deleting "Always" for the same reason I suggest deleting "when possible".
  2. What about markup languages that don't support this?

[IMAGES_RESIZING] Resize images at the server.

  1. Please provide more rationale for this one, which I did not understand when I first read it. Something like this might help: "Because mobile devices have limited processing capabilities, make available small versions of images rather than require resizing after delivery."
5.4.6.1 What it means

Resizing images at the server and specifying their size in markup assists the browser to flow the text, reduces amount of data transferred and the amount of processing the client has to carry out to scale the image.

5.4.6.2 What to test

IMAGES_SPECIFY_SIZE Machine Test: Test for presence of width and height attributes on img elements.

IMAGES_RESIZING Machine Test: Check width and height attributes are equal to image dimensions.

5.4.7 Valid Markup

[VALID_MARKUP] Create documents that validate to published formal grammars.

5.4.7.1 What it means

If the page markup is invalid this will result in unpredictable and possibly incomplete presentation.

5.4.7.2 What to test

Machine Test: Validate documents.

5.4.7.3 References

This relates to WCAG 3.2, 11.1 and 11.2.

See http://www.w3.org/QA/Tools/#validators.

5.4.8 Measures

[MEASURES] Do not use pixel measures and do not use absolute units in markup language attribute values and style sheet property values.

  1. Adding more rationale: "To enable flexible display, use relative units (e.g., "em") rather than absolute units (e.g., pixels) when specifying dimensions (e.g., shapes or font sizes) in formats such as markup languages and style sheets."
5.4.8.1 What it means

Avoiding pixel and absolute measures allows the browser to adapt content to fit the display. An exception to rule is where an image has been specifically sized for a particular display (see 5.4.6 Image Size). In this case references to the image in markup may specify the exact dimensions of the image in pixels, in order to help the browser to flow the page, and avoid re-flowing it after the page has been retrieved.

5.4.8.2 How to do it

Use percentage and other relative measures.

5.4.8.3 What to test

Machine Test: Send a request to the site with a user agent that supports relative measures correctly and check the values of font-size are not absolute or pixels.

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.

  1. Please delete "unless the device is known not to support them" in favor of a general section on handling this sort of thing (as described above).

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

  1. This also comes from WCAG, but I no longer see it in WCAG 2.0. Have you asked them why it was deleted? (I don't see it in the 23 Nov 2005 draft)

[STYLE_SHEETS_SIZE] Keep style sheets as small as possible.

  1. Delete "as possible", and
  2. Add this to the list of things to "keep short"
5.4.9.1 What it means

Clients provide several levels of support for style sheets. Some provide full implementations including caching of external style sheets. Some do not cache external style sheets, and for these devices embedding the style information in the delivered page is more efficient than the browser making repeated retrievals for the style sheet across a site. Some implementations do not support style sheets at all.

5.4.9.2 What to test

STYLE_SHEETS_USE Machine Test: Send a request to the site with a user agent that supports CSS and check that style sheets are used and that the page does not use formatting tags (e.g. font).

STYLE_SHEETS_SUPPORT Human Test: Disable style sheets and checks that the page is still readable.

STYLE_SHEETS_SIZE Machine Test: Check that the elements in a style sheet are used in the pages that reference it.

5.4.9.3 References

This relates to WCAG 3.3.

5.4.10 Minimize

[MINIMIZE] Use terse efficient markup.

  1. Delete this point and add to the list of things to "keep short": markup.
5.4.10.1 What it means

Content which is marked up in languages such as XML can often be made smaller while preserving exactly the same semantics merely by removal of redundant white space (i.e. spaces and new lines).

Marking fonts, colors and other stylistic effects in line, can cause considerably larger page sizes when compared with using logical markup, and use of the HTML class attribute for application of style.

5.4.10.2 How to do it

While it is not intended that authors should create their content in a single line to remove white space altogether, it is suggested that authors should not contribute to page weight by introducing unnecessary white space. Note that "Pretty Printing", i.e. the formatting of mark-up with programs such as HTML Tidy, with indent option set to "yes", can generate large amounts of white space and hence add to page weight.

If "pretty printing" is an important part of the authoring process then try to arrange that redundant white space is stripped when serving a page.

Even though some network proxies strip white space that they think is redundant, not all do so, so it is not best practice to rely upon this behavior. There are other issues relating to network proxies (such as requesting them not to strip relevant white space). Such issues will be addressed in a later phase.

Use of structural markup contributes to minimizing the size of the markup on a page, as does centralizing the style descriptions using CSS.

5.4.10.3 What to test

Count the number of non-significant white space characters in the document.

5.4.11 Content Types

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

  1. Perhaps you can be more specific about HTTP (is it "accept" headers?) since that is an explicit assumption above.
  2. The user may wish to receive content even if its device does not directly support it (e.g., to save and use it later). Please make it clear that the user can, on demand, request content that is not supported by software on the client.

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

  1. Please delete "Where possible"
  2. I suggest merging these two into a single point about following standard protocols for content type negotiation.
5.4.11.1 What it means

Transferring content that a client cannot display wastes users' time and money. Preference may be expressed by a client for one format rather than another. In this case it is good practice to respect the client's preference as it may have a fuller implementation of its preferred markup.

5.4.11.2 How to do it

To determine what formats a device supports, web sites may use any combination of device profile information such as the HTTP User-Agent header, HTTP Accept headers and UAProf.

There are problems with using any one approach to the exclusion of the others. Some issues that have been noted by the BPWG in this context are:

  • Not all devices supply accept headers;

  • Some devices state that they accept all formats */* when they do not support some common formats and also mis-state their capabilities;

  • Some operator gateways supplement the accept headers as they adapt content presented in formats that the device does not accept;

  • User Agent headers do not always uniquely identify the device;

  • UAProf information may not be available or may be incomplete.

5.4.11.3 What to test

CONTENT_FORMAT_SUPPORT Machine Test: Check MIME types of content with various User-Agent

Machine Test: Check MIME types of content with various user agents.

CONTENT_FORMAT_PREFERRED Machine Test: Check MIME types of content with various user agents and check that the preferred format is sent or that the format is compatible with the default delivery context.

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.1 What it means

As in the previous section, content should not be sent to a device if it can not use it.

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 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 documents the character encoding may be indicated in the encoding 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 server configuration and the server side scripting technology being used (if any). For a discussion of this see [HTTP_CHARSET]

5.4.12.3 What to test

Machine Test: Check that the Content-Type HTTP header contains the encoding and that this encoding is supported (may also need to check the XML declaration for XML-based content and the CSS @charset rules for CSS).

5.4.13 Error Messages

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

5.4.13.1 What it means

It is inevitable that, on occasions, a mobile user will not be successful in accessing the content or information they sought. Providing easy navigation away from the error is particularly important in the mobile arena, where browsers may not have an easy-to-find "back" button, where contextualization is frequently difficult and where re-entry of URIs as a means of error recovery is particularly onerous.

It is noted that errors due to networking, connection and some kinds of mistyping of URIs are not within the control of the content provider which has no way to influence how such errors are presented to the user. However, where errors are within the control of the content provider the user should be provided with clear information regarding the fault they have experienced. This should help them to understand whether the fault was temporary or permanent, whether they should retry the attempt to access the content, and how they may be able to escalate the problem.

It should also be possible for the user to escape from the error condition. They should either be able to return to the page they were on prior to the error, or to be able to move onwards to a convenient part of the service from where they can retry or alter the transaction they were attempting.

5.4.13.2 How to do it

It is noted that many web servers provide a default error 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 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, 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.13.3 What to test

Enter an extraneous URI, known not to represent an actual resource on the site, and check that a HTTP 404 error response is accompanied by a page whose markup is appropriate for the requesting device, or the default context.

Human Test: Check that the page returned contains an explanation of the error and appropriate corrective actions, without assuming any technical knowledge on the part of the end user.

5.4.14 Cookies

[COOKIES] Do not use cookies unless you know the device supports them.

5.4.14.1 What it means

Cookies are frequently used both to carry out session management and to capture user preferences. Many devices do not implement cookies or offer only an incomplete implementation. In addition, some gateways strip cookies.

5.4.14.2 How to do it

Use cookies if they are known to be supported by the device on the device's current access path. If they are not supported, use URI decoration, being careful not to exceed the device's maximum length for such strings.

5.4.14.3 What to test

Machine Test: Send a request to the site with a user agent that does not support cookies and check that the Set-Cookie HTTP header is not present in the response.

5.4.15 Cache Headers

[CACHING] Attach caching information to the content.

5.4.15.1 What it means

Since a low bandwidth and a high latency can reduce the usability of a Web site on a mobile device, it is most useful to provide enough caching information to the user agent so that it does not need to reload data (e.g. style sheets, images) that is already available locally.

The HTTP protocol provides a well-defined framework for this caching mechanism that can only be optimally used if the delivered content provides enough information (e.g. an ETag header).

5.4.15.2 What to test

Machine Test: Check for the presence of cache headers on the HTTP response.

5.5 User Input

This section contains statements relating to user input. User input is typically more or a lot more restrictive on Mobile devices, which may lack pointing devices and usually do not have a standard keyboard with which to enter text.

5.5.1 Input

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

  1. "to a minimum" is not well-defined.
  2. Add this to the list of things to keep short.

[AVOID_FREE_TEXT] Avoid free text entry where possible.

  1. Delete "where possible"
  2. Provide more rationale: "Because text entry is time-consuming and prone to error, avoid interfaces (such as text entry boxes) in favor of other types of controls (e.g., menus or radio buttons).

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

  1. Delete "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.

5.5.1.1 What it means

Given the typical input limitations of a mobile device the interface must as far as possible minimize user input. Where possible, use selection lists, radio boxes and other user interface artifacts that do not require typing.

Some markup languages allow the specification of an input mode, which is particularly useful in cases where user input is to be restricted, for example to numeric only. It is anticipated that XHTML basic will support this functionality in the future.

Specification of the natural language in use assists with predictive text input.

5.5.1.2 How to do it

There are a number of techniques available for this including:

  • Where possible use previous entries as defaults.
  • Make it possible to select items using navigation keys and/or numeric input.
5.5.1.3 What to test

AVOID_FREE_TEXT Machine Test: Check whether input type="text" and textarea are used.

Human Test: If one of them is used, check whether it can be replaced by a pre-determined entry.

PROVIDE_DEFAULTS Machine Test: Check if there is a pre-selected value in controls (selected or checked attribute set).

Human Test: If not, check if there could be sensible pre-selection in the context (e.g. most common choice).

DEFAULT_INPUT_MODE Machine Test: Send a request with a user agent known to support the inputmode attribute and check that it is present on input type="text" and textarea elements.

5.5.1.4 References

This relates to WCAG 10.4

5.5.2 Tab Order

[TAB_ORDER] Create a logical tab order through links, form controls and objects.

  1. Perhaps "tab order" is the term of art. Do people use a tab key on mobile devices? In UAAG 1.0 we talk about "sequential navigation" (distinguished from "direct navigation" through keyboard shortcuts).
5.5.2.1 What it means

It is important that as the user navigates through the page the various fields and objects are presented in a logical order, especially as many of them will not be visible at the same time as the focus item.

5.5.2.2 How to do it

This should normally come from the basic structure of a document in a format like HTML.

5.5.2.3 What to test

Machine Test: Check that input and a elements use the tabindex attribute.

Human Test: If not, check whether the link order matches the needs of the user.

5.5.3 Labels

[CONTROL_LABELLING] Label all controls appropriately. Explicitly associate labels with controls where the device supports this. Position labels relative to controls appropriately.

  1. Delete "appropriately" (twice)
  2. By "explicitly" do you mean "through markup language features" (such as the "for" attribute in HTML)?
  3. Please be more explicit about what appropriate positioning is rather than make this general statements. Is "before" better than "after" in reading order?
5.5.3.1 What it means

This means use the label element in HTML, or its equivalent in other languages. Make sure that where the label goes is consistent and close to the control so re-flowing or adapting the content intelligently will always recognize label controls and keep them together.

5.5.3.2 What to test

Machine Test: Check if the label element is used in forms.

Human Test: Check whether the labels are properly positioned with regard to the controls.

5.5.3.3 References

This relates to WCAG 10.2 and 12.4.

6 Conformance and mobileOK

The Best Practice Statements are intended to be capable of having conformance statements constructed around 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 document.

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

6.1 Classes of Products

This specification applies to one class of product: content as it gets delivered to a Web user agent, including the metadata transferred as part of the delivery protocol.

6.2 Extensibility

This specification may be compatible with other specifications which describe a different set of requirements for content, insofar as such requirements do not conflict with the current specification.

A Sources (Non-Normative)

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

While the 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, whose comments have been taken into account in the creation of this document.

The editors acknowledge significant written contributions from:

C References (Non-Normative)

Scope
"Scope of Mobile Web Best Practices ", Phil Archer, Ed Mitukiewicz, W3C Working 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]
WCAG
"Web Content Accessibility Guidelines 1.0", W Chisholm, I. Jacobs, G Vanderheiden eds. W3C Recommendation 5 May 1999. (See http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505.)
DIP
Device Independence Principles, W3C Note, R. Gimson 1 September 2003 (See http://www.w3.org/TR/2003/NOTE-di-princ-20030901/.)
DCODI
Delivery Context Overview for Device Independence, W3C Note, R. Gimson and R. Lewis 18 January 2005 (See http://www.w3.org/TR/di-dco/.)
DIGLOSS
Glossary of Terms for Device Independence, W3C Working Draft, R Lewis 18 January 2005 (See http://www.w3.org/TR/2005/WD-di-gloss-20050118.)
HTTP_CHARSET
The HTTP charset parameter, Martin J. Dürst 22 September 1999 (See http://www.w3.org/International/O-HTTP-charset.)
XMLENC
Extensible Markup Language (XML) 1.0 (Third Edition) W3C Recommendation Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, Sun Microsystems, François Yergeau 04 February 2004 (See http://www.w3.org/TR/2004/REC-xml-20040204/#charencoding.)
TOMCAT
Tomcat FAQ How do I get a customized error page? (See http://tomcat.apache.org/faq/misc.html#error.)
APACHE
Apache Core Features ErrorDocument directive (See http://httpd.apache.org/docs/1.3/mod/core.html#errordocument.)
IIS
IIS Custom HTTP Error Messages (See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/ee7a8c53-f9bc-4cd4-b954-e32066105cf1.asp.)
CDFWG
CDF WG References (See http://www.w3.org/2004/CDF/Group/.)
T-MOB
T-Mobile International - Position Statement for W3C Mobile 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.)
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.)
Sprint
PCS Web 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.)