This is an archive of an inactive wiki and cannot be modified.

This is the list of best practices from the Mobile Web Best Practices document; the links of the first column lead to the complete list of techniques available.

Moniker

Best Practice

Number of techniques available

Overall Behavior

CategoryBpThematicConsistency

Ensure that content provided by accessing a URI yields a thematically coherent experience when accessed from different devices.

[[CountLinks(CategoryBpThematicConsistency,2)]]

CategoryBpCapabilities

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

[[CountLinks(CategoryBpCapabilities,2)]]

CategoryBpDeficiencies

Take reasonable steps to work around deficient implementations.

[[CountLinks(CategoryBpDeficiencies,2)]]

CategoryBpTesting

Carry out testing on actual devices as well as emulators.

[[CountLinks(CategoryBpTesting,2)]]

Navigation and Links

CategoryBpUris

Keep the URIs of site entry points short.

[[CountLinks(CategoryBpUris,2)]]

CategoryBpNavbar

Provide only minimal navigation at the top of the page.

[[CountLinks(CategoryBpNavbar,2)]]

CategoryBpBalance

Take into account the trade-off between having too many links on a page and asking the user to follow too many links to reach what they are looking for.

[[CountLinks(CategoryBpBalance,2)]]

CategoryBpNavigation

Provide consistent navigation mechanisms.

[[CountLinks(CategoryBpNavigation,2)]]

CategoryBpAccessKeys

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

[[CountLinks(CategoryBpAccessKeys,2)]]

CategoryBpLinkTargetId

Clearly identify the target of each link.

[[CountLinks(CategoryBpLinkTargetId,2)]]

CategoryBpLinkTargetFormat

Note the target file's format unless you know the device supports it.

[[CountLinks(CategoryBpLinkTargetFormat,2)]]

CategoryBpImageMaps

Do not use image maps unless you know the target client supports them effectively.

[[CountLinks(CategoryBpImageMaps,2)]]

CategoryBpPopUps

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

[[CountLinks(CategoryBpPopUps,2)]]

CategoryBpAutoRefresh

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

[[CountLinks(CategoryBpAutoRefresh,2)]]

CategoryBpRedirection

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

[[CountLinks(CategoryBpRedirection,2)]]

CategoryBpExternalResources

Keep the number of externally linked resources to a minimum.

[[CountLinks(CategoryBpExternalResources,2)]]

Page Layout and Content

CategoryBpSuitable

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

[[CountLinks(CategoryBpSuitable,2)]]

CategoryBpClarity

Use clear and simple language.

[[CountLinks(CategoryBpClarity,2)]]

CategoryBpLimited

Limit content to what the user has requested.

[[CountLinks(CategoryBpLimited,2)]]

CategoryBpPageSizeUsable

Divide pages into usable but limited size portions.

[[CountLinks(CategoryBpPageSizeUsable,2)]]

CategoryBpPageSizeLimit

Ensure that the overall size of page is appropriate to the memory limitations of the device.

[[CountLinks(CategoryBpPageSizeLimit,2)]]

CategoryBpScrollingOneDir

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

[[CountLinks(CategoryBpScrolling,2)]]

CategoryBpCentralMeaning

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

[[CountLinks(CategoryBpCentralMeaning,2)]]

CategoryBpGraphicsForSpacing

Do not use graphics for spacing.

[[CountLinks(CategoryBpGraphicsForSpacing,2)]]

CategoryBpLargeGraphics

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.

[[CountLinks(CategoryBpLargeGraphics,2)]]

CategoryBpUseOfColor

Ensure that information conveyed with color is also available without color.

[[CountLinks(CategoryBpUseOfColor,2)]]

CategoryBpColorContrast

Ensure that foreground and background color combinations provide sufficient contrast.

[[CountLinks(CategoryBpColorContrast,2)]]

CategoryBpBackgroundImageReadability

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

[[CountLinks(CategoryBpBackgroundImageReadability,2)]]

Page Definition

CategoryBpPageTitle

Provide a short but descriptive page title.

[[CountLinks(CategoryBpPageTitle,2)]]

CategoryBpNoFrames

Do not use frames.

[[CountLinks(CategoryBpNoFrames,2)]]

CategoryBpStructure

Use features of the markup language to indicate logical document structure.

[[CountLinks(CategoryBpStructure,2)]]

CategoryBpTablesSupport

Do not use tables unless the client is known to support them.

[[CountLinks(CategoryBpTablesSupport,2)]]

CategoryBpTablesNested

Do not use nested tables.

[[CountLinks(CategoryBpTablesNested,2)]]

CategoryBpTablesLayout

Do not use tables for layout.

[[CountLinks(CategoryBpTablesLayout,2)]]

CategoryBpTablesAlternatives

Where possible, use an alternative to tabular presentation.

[[CountLinks(CategoryBpTablesAlternatives,2)]]

CategoryBpNontextAlternatives

Provide a text equivalent for every non-text element.

[[CountLinks(CategoryBpNontextAlternatives,2)]]

CategoryBpObjectsOrScript

Do not rely on embedded objects or script.

[[CountLinks(CategoryBpObjectsOrScript,2)]]

CategoryBpImagesSpecifySize

Specify the size of images in markup, if they have an intrinsic size.

[[CountLinks(CategoryBpImagesSpecifySize,2)]]

CategoryBpImagesResizing

Resize images at the server, if they have an intrinsic size.

[[CountLinks(CategoryBpImagesResizing,2)]]

CategoryBpValidMarkup

Create documents that validate to published formal grammars.

[[CountLinks(CategoryBpValidMarkup,2)]]

CategoryBpMeasures

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

[[CountLinks(CategoryBpMeasures,2)]]

CategoryBpStyleSheetsUse

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

[[CountLinks(CategoryBpStyleSheetsUse,2)]]

CategoryBpStyleSheetsSupport

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

[[CountLinks(CategoryBpStyleSheetsSupport,2)]]

CategoryBpStyleSheetsSize

Keep style sheets small.

[[CountLinks(CategoryBpStyleSheetsSize,2)]]

CategoryBpMinimizeMarkup

Use terse, efficient markup.

[[CountLinks(CategoryBpMinimizeMarkup,2)]]

CategoryBpContentFormatSupport

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

[[CountLinks(CategoryBpContentFormatSupport,2)]]

CategoryBpContentFormatPreferred

Where possible, send content in a preferred format.

[[CountLinks(CategoryBpContentFormatPreferred,2)]]

CategoryBpCharacterEncodingSupport

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

[[CountLinks(CategoryBpCharacterEncodingSupport,2)]]

CategoryBpCharacterEncodingUse

Indicate in the response the character encoding being used.

[[CountLinks(CategoryBpCharacterEncodingUse,2)]]

CategoryBpErrorMessages

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

[[CountLinks(CategoryBpErrorMessages,2)]]

CategoryBpCookies

Do not rely on cookies being available.

[[CountLinks(CategoryBpCookies,2)]]

CategoryBpCaching

Provide caching information in HTTP responses.

[[CountLinks(CategoryBpCaching,2)]]

CategoryBpFonts

Do not rely on support of font related styling.

[[CountLinks(CategoryBpFonts,2)]]

User Input

CategoryBpMinimizeKeystrokes

Keep the number of keystrokes to a minimum.

[[CountLinks(CategoryBpMinimizeKeystrokes,2)]]

CategoryBpAvoidFreeText

Avoid free text entry where possible.

[[CountLinks(CategoryBpAvoidFreeText,2)]]

CategoryBpProvideDefaults

Provide pre-selected default values where possible.

[[CountLinks(CategoryBpProvideDefaults,2)]]

CategoryBpDefaultInputMode

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

[[CountLinks(CategoryBpDefaultInputMode,2)]]

CategoryBpTabOrder

Create a logical order through links, form controls and objects.

[[CountLinks(CategoryBpTabOrder,2)]]

CategoryBpControlLabelling

Label all controls appropriately and explicitly associate labels with controls.

[[CountLinks(CategoryBpControlLabelling,2)]]

CategoryBpControlPosition

Position labels so they lay out properly in relation to the controls they refer to.

[[CountLinks(CategoryBpControlPosition,2)]]

Contributions to this wiki are governed by the W3C policies for Contribution to W3C' wiki on Mobile Web.