From MWBP to WCAG 1.0: Making content that meets Mobile Web Best Practices also meet Web Content Accessibility Guidelines 1.0
W3C Working Group Note 9 July 2009
Introduction
This page is part of a multi-page document. Please refer to the “How to Use This Document” section for more information.
For those familiar with Mobile Web Best Practices (MWBP), this page describes what also needs to be done to meet Web Content Accessibility Guidelines 1.0. W3C WAI recommends using WCAG 2.0, instead of WCAG 1.0. If your site is required to meet WCAG 1.0, you can develop it to meet both WCAG 1.0 and WCAG 2.0.
Summary of work required to make content that meets MWBP also meet WCAG 1.0
Compliance with the MWBP helps go some way towards achieving compliance with some WCAG 1.0 checkpoints. This section provides a summary of these checkpoints. There are three possible levels of effort required, labelled for simplicity with the keywords nothing, something and everything. To summarise, if your content already complies with the MWBP, to achieve compliance with WCAG 1.0, you need to do the following:
Nothing: If a provision is labelled “Nothing” then content that complies with MWBP already complies with the provision and no further effort is necessary.The following list includes all of the provisions that are marked “Nothing”. Links in this section point to the relevant provisions.
- 1.1 Provide a text equivalent for every non-text element (e.g., via “alt”, “longdesc”, or in element content)… (Priority 1), covered by NON-TEXT_ALTERNATIVES and possibly covered by IMAGE_MAPS.
- 2.1 Ensure that all information conveyed with color is also available without color, for example from context or markup (Priority 1), covered by USE_OF_COLOR.
- 3.2 Create documents that validate to published formal grammars (Priority 2), covered by VALID_MARKUP.
- 3.3 Use style sheets to control layout and presentation (Priority 2), covered by STYLE_SHEETS_USE.
- 3.4 Use relative rather than absolute units in markup language attribute values and style sheet property values (Priority 2), covered by MEASURES.
- 3.5 Use header elements to convey document structure and use them according to specification (Priority 2), covered by STRUCTURE.
- 6.1 Organize documents so they may be read without style sheets (Priority 1), covered by STYLE_SHEETS_SUPPORT and partially covered by FONTS.
- 6.3 Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported… (Priority 1), covered by OBJECTS_OR_SCRIPT.
- 7.4 Until user agents provide the ability to stop the refresh, do not create periodically auto-refreshing pages (Priority 2), covered by AUTO_REFRESH.
- 7.5 Until user agents provide the ability to stop auto-redirect, do not use markup to redirect pages automatically. Instead, configure the server to perform redirects (Priority 2), covered by REDIRECTION.
- 9.4 Create a logical tab order through links, form controls, and objects (Priority 3), covered by TAB_ORDER.
- 9.5 Provide keyboard shortcuts to important links (including those in client-side image maps), form controls, and groups of form controls (Priority 3), covered by ACCESS_KEYS, possibly partially covered by IMAGE_MAPS and possibly partially covered by MINIMIZE_KEYSTROKES.
- 10.1 Until user agents allow users to turn off spawned windows, do not cause pop-ups or other windows to appear and do not change the current window without informing the user (Priority 2), covered by POP_UPS.
- 10.4 Until user agents handle empty controls correctly, include default, place-holding characters in edit boxes and text areas (Priority 3), covered by PROVIDE_DEFAULTS.
- 12.4 Associate labels explicitly with their controls (Priority 2), covered by CONTROL_LABELLING.
- 13.4 Use navigation mechanisms in a consistent manner (Priority 2), covered by NAVIGATION.
- 13.8 Place distinguishing information at the beginning of headings, paragraphs, lists, etc. (Priority 3), covered by CLARITY.
Something: If a provision is labelled “Something” then more effort of some kind is necessary to comply with the provision. All of the provisions marked “Something” are included in the list below. Each item in the list is a link to an explanation of what is required, in the next section of this report. For each there is a list of the provisions that may provide some compliance or are in some way related. There is no direct correspondence between one provision and another. In some cases, it may be necessary to make an extra effort or to consider a more diverse range of user needs. In these cases, the word “possibly” is used. In other cases scope may be different, giving partial compliance. In these cases the word “partially” is used. Checkpoint links in this section point to the detail section below; BPs link to the MWBP Recommendation.
- 1.2 Provide redundant text links for each active region of a server-side image map (Priority 1), partially covered by NON-TEXT_ALTERNATIVES and possibly covered by IMAGE_MAPS.
- 1.5 Until user agents render text equivalents for client-side image map links, provide redundant text links for each active region of a client-side image map (Priority 3), possibly covered by IMAGE_MAPS and NON-TEXT_ALTERNATIVES.
- 2.2 Ensure that foreground and background color combinations provide sufficient contrast when viewed by someone having color deficits or when viewed on a black and white screen. (Priority 2 for images, Priority 3 for text), partially covered by COLOR_CONTRAST and BACKGROUND_IMAGE_READABILITY.
- 3.1 When an appropriate markup language exists, use markup rather than images to convey information (Priority 2), possibly partially covered by NON-TEXT_ALTERNATIVES and GRAPHICS_FOR_SPACING.
- 5.1 For data tables, identify row and column headers (Priority 1), possibly covered by TABLES_SUPPORT and TABLES_ALTERNATIVES.
- 5.2 For data tables that have two or more logical levels of row or column headers, use markup to associate data cells and header cells (Priority 1), possibly covered by TABLES_SUPPORT, TABLES_NESTED and TABLES_ALTERNATIVES.
- 5.3 Do not use tables for layout unless the table makes sense when linearized (Priority 2), possibly covered by TABLES_LAYOUT, TABLES_SUPPORT and TABLES_ALTERNATIVES.
- 5.4 If a table is used for layout, do not use any structural markup for the purpose of visual formatting (Priority 2), possibly covered by TABLES_LAYOUT, TABLES_SUPPORT and TABLES_ALTERNATIVES.
- 5.5 Provide summaries for tables (Priority 3), possibly covered by TABLES_SUPPORT and TABLES_ALTERNATIVES.
- 5.6 Provide abbreviations for header labels (Priority 3), possibly covered by TABLES_SUPPORT and TABLES_ALTERNATIVES.
- 6.2 Ensure that equivalents for dynamic content are updated when the dynamic content changes (Priority 1), possibly partially covered by OBJECTS_OR_SCRIPT.
- 9.1 Provide client-side image maps instead of server-side image maps except where the regions cannot be defined with an available geometric shape (Priority 1), possibly covered by IMAGE_MAPS.
- 10.2 Until user agents support explicit associations between labels and form controls, for all form controls with implicitly associated labels, ensure that the label is properly positioned (Priority 2), partially covered by CONTROL_POSITION.
- 10.3 Until user agents (including assistive technologies) render side-by-side text correctly, provide a linear text alternative (on the current page or some other) for all tables that lay out text in parallel, word-wrapped columns (Priority 3), possibly partially covered TABLES_ALTERNATIVES.
- 11.1 Use W3C technologies when they are available and appropriate for a task and use the latest versions when supported (Priority 2), possibly partially covered by VALID_MARKUP.
- 11.2 Avoid deprecated features of W3C technologies (Priority 2), possibly partially covered by VALID_MARKUP and partially covered by FONTS.
- 12.1 Title each frame to facilitate frame identification and navigation (Priority 1), possibly covered by NO_FRAMES.
- 12.2 Describe the purpose of frames and how frames relate to each other if it is not obvious by frame titles alone (Priority 2), possibly covered by NO_FRAMES.
- 12.3 Divide large blocks of information into more manageable groups where natural and appropriate (Priority 2), partially covered by PAGE_SIZE_USABLE.
- 13.1 Clearly identify the target of each link (Priority 2), partially covered by LINK_TARGET_ID.
- 13.2 Provide metadata to add semantic information to pages and sites (Priority 2), partially covered by PAGE_TITLE.
- 13.5 Provide navigation bars to highlight and give access to the navigation mechanism (Priority 3), possibly NAVBAR.
- 13.6 Group related links, identify the group (for user agents), and, until user agents do so, provide a way to bypass the group (Priority 3), possibly NAVBAR and partially possibly CENTRAL_MEANING.
- 14.1 Use the clearest and simplest language appropriate for a site's content (Priority 1), partially covered by CLARITY.
Everything: For all other CPs, the MWBP do not ensure compliance and it will be necessary to do the work involved. These CPs are not related to any MWBPs.
- 1.3 Until user agents can automatically read aloud the text equivalent of a visual track, provide an auditory description of the important information of the visual track of a multimedia presentation (Priority 1).
- 1.4 For any time-based multimedia presentation (e.g., a movie or animation), synchronize equivalent alternatives (e.g., captions or auditory descriptions of the visual track) with the presentation (Priority 1).
- 4.1 Clearly identify changes in the natural language of a document's text and any text equivalents (e.g., captions) (Priority 1)
- 7.1 Until user agents allow users to control flickering, avoid causing the screen to flicker. (Priority 1)
- 8.1 Make programmatic elements such as scripts and applets directly accessible or compatible with assistive technologies (Priority 1 if functionality is important and not presented elsewhere, otherwise Priority 2)
- 11.4 If, after best efforts, you cannot create an accessible page, provide a link to an alternative page that uses W3C technologies, is accessible, has equivalent information (or functionality), and is updated as often as the inaccessible (original) page. (Priority 1)
- 3.6 Mark up lists and list items properly. (Priority 2)
- 3.7 Mark up quotations. Do not use quotation markup for formatting effects such as indentation.
- 6.4 For scripts and applets, ensure that event handlers are input device-independent. (Priority 2)
- 6.5 Ensure that dynamic content is accessible or provide an alternative presentation or page. (Priority 2)
- 7.2 Until user agents allow users to control blinking, avoid causing content to blink (i.e., change presentation at a regular rate, such as turning on and off). (Priority 2)
- 7.3 Until user agents allow users to freeze moving content, avoid movement in pages. (Priority 2)
- 8.1 Make programmatic elements such as scripts and applets directly accessible or compatible with assistive technologies (priority 1 if functionality is important and not presented elsewhere). (Priority 2)
- 9.2 Ensure that any element that has its own interface can be operated in a device-independent manner. (Priority 2)
- 9.3 For scripts, specify logical event handlers rather than device-dependent event handlers. (Priority 2)
- 13.3 Provide information about the general layout of a site (e.g., a site map or table of contents). (Priority 2)
- 4.2 Specify the expansion of each abbreviation or acronym in a document where it first occurs. (Priority 3)
- 4.3 Identify the primary natural language of a document. (Priority 3)
- 10.5 Until user agents (including assistive technologies) render adjacent links distinctly, include non-link, printable characters (surrounded by spaces) between adjacent links. (Priority 3)
- 11.3 Provide information so that users may receive documents according to their preferences (e.g., language, content type, etc.) (Priority 3)
- 13.7 If search functions are provided, enable different types of searches for different skill levels and preferences. (Priority 3)
- 13.9 Provide information about document collections (i.e., documents comprising multiple pages). (Priority 3)
- 13.10 Provide a means to skip over multi-line ASCII art. (Priority 3)
- 14.2 Supplement text with graphic or auditory presentations where they will facilitate comprehension of the page.
- 14.3 Create a style of presentation that is consistent across pages. (Priority 3)
Addressing WCAG 1.0 Checkpoints
This section lists each of the WCAG 1.0 checkpoints that are related to MWBP, which are listed under “something” above. For each checkpoint, the section title is that of the checkpoint. This is followed by a quotation of the text of the checkpoint (sometimes abbreviated) and a list of the BPs that can help meet it. The information given in this document is intentionally brief. A separate document, entitled “Techniques for Web Content Accessibility Guidelines 1.0”, explains how to implement the checkpoints. The Techniques Document discusses each checkpoint in more detail and provides examples
1.2 Provide redundant text links for each active region of a server-side image map
WCAG 1.0: “Provide redundant text links for each active region of a server-side image map.” (Priority 1)
- NON-TEXT_ALTERNATIVES ensures there is a text alternative for any server-side image map.
- IMAGE_MAPS: If, as suggested by this BP, image maps are not used then the checkpoint does not apply. However, if you have used server-side image maps, then provide redundant text links for each active region. Techniques for checkpoint 1.2 provides further information on how to achieve this.
Back to list of WCAG 1.0 checkpoints
1.5 …provide redundant text links for each active region of a client-side image map
WCAG 1.0: “Until user agents render text equivalents for client-side image map links, provide redundant text links for each active region of a client-side image map.” (Priority 3)
- NON-TEXT_ALTERNATIVES ensures there is a text alternative for any image map.
- IMAGE_MAPS: If, as suggested by this BP, image maps are not used then the checkpoint does not apply.
Back to list of WCAG 1.0 checkpoints
2.2 Ensure that foreground and background color combinations provide sufficient contrast…
WCAG 1.0: “Ensure that foreground and background color combinations provide sufficient contrast when viewed by someone having color deficits or when viewed on a black and white screen (for images). [Priority 2 for images, Priority 3 for text]”
- COLOR_CONTRAST partially covers this checkpoint. However, the main focus of the BP is the limitations of mobile devices in displaying contrasting colours.
- BACKGROUND_IMAGE_READABILITY partially covers this checkpoint as it also focuses on the device limitations.
Back to list of WCAG 1.0 checkpoints
3.1 When an appropriate markup language exists, use markup…
WCAG 1.0: “When an appropriate markup language exists, use markup rather than images to convey information" (Priority 2).
- GRAPHICS_FOR_SPACING partially covers this checkpoint. However, the scope of this checkpoint is much broader than that of the BP, which only refers to images used for spacing. This checkpoint also refers to using appropriate markup for mathematical equations, structure of the document, etc.
Back to list of WCAG 1.0 checkpoints
- TABLES_SUPPORT possibly covers this checkpoint: In contexts where tables are not used, this checkpoint does not apply.
- TABLES_ALTERNATIVES possibly covers this checkpoint: In contexts where alternatives are provided, this checkpoint does not apply.
Depending on device support, tables may or may not be used, as described for above. However, in contexts where tables are used, identify row and column headers using appropriate markup as required by this checkpoint.
Back to list of WCAG 1.0 checkpoints
5.2 For data tables that have two or more logical levels of row or column headers…
WCAG 1.0: “For data tables that have two or more logical levels of row or column headers, use markup to associate data cells and header cells.” (Priority 1)
Depending on device support, tables may or may not be used, as described for checkpoint 5.1, above. However, in contexts where tables are used, identify row and column headers using appropriate markup as required by this checkpoint.
Back to list of WCAG 1.0 checkpoints
5.3 Do not use tables for layout unless…
WCAG 1.0: “Do not use tables for layout unless the table makes sense when linearized.” (Priority 2)
- TABLES_LAYOUT covers this checkpoint: As tables are not used, this checkpoint does not apply.
Back to list of WCAG 1.0 checkpoints
5.4 If a table is used for layout, do not use any structural markup for the purpose of visual formatting
WCAG 1.0: “If a table is used for layout, do not use any structural markup for the purpose of visual formatting.” (Priority 2)
- TABLES_LAYOUT covers this checkpoint: As tables are not used, this checkpoint does not apply.
Back to list of WCAG 1.0 checkpoints
5.5 Provide summaries for tables
WCAG 1.0: “Provide summaries for tables. For example, in HTML, use the “summary” attribute of the TABLE element (Priority 3).
Depending on device support, tables may or may not be used, as described for checkpoint 5.1, above. However, in contexts where tables are used, provide summaries as required by this checkpoint.
Back to list of WCAG 1.0 checkpoints
5.6 Provide abbreviations for header labels
WCAG 1.0: “Provide abbreviations for header labels.” (Priority 3)
Depending on device support, tables may or may not be used, as described for checkpoint 5.1, above. However, in contexts where tables are used, provide abbreviations for header labels where appropriate, as described by this checkpoint.
Back to list of WCAG 1.0 checkpoints
6.2 Ensure that equivalents for dynamic content are updated…
WCAG 1.0: “Ensure that equivalents for dynamic content are updated when the dynamic content changes.” (Priority 1)
- OBJECTS_OR_SCRIPT may partly cover this checkpoint: In contexts where objects and scripts are not used, this checkpoint does not apply to them.
- NO_FRAMES partly covers this checkpoint: Insofar as frames are not used, it does not apply to them.
Back to list of WCAG 1.0 checkpoints
9.1 Provide client-side image maps instead of server-side image maps…
WCAG 1.0: “Provide client-side image maps instead of server-side image maps except where the regions cannot be defined with an available geometric shape.” (Priority 1)
- IMAGE_MAPS may possibly cover this checkpoint: In contexts where image maps are not used, this checkpoint does not apply. However, if they are necessary, client-side image maps should be used where possible.
Back to list of WCAG 1.0 checkpoints
10.2 Until user agents support explicit associations between labels…
WCAG 1.0: “Until user agents support explicit associations between labels and form controls, for all form controls with implicitly associated labels, ensure that the label is properly positioned.” (Priority 2)
- CONTROL_POSITION partially covers this checkpoint. However, WCAG is more specific about the positioning of the labels.
Back to list of WCAG 1.0 checkpoints
10.3 Until user agents (including assistive technologies) render side-by-side text correctly…
WCAG 1.0: “Until user agents (including assistive technologies) render side-by-side text correctly, provide a linear text alternative (on the current page or some other) for all tables that lay out text in parallel, word-wrapped columns.” (Priority 3)
Depending on device support, tables may or may not be used, as described for checkpoint 5.1, above. However, in contexts where tables are used to lay out text in parallel, word-wrapped columns, provide a linear text alternative, as described by this checkpoint.
Back to list of WCAG 1.0 checkpoints
11.1 Use W3C technologies when they are available and appropriate for a task…
WCAG 1.0: “Use W3C technologies when they are available and appropriate for a task and use the latest versions when supported.” (Priority 2)
- VALID_MARKUP partially covers this checkpoint (as it recommends that documents be valid to published formal grammars), but the checkpoint also recommends using the latest, supported version of those grammars.
Back to list of WCAG 1.0 checkpoints
11.2 Avoid deprecated features of W3C technologies
WCAG 1.0: “Avoid deprecated features of W3C technologies” (Priority 2)
- VALID_MARKUP may help with this checkpoint if the validator indicates deprecated markup.
Back to list of WCAG 1.0 checkpoints
12.1 Title each frame to facilitate frame identification and navigation
WCAG 1.0: “Title each frame to facilitate frame identification and navigation” (Priority 1)
- NO_FRAMES covers this checkpoint: As frames are not used, it does not apply.
Back to list of WCAG 1.0 checkpoints
12.2 Describe the purpose of frames and how frames relate to each other…
WCAG 1.0: “Describe the purpose of frames and how frames relate to each other if it is not obvious by frame titles alone.” (Priority 2)
- NO_FRAMES covers this checkpoint: As frames are not used, it does not apply.
Back to list of WCAG 1.0 checkpoints
WCAG 1.0: “Divide large blocks of information into more manageable groups where natural and appropriate.” (Priority 2)
- PAGE_SIZE_USABLE partially covers this checkpoint. However, the BP concerns splitting content into smaller pages while WCAG also requires grouping and structuring content within a page.
Back to list of WCAG 1.0 checkpoints
13.1 Clearly identify the target of each link
WCAG 1.0: “Clearly identify the target of each link.” (Priority 2)
- LINK_TARGET_ID may ensure compliance with this checkpoint. However, the intent of the checkpoint is to ensure that users can identify the purpose of the link out of context (for example, in a list of links created by the user agent). The techniques for the checkpoint also require consistent identification (same destination, same description).
Back to list of WCAG 1.0 checkpoints
WCAG 1.0: “Provide metadata to add semantic information to pages and sites.” (Priority 2)
- PAGE_TITLE partially covers this checkpoint. A page title is semantic metadata, but the scope of this checkpoint is much broader. For example HTML provides the
META
element, and allows linking of metadata contained in RDF documents, and the REL
element to describe relationships between pages. While such rich metadata may not be supported by existing mobile devices it can be useful to other systems.
Back to list of WCAG 1.0 checkpoints
13.5 Provide navigation bars to highlight and give access to the navigation mechanism
WCAG 1.0: “Provide navigation bars to highlight and give access to the navigation mechanism” (Priority 3)
- NAVBAR partially covers this checkpoint. The BP requires minimum navigation at the top of the page, which is not the main focus of the checkpoint.
Back to list of WCAG 1.0 checkpoints
13.6 Group related links, identify the group (for user agents)…
WCAG 1.0: “Group related links, identify the group (for user agents), and, until user agents do so, provide a way to bypass the group” (Priority 3)
- NAVBAR may go some way towards covering this checkpoint if the navigation bar is a group (for example a list).
- CENTRAL_MEANING partially covers this checkpoint. It focuses on designing pages such that the user does not need to scroll vertically to reach the main content of the page. However, this checkpoint is more about augmenting the page content such that the user can skip past certain parts of the content.
Back to list of WCAG 1.0 checkpoints
14.1 Use the clearest and simplest language appropriate for a site's content
WCAG 1.0: “Use the clearest and simplest language appropriate for a site's content.” (Priority 1)
- CLARITY may possibly help but it concerns a different aspect of language comprehension. WCAG is concerned with a user's reading ability, while this BP is concerned with reading difficulty due to context of use (for example, small screen, distracting environnment, lack of time).
Back to list of WCAG 1.0 checkpoints
Updated 27 June 2009.