1. [THEMATIC_CONSISTENCY]
Ensure that content provided by accessing a URI yields a thematically coherent experience when accessed from different devices.
2. [CAPABILITIES]
Exploit device capabilities to provide an enhanced user experience.
3. [DEFICIENCIES]
Take reasonable steps to work around deficient implementations.
4. [TESTING]
Carry out testing on actual devices as well as emulators.
5. [URIS]
Keep the URIs of site entry points short.
6. [NAVBAR]
Provide only minimal navigation at the top of the page.
7. [BALANCE]
Take into account the trade-off between having too many links on a page and asking the user to follow too many links to reach what they are looking for.
8. [NAVIGATION]
Provide consistent navigation mechanisms.
9. [ACCESS_KEYS]
Assign access keys to links in navigational menus and frequently accessed functionality.
10. [LINK_TARGET_ID]
Clearly identify the target of each link.
11. [LINK_TARGET_FORMAT]
Note the target file's format unless you know the device supports it.
12. [IMAGE_MAPS]
Do not use image maps unless you know the device supports them effectively.
13. [POP_UPS]
Do not cause pop-ups or other windows to appear and do not change the current window without informing the user.
14. [AUTO_REFRESH]
Do not create periodically auto-refreshing pages, unless you have informed the user and provided a means of stopping it.
15. [REDIRECTION]
Do not use markup to redirect pages automatically. Instead, configure the server to perform redirects by means of HTTP 3xx codes.
16. [EXTERNAL_RESOURCES]
Keep the number of externally linked resources to a minimum.
17. [SUITABLE]
Ensure that content is suitable for use in a mobile context.
18. [CLARITY]
Use clear and simple language.
19. [LIMITED]
Limit content to what the user has requested.
20. [PAGE_SIZE_USABLE]
Divide pages into usable but limited size portions.
21. [PAGE_SIZE_LIMIT]
Ensure that the overall size of page is appropriate to the memory limitations of the device.
22. [SCROLLING]
Limit scrolling to one direction, unless secondary scrolling cannot be avoided.
23. [CENTRAL_MEANING]
Ensure that material that is central to the meaning of the page precedes material that is not.
24. [GRAPHICS_FOR_SPACING]
Do not use graphics for spacing.
25. [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.
26. [USE_OF_COLOR]
Ensure that information conveyed with color is also available without color.
27. [COLOR_CONTRAST]
Ensure that foreground and background color combinations provide sufficient contrast.
28. [BACKGROUND_IMAGE_READABILITY]
When using background images make sure that content remains readable on the device.
29. [PAGE_TITLE]
Provide a short but descriptive page title.
30. [NO_FRAMES]
Do not use frames.
31. [STRUCTURE]
Use features of the markup language to indicate logical document structure.
32. [TABLES_SUPPORT]
Do not use tables unless the device is known to support them.
33. [TABLES_NESTED]
Do not use nested tables.
34. [TABLES_LAYOUT]
Do not use tables for layout.
35. [TABLES_ALTERNATIVES]
Where possible, use an alternative to tabular presentation.
36. [NON-TEXT_ALTERNATIVES]
Provide a text equivalent for every non-text element.
37. [OBJECTS_OR_SCRIPT]
Do not rely on embedded objects or script.
38. [IMAGES_SPECIFY_SIZE]
Specify the size of images in markup, if they have an intrinsic size.
39. [IMAGES_RESIZING]
Resize images at the server, if they have an intrinsic size.
40. [VALID_MARKUP]
Create documents that validate to published formal grammars.
41. [MEASURES]
Do not use pixel measures and do not use absolute units in markup language attribute values and style sheet property values.
42. [STYLE_SHEETS_USE]
Use style sheets to control layout and presentation, unless the device is known not to support them.
43. [STYLE_SHEETS_SUPPORT]
Organize documents so that if necessary they may be read without style sheets.
44. [STYLE_SHEETS_SIZE]
Keep style sheets small.
45. [MINIMIZE]
Use terse, efficient markup.
46. [CONTENT_FORMAT_SUPPORT]
Send content in a format that is known to be supported by the device.
47. [CONTENT_FORMAT_PREFERRED]
Where possible, send content in a preferred format.
48. [CHARACTER_ENCODING_SUPPORT]
Ensure that content is encoded using a character encoding that is known to be supported by the device.
49. [CHARACTER_ENCODING_USE]
Indicate in the response the character encoding being used.
50. [ERROR_MESSAGES]
Provide informative error messages and a means of navigating away from an error message back to useful information.
51. [COOKIES]
Do not rely on cookies being available.
52. [CACHING]
Provide caching information in HTTP responses.
53. [FONTS]
Do not rely on support of font related styling.
54. [MINIMIZE_KEYSTROKES]
Keep the number of keystrokes to a minimum.
55. [AVOID_FREE_TEXT]
Avoid free text entry where possible.
56. [PROVIDE_DEFAULTS]
Provide pre-selected default values where possible.
57. [DEFAULT_INPUT_MODE]
Specify a default text entry mode, language and/or input format, if the device is known to support it.
58. [TAB_ORDER]
Create a logical order through links, form controls and objects.
59. [CONTROL_LABELLING]
Label all form controls appropriately and explicitly associate labels with form controls.
60. [CONTROL_POSITION]
Position labels so they lay out properly in relation to the form controls they refer to.