How to Implement

The following sections provide details to state web developers on how to implement the State accessibility standards for California State Government websites. The sections below correspond to the twenty-one functional areas identified in Section II of the Recommendation for Accessibility Standards for State Web Pages document, adopted in July 2006. Within each functional area, cross-references are provided to the corresponding checkpoints of the Web Content Accessibility Guidelines (WCAG).

Accessibility Link

Websites must provide accessibility information, including policies and help. The link to this information belongs at the top or bottom of each page. Each agency should create a page that is tailored to fit their needs.

1. Coding

a. Use valid, standard web programming code. [Ref: WCAG 3.2, 11.1]

Programming code is considered “valid” when it follows all the rules and conventions specified in the published standards of the World Wide Web Consortium (W3C). Web developers should adhere to these published standards when creating code. W3C technologies for which such standards exist include:

  • HTML, XHTML, XML for structured documents
  • CSS and XSL to define style sheets
  • XSLT to create style transformations
  • SMIL to create multimedia presentations

How To Implement : The State of California has adopted XHTML 1.0 Strict as the approved formal grammar for structured web page content. Indicate you are using this language by starting your code with a document type (DOCTYPE) declaration as follows:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN””http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

Be sure to use the W3C HTML Validation Service and W3C CSS Validation Service to check your code.

b. Use appropriate markup to convey document structure. [Ref: WCAG 3.5, 3.6, 3.7, 5.4]

HTML includes markup (programming code) to identify the structural elements of a document. For example, the <p> element identifies a paragraph and <h1> identifies a first-level heading. Since some users skim through a document by navigating its headings, it is important to use them appropriately to convey document structure.

How To Implement : Identify section heading, paragraphs, lists, quotes, etc using the appropriate tags instead of relying on formatting commands to distinguish these elements. For example, use <h1> tags to identify top-level headings rather than simply applying font-size or bold formatting commands.

Do not misuse structural elements for formatting effects, such as using <h1> to make text bold or <blockquote> to indent a paragraph that is not actually a quotation. Users should order heading elements properly. For example, in HTML, H2 elements should follow H1 elements, H3 elements should follow H2 elements, etc. Web developers should not “skip” levels (e.g., H1 directly to H3).

Do not use headings to create display effects; use style sheets for this purpose.

Example: In this example heading tags have been properly used to define the structure of the document.

<head>
<title>Cooking Techniques</title>
<style type="text/css">    div.section2 
{ margin-left: 5% } </style>  </head>
<body>      <h1>Cooking Techniques</h1> 	
<p>... some text here ...</p>  	
<div class="section2"> 	<h2>cooking with oil</h2>    	   	
<p>... text of the section ...</p>  	</div>       
<div class="section2"><h2>cooking with butter</h2>    	   	
<p>... text of the section ...</p>  	</div>

Additional Considerations:

The HTML list elements DL, UL, and OL should be used only to create lists, not for formatting effects such as indentation.

Although not recommended, if you have used a table for layout, do not use the <th> tag (to get bold, centered text). Using a <th> tag can fool a screen reader into thinking it is inside a data table.

c. Use style sheets for formatting whenever possible. [Ref: WCAG 3.3]

Cascading Style Sheets (CSS) is a formatting language designed to complement HTML. While HTML is designed to identify a document’s structure, CSS defines formatting and presentation. Pages must be usable and function properly when CSS is not supported by an older browser or if the browser has styles turned off.

How To Implement : See the W3C’s Cascading Style Sheets site for specifications, tutorials, and resources.

Note: Some older web browsers, notably Internet Explorer 3 and Netscape 4, have problematic support for CSS. Be sure to test pages using CSS in multiple browsers.

d. Avoid deprecated W3C markup and technologies [Ref: WCAG 11.2]

A deprecated element or attribute is one that has been outdated by newer constructs. Examples are the FONT tag and color attributes which have been deprecated in order to encourage the use of style sheets. Using deprecated elements instead of newer elements will make your site incompatible with the latest version of HTML and may, despite your best intentions, decrease its accessibility.

How To Implement : XHTML 1.0 Strict, the California State standard DOCTYPE, does not allow the use of any deprecated elements and attributes. Instead, use CSS for formatting when possible. Be familiar with the W3C’s deprecated elements for the various standards the W3C develops (HTML, XML, CSS, etc.)

e. Use metadata to add semantic information to pages and sites. [Ref WCAG 13.2]

Metadata provides information about the document itself, i.e., metadata is information about data. Well-crafted metadata can provide important orientation information to users, search engines, and content management systems.

How To Implement : Use the <title>, <doctype>, <link>, and <meta> tags to provide useful information about a document.

Examples:

<meta name=”author” content=”John Doe” /><meta name=”copyright” content=”© 1997 Acme Corp.” /><meta name=”keywords” content=”corporate,guidelines,cataloging” />

<meta name=”date” content=”1994-11-06T08:49:37+00:00″ />

In the following example, the author’s name is given and is identified as being French:

<meta n
ame=”Author” lang=”fr” content=”Arnaud Le Hors” />

2. Text

a. Avoid using images to display text. [Ref: WCAG 3.1]

Users with limited vision rely on the ability to enlarge text or choose enhanced color combinations. However, most web browsers cannot change the size and color of images, causing accessibility problems for these users when images of text are used to achieve a specific style, size, or special effect.

How To Implement : Whenever possible, use actual text instead of images of text. Style sheets can be used to achieve specific sizes, colors, or effects. Text that requires exact formatting, such as logos, are appropriate exceptions.

Many specialized markup languages exist for specialized types of text presentations, e.g., complex mathematical equations rendered as text using MathML (Mathematical Markup Language). Other such languages include DocBook (for technical documentation), SVG (Scalable Vector Graphics for describing vector graphics), Open eBook, TEI (Text Encoding Initiative), and XBRL (Extensible Business Reporting Language). Web developers with specialized text rendering needs should research and explore whether they can utilize these or other standard markup languages.

b. Avoid using absolute sizes for fonts. [Ref: WCAG 3.4]

Font sizes can be set using “absolute” or “relative” units of measurement. Absolute units, notably pixels, points, and inches, are based on fixed physical measurements; Relative units, such as percentages, “em” units, or “small,” “medium,” or “large,” are based on the user’s default font size. Users with limited vision often rely on the ability to enlarge text. Most web browsers allow users to easily change the size of text that has been set with relative units (or not set at all). Using absolute font sizes generally makes it much more difficult for users to change text size to meet their needs.

How To Implement: Set font sizes using relative measurements or avoid setting font sizes altogether. The W3C recommends using “em” as the relative unit for sizing. The “em” unit is defined as “the computed value of the ‘font-size’ property of the element on which it is used. The exception is when ’em’ occurs in the value of the ‘font-size’ property itself, in which case it refers to the font size of the parent element.” In English, that means that 1em is equal to 100 percent of the default font for the browser. For most browsers, that’s 16px, which is too large for most designer’s taste. To get around this, we generally set the initial font value to something smaller than 1em.

c. Specify the language of text. [Ref: WCAG 4.1, 4.3]

HTML uses the language attribute (“lang”) to specify language in a web page. It can be set for any HTML element. This is important for Braille readers, multilingual speech synthesizers and machine translators

How To Implement: Use the language attribute on the <html> element to identify the primary language of each document, for example, <html lang=”en”>, for English. Use the language attribute on <span> or other elements to identify words or phrases in other languages. For example, a French phrase within an English document could be coded as <span lang=”fr”>je ne se quoi</span>.

List of ISO Two-letter Language Codes.

d. Avoid using “ASCII art.” [Ref: WCAG7.3]

“ASCII art” (and “emoticons”) are images created using special arrangements of text characters and symbols. For example, “:-)” is often used to create a smiley face, and “–>” could be used as an arrow. Screen readers read most ASCII art literally, which can be extremely confusing. For example, “:-)” reads as “colon dash right parenthesis,” and “–>” as “dash dash greater than.”

How To Implement: Use images with appropriate alternate text instead of ASCII art.

3. Colors

a. Do not convey information with color alone. [Ref: WCAG 2.1]

Color is often used to indicate special functions or status. For example, required form fields are frequently indicated with red labels. Users with limited or no vision, or who are color-blind may miss information presented with color.

How To Implement: Whenever color is used as an indicator, use a non-color-based indicator as well. For example, required form fields could be identified with asterisks as well as color.

b. Use contrasting foreground and background colors. [Ref: WCAG 2.2]

Web authors can set specific colors to be used for foregrounds (text) and backgrounds. Sometimes images are used as backgrounds. Users with limited vision or color-blindness may have difficulty reading text that is similar in color to its background.

How To Implement: For text, use dark colors on light backgrounds, or vice versa. Avoid combinations of red and green as well as busy background images. A tool for checking contrast is Juicy Studio. Other tools such as ColorFilter are available to allow web developers and designers to simulate various vision problems and to assist them with making design decisions.

4. Images

a. Provide “alternate text” for all images. [Ref: WCAG 1.1]

The HTML image element (<img>) includes an “alternate text” attribute (alt) that is used to provide text that can be substituted when the image itself cannot be displayed or for use by screen-reading software. Alternate text is meant to be a concise replacement for an image and should serve the same purpose and convey the same meaning.

How To Implement: All images must have appropriate alternate text. Alternate text should be brief, no more than a few words (150 characters).

  • For images that contain words or letters, use alternate text that includes the same words or letters.
  • For images links, use alternate text that identifies the link’s destination or function. You do not need to include the words “link to.”
  • For images that are invisible, purely decorative, or otherwise do not convey meaning, use alt=”” (null) to indicate that the image can be safely ignored by a screen reader.
  • Certain types of information such as GIS and geographically coded data may not be currently available in a displayable text format. At this time it is acceptable to use these formats without a text equivalent. However, these formats should be used with caution and only when necessary. If a more accessible format to present the same information is available, or becomes available, it should be used instead or provided as an alternative.

b. Provide full descriptions for graphs, diagrams, and other meaningful images. [Ref: WCAG 1.1]

“Meaningful” images are images that convey more information than can appropriately be expressed as alternate text.

How to Implement: Present a full description of a meaningful image either on the page on which the image appears or through a link immediately preceding or following the image. Use alternate text to provide a concise name for the image. For example, the alternate text of a graph should state its title and the long description should summarize its trends and/or present a table of its data.

Note: The long description attribute (“longdesc”) of the <img> element can also be used to provide a link to a full description. Not all web browsers support a long description, so it should not be used as the only method of providing a full description. As previously noted, certain types of graphical information such as GIS or geographically coded data may not be currently available in a displayable text format.

5. Image Maps

a. Provide alternate text for each area in client-side image maps. [Ref: WCAG 1.1]

Image maps are images divided into multiple “areas,” with each area having its own hypertext link. Just as images must have alternate text, each area of an image map must also have appropriate alternate text for use when the image is not displayed.

How To Implement: Use alternate text that indicates the function or destination of the link for each area of a client-side image map. The image itself should have alternate text that indicates the overall function of the image map.

b. Avoid using server-side image maps. [Ref: WCAG 1.2, 9.1]

While client-side image maps and server-side image maps look and operate similarly, they are technically very different. Because of the way server-side image maps work, all information about the image and links is stored at the web server and is not available to the user’s web browser or assistive technology, meaning that screen readers cannot identify or read the separate areas or links within server-side image maps.

How To Implement: Whenever possible, use client-side image maps instead of server-side image maps. If server-side image maps must be used, provide a set of text links that duplicate all the functions/destinations included in the image map.

Coding Example 1 regarding server-side image maps

Coding Example 2 regarding server-side image maps

6. Audio

a. Do not convey information with sound alone. [Ref: WCAG 1.1]

It is possible to use sound for a variety of purposes, including presenting warning signals, cues, or verbal instructions. However, users who are deaf or hard of hearing may miss information provided only through sound.

How To Implement: Whenever significant information is provided by sound, include a visual indicator (e.g., textual) that provides the same information as well.

b. Provide text transcripts for audio containing speech. [Ref: WCAG 1.1]

“Audio containing speech” includes audio recordings or live broadcasts of speeches, seminars, conferences, etc. A text transcript is a word-for-word written record of the spoken content of such an event. Individuals who are deaf or hard of hearing may require text transcripts to access audio information.

How To Implement: Provide a link to a text (or HTML) transcript of any audio presented on a web site.

7. Multimedia

a. Provide synchronized captions for multimedia containing speech. [Ref: WCAG 1.4]

Multimedia generally refers to recorded or live media containing both video and audio tracks. Captioning (as in “closed captioned”) is essentially a text transcript of the audio synchronized with the audio/video tracks of the presentation.

How To Implement: Whenever possible, captions should be implemented using Synchronized Multimedia Integration Language (SMIL) to synchronize the display of text from a transcript with the video. As a less desirable alternative, captions can be added to a standard video recording and then converted to a web format.

b. Provide audio descriptions for multimedia with significant video. [Ref: WCAG 1.3]

Audio descriptions are verbal descriptions of the actions and images displayed in a video that are inserted during pauses in the regular dialog or audio track. Audio descriptions are only necessary if significant information is presented visually but not discernable from the dialog or audio track. Individuals who are blind or have low-vision may require audio descriptions to access the visual information in multimedia.

How To Implement: Carefully consider whether audio descriptions are necessary to present the significant information of a multimedia recording. Many speech-intensive events, such as speeches, lectures, or conferences, may not need audio description, whereas a video showing someone physically performing a detailed manual procedure would likely require an audio description of the action .

8. Animation

a. Avoid flickering, blinking, and unnecessary animation. [Ref: WCAG 7.1, 7.2, 7.3]

Animated graphics, Flash, Java, the deprecated <blink> and <marquee> tags, and other techniques are often used to create a variety of animated effects. Flickering or blinking between 2 and 55 Hz (flashes per second) can trigger epileptic seizures. Animation can also be distracting to users with certain visual or cognitive disabilities.

How To Implement: Do not cause elements to blink regularly between 2 and 55 Hz. Avoid animation and movement unless it provides significant additional information.

9. Links

a. Make sure that links are understandable out of context. [Ref: WCAG 13.1]

A link is understandable out of context when it clearly indicates its destination or function without requiring additional information. Screen reader users often tab through links (skip from link to link by pressing the Tab key) in order to “scan” a page. Most screen readers also offer a “links list” feature to help speed the process of navigating to specific links. Links that are not understandable out of context, such as “click here” or “more,” make these techniques much less efficient.

How To Implement: Use link text that is clear and unambiguous. Avoid using “click here.” Making links understandable – a coding example

b. Provide a means of skipping past repetitive navigation links. [Ref: Section 508, 1194.22(o); no WCAG checkpoint]

Navigation links are the lists or “menus” of links to all the sections of a site that are often persistent, i.e., repeated on every page. Because navigation links are typically placed at the beginning (top left) of pages, screen reader users must read through all the navigation links before reaching the main area of the page. Individuals who use a keyboard instead of a mouse similarly must tab through all the navigation links before reaching the main area of the page. Providing a means of skipping these links can significantly improve efficiency and usability for screen reader and keyboard users.

How To Implement: Provide a link at the beginning of navigation lists which points to a target at the beginning of the main content area of the page. This link must be visible to screen reader and keyboard-only users, but can be hidden from other users. The link is typically named “skip navigation” or “skip to content”. It is also acceptable to design a page so that navigation links come at the end of the document.

Note: This is required only if your site contains a set of navigation links at or near the top of the page that repeats on multiple pages of the site.

c. Avoid using small images or text as links. [Ref: CA Dept. of Rehabilitation Recommendation No. 1]

Where the size of the “clickable” area of a link is limited to the size of the image or text that makes up the link, mouse-users with limited fine motor control may have difficulty pointing to and clicking on such small-sized links that are small, especially if the links are close together.

How To Implement: Make sure that images used for links are reasonably large (preferably 32 pixels by 16 pixels or larger). Use standard or enlarged font sizes for text links, and avoid using text links that are shorter than four characters in length. Additionally, avoid placing small links close together.

10. Forms

a. Associate labels with all form fields. [Ref: WCAG 12.4]

HTML forms include “fields” such as buttons (<input type=”button”>), text boxes (<input type=”text”>), list boxes (<select>), and more. A text label typically identifies each field. Screen readers cannot always determine which label belongs to which field based on positioning alone. The <label> element makes this association clear.

How To Implement: Use the <label for=”…”> tag to label every form field. Note: The value of a label’s “for” attribute is the corresponding field’s id, not its name.

Coding example on labeling form fields

b. Position labels as close as possible to form fields. [Ref: WCAG 10.2]

Using certain layout techniques, form labels are not always positioned immediately next to their fields. When screen magnification software enlarges a web page it also reduces the field of view. If form field label is positioned far away from its field, it may be impossible for a screen magnifier-user to view both the field and the label at the same time.

How To Implement: Position labels immediately adjacent to fields, preferably in standard locations, such as on the left or above text boxes and list boxes and on the right of checkboxes and radio buttons.

Coding example on positioning form labels

c. Include any special instructions within field labels. [Ref: Section 508, 1194.22(n); no WCAG checkpoint]

Frequently, special instructions are listed after the field to which they apply. In some cases, instructions are even presented in “pop up” text or in the browser’s status bar. When filling out a form, screen readers typically read only the field’s label. Screen magnifiers will focus on the field and its label, and instructions may be out of the field of view.

How To Implement: Special instructions should be given before the form field and within the field label if possible. If instructions are too long to appropriately fit within the label, they should be given in an instructions section in advance of the form.

Coding example on including special instructions within labels

d. Make sure that form fields are in a logical tab order. [Ref: WCAG 9.4]

Screen reader and keyboard users move between form fields (and links) using the Tab key. The order in which form fields receive focus is called the tab order. By default, the tab order follows the order in which elements appear in a page’s HTML code. Depending on the design and layout of a page, the tab order may not match the visual (or logical) order of fields on a form. Reading fields out of their intended order can be disorienting for a screen reader or keyboard-only user.

How To Implement: Make sure that fields appear in the HTML code in the logical order and/or use the “tabindex” attribute to set the appropriate order.

11. Data Tables

a. For simple data tables, explicitly identify headings for all columns and rows. [Ref: WCAG 5.1]

“Data tables” are simply HTML tables used to display data. “Headers” identify the content of each row and/or column. A screen reader can use table headers to provide row and column information while a user explores the data cells within a table.

How To Implement: Use <th> (table header) or <td> (table data) elements with scope=”col” (for column headers) or scope=”row” (for row headers) to identify cells that contain row and/or column headings.

Coding example on identifying table headings

b. Avoid using complex data tables. [Ref: WCAG 5.2]

Complex data tables with multiple layers of headers and “spanned” columns or rows can be very complex and can be very difficult for assistive technologies such as screen readers to handle.

How To Implement: Whenever possible, simplify complex tables by re-arranging or dividing them into separate tables. When a complex table cannot be simplified, use advanced table markup, such as headers, axis, scope, column (<col>), and column group (<colgroup>), to fully indicate the relationships between data cells and headers.

Coding example of a complex data table

Note: See W3C’s Tables in HTML Documents for complete details on how to markup complex tables.

12. Frames

a. Avoid using frames. [Ref: CA Dept. of Rehabilitation Recommendation No. 2 based upon WCAG 10]

Frames are sometimes used inappropriately for formatting and layout. For example, empty frames can be used to create margins around or within a page. Screen readers cannot judge whether the content of a frame is significant and must identify every frame for the user. Having to read this extraneous information for non-essential frames can be time consuming and confusing.

How To Implement: Use frames sparingly. If a frame is not necessary for page content, eliminate it.

b. Provide meaningful names and page titles for all frames. If the names are not sufficient, then describe the relationship between frames. [Ref: WCAG 12.1, 12.2]

HTML frames are used to divide web pages into separate areas, each displaying a separate web page. Each frame is identified by a name attribute and each page contained within a frame is identified by its title element. To navigate pages with frames, users who are blind must be able to identify the different frames and understand the purpose of each frame. Most screen readers identify frames by speaking the name and/or page title of each frame.

How To Implement: Give each frame an understandable name that indicates the frame’s function. For example, use name=”Navigation” and name=”Content” rather than name=”nav” and name=”right”. Set the title element of each page contained within a frame to match the name attributes or to identify the current content of that frame.

Coding Example 1 on Frames

Coding Example 2 on Frames

13. Scripts

a. Make sure that significant interactions can be performed with both keyboard and mouse. [Ref: WCAG 6.4, 9.2, 9.3]

Users with physical impairments may be able to use the keyboard but not the mouse. Individuals who cannot see the mouse pointer on the screen also use the keyboard for all interactions. Event-driven scripts (e.g., written in JavaScript or other scripting languages) that can only be triggered by use of the mouse are not usable by these individuals.

How To Implement: Use device-independent event triggers like “onfocus”, “onblur”, “onchange”. If using a mouse-only event (e.g.,”onclick”, “onmouseover”, “onmouseout”) to trigger a significant script action, provide a redundant/corresponding keyboard event (e.g., “onkeypress”, “onfocus”, “onblur”).

Also make sure that keyboard events do not unintentionally trigger script actions. For example, keyboard users should be able to arrow through the choices in a <select> list without triggering each choice (e.g., “onchange”).

b. Make sure that essential content and functionality are available when client-side scripts are not fully supported. [Ref: WCAG 6.3]

Client-side scripts must be supported by and compatible with the user’s browser in order to work. (“Server-side” scripts, such as CGI, ASP, JSP, or PHP, run on the web server before the web page ever reaches the user’s browser. Server-side scripts do not generally pose additional accessibility problems.) Older assistive technologies and web browsers may not support client-side scripting. Even current assistive technologies may interact in unexpected ways with content that is displayed using scripts, such as by skipping text that is dynamically displayed or reading text that is dynamically hidden. Users need to be able to access the same essential content and functionality whether scripts are fully, partially, or not supported. It is not safe to assume that users with disabilities will have scripting support turned off.

How To Implement: Whenever scripts are used, it is the responsibility of the page developer to thoroughly test the page using assistive technologies to ensure that all information and functionality is accessible. If there is any doubt, err on the safe side by ensuring that the essential elements of the page do not rely on scripts.

14. Applets and Plug-Ins

a. Avoid plug-ins if possible, but when necessary use accessible applets or plug-ins. [Ref: WCAG 8.1]

“Applets” and “plug-ins” require additional software to be downloaded, installed, and run before certain content can be viewed or used. Applets and plug-ins also operate with their own user interfaces, which are separate and different from that of standard web pages. Because applets and plug-ins have their own interfaces, they must be accessible in and of themselves. If essential content or functionality is presented using an applet or plug-in that is not accessible, it will not be usable by individuals with disabilities.

How To Implement: Check with the manufacturer or developer of an applet or plug-in to find out if, and how, the technology is accessible. Whenever a link is provided to content that requires an applet or plug-in, the text should indicate that an applet or plug-in is required and provide a link to an accessible download site for the plug-in (e.g., “Flash Player 8 is required to view this presentation.”). If an accessible applet or plug-in is available, provide users with a link to any special instructions or software that is necessary.

b. If an inaccessible applet or plug-in must be used, provide an accessible alternative that includes the same content and functionality. [Ref: WCAG 6.2, 11.4]

If an applet or plug-in is inaccessible, it may be possible to provide both the original applet or object and an equivalent accessible alternative. By providing both the original and accessible versions, the same content and functionality can be available to all users.

How To Implement: Wherever a link is provided to an inaccessible applet or object, also provide a link to an equivalent accessible version. Make sure that the information and functionality is completely equivalent and up-to-date. Be sure to consider whether the inaccessible version is actually necessary.

Note: Exceptions may be necessary in cases where it is impossible to create an equivalent accessible version, such as with some geographical imaging and mapping systems.

15. Window Control

a. Avoid automatically opening new windows. If you open a new window, notify the user. [Ref: WCAG 10.1]

It is possible to cause hypertext links to open pages in a new browser window, or to automatically open additional windows when a page loads or unloads. It may not always be obvious to users, especially those with limited vision, blindness, or cognitive disabilities, when a new window has opened. It can be confusing when features such as the browser’s “back” button no longer work as expected.

How To Implement: Clearly identify any links that will open new windows by providing an indication in the link text or title attributes. In more complex web sites or applications, you may want to consider allowing users to select their preference for whether links are opened in new windows or not.

b. Do not automatically refresh the current page. [Ref: WCAG 7.4]

It is possible to cause web pages to automatically re-load their content on a certain interval. For example, a page containing news headlines might refresh every few minutes to present the most current items. When a page automatically refreshes, it can cause a screen reader to re-start reading from the beginning of the page.

How To Implement: Do not use <HTTP-EQUIV=”refresh”>. If necessary, provide a link or control to allow the user to refresh a page at his or her discretion.

c. Notify users of time limits and provide a means to extend time if needed. [Ref: WCAG 7.5]

Some web pages, frequently those that require a user to log in with an ID and password, “reset” themselves after a certain period of inactivity. Typically, any form entries that have been partially completed are erased and the user must start over.

Users with visual, physical, or cognitive disabilities may require additional time to read and interact with a web page.

How To Implement: Provide a clear explanation of any time limits and offer the user a way to extend or remove the limits if necessary. Avoid using time limits unnecessarily.

16. Page Layout

a. Avoid using tables for layout. When it is necessary to use tables for layout, make sure that reading order is logical. [Ref: WCAG 5.3]

Layout tables are HTML tables used to lay out a web page in multiple columns and sections (as opposed to tables that actually present data.) “Reading order” refers to the order in which a screen reader would read through the table. Screen readers read through tables in the order in which cells are defined in the table code, which can be very different from the order that someone reading visually would follow. It is essential that the reading order match the logical flow of the document so that a screen reader user would hear the document in the same order that a visual reader would read it.

How To Implement: Check the reading order by following the order in which the table cells appear in the code. It may be possible to combine cells and/or nest tables to achieve an appropriate reading order.

Additional Information on using tables for layout

b. When using style sheets for layout, make sure that reading order is logical when style sheets are not supported. [Ref: WCAG 6.1]

The positioning features of Cascading Style Sheets can be used to position elements visually almost anywhere on a web page.

As with layout tables, screen readers read through the elements on a web page in the order in which they appear in the page code, regardless of how they are positioned using style sheets. It is essential that the reading order match the logical flow of the document so that a screen reader user would hear the document in the same order that a visual reader would read it.

How to Implement: Check the reading order by following the order in which elements appear in the page code. Reading order can usually be adjusted by rearranging the order in which elements are defined in the code.

Additional information on rendering pages when style sheets are not supported

c. Minimize the need for horizontal scrolling. [Ref: WCAG 3.4]

If a web page is wider than the window or screen in which it is viewed, most browsers will display a horizontal scroll bar and require the user to manually scroll to see the entire page. When a screen magnifier enlarges a web page, it also reduces the field of view so that the user must pan (scroll) to see the entire page. When the web page being viewed also requires horizontal scrolling, the combination can be awkward or unusable. Keyboard users may also find repetitive scrolling fatiguing and inefficient.

How To Implement: Design pages so that they can resize to fit the width of the user’s browser. Use relative widths on tables and frames used for layout and make sure that horizontally adjacent images are less than a total of 600 pixels wide. If scrolling cannot be avoided, place the least important content on the right side of the page.

17. Page Content

a. Use the clearest, simplest, and most concise language appropriate for a page’s subject matter. [Ref: WCAG 14.1]

“Clearest, simplest, and most concise language”, or plain language, refers to the words and grammar used in the content of a web page. It is a subjective goal that depends on the subject matter and intended audience of each web page. Clear and simple language is especially important for those with cognitive or learning disabilities. Plain language also helps individuals whose primary language is American Sign Language, which differs significantly from written English.

How To Implement: Be concise and avoid jargon. Have someone else proofread your text. You should perform user testing with people from your intended audience if possible.

b. Divide large blocks of content into manageable groups where natural and appropriate. [Ref: WCAG 12.3]

Documents often contain long unbroken text narratives that can be difficult to read on a screen and provide little to help assistive technology users navigate the web page. Also, large blocks of narrative text or long unbroken lists of items can be challenging to understand and hinder accessibility for users with cognitive impairments. Organized and grouped content is easier for all users to comprehend. Using proper code to group items also enables assistive technologies to more easily navigate web pages.

How to Implement: Use the following elements and practices to break long narratives of text into paragraphs, organize narratives and group related elements. These groupings can then be styled using CSS to provide visual cues to groupings and improve the ability for assistive technologies to navigate large amounts of text.

  • Break up lines of text into paragraphs with the <p> element.
  • Use <fieldset> to group form controls into semantic units and describe the group with the <legend> element.
  • Use <optgroup> to organize long lists of menu options into smaller groups.
  • Use tables for tabular data and describe the table with <caption>.
  • Group table rows and columns with <thead>, <tbody>, <tfoot>, and <colgroup>.
  • Nest lists with <ul>, <ol>, and <dl>.
  • Use section headings <h1> through <h6> to create structured documents, identify key ideas or concepts, and break up long stretches of text.
  • Group related links.

All of these grouping mechanisms should be used when appropriate and natural, i.e., when the information lends itself to logical groups. Content developers should not create groups randomly, as this will confuse users.

18. Navigation

a. Use navigation mechanisms in a consistent manner throughout a site (Ref: WCAG 13.4]

Inconsistent navigation makes using a web site confusing to those using assistive technology and those with cognitive impairments. If a web site used buttons, images, icons, text links, and image maps for navigation, on different pages, there would be five different ways to move around and the user must learn a new method on each page. A consistent style of presentation on each page allows users to locate navigation mechanisms more easily but also to skip navigation mechanisms more easily to find important content. Predictability will increase the likelihood that people will find information at your site, or avoid it when they so desire.

How To Implement: Use similar structure across pages so that key areas (navigation, content, etc.) appear in similar, recognizable places throughout your site.

b. Provide information about the general layout of a site (e.g., a site map or table of contents) [Ref: WCAG 13.3]

When a user visits a web site, they need to understand the structure of a site in order to navigate it. From any single page they likely need to understand the relationship of that page to the rest of the site. It is crucial that the descriptions and site guides be accessible since people who are lost at your site will rely heavily on them.

How To Implement: Describe navigation mechanisms. This can be done by providing links at the start of a document to descriptions of navigation and accessibility features on the site. Text-based site maps and tables of content also help users understand and navigate a site’s structure.

19. Downloadable Documents and Accessible Versions

a. Use separate accessible versions only as a last resort. [Ref: WCAG 11.4]

Separate accessible or “text-only” versions are often offered instead of providing a single accessible site. Manually developing and maintaining a separate “text-only” version of an entire site is tremendously demanding of time and resources. In practice, “text-only” versions are rarely kept complete or up-to-date. Given advances in accessibility techniques and assistive technologies, “text-only” sites are simply not necessary in most cases.

How To Implement: Follow the web accessibility standards to develop a single site that is universally accessible. Wherever a link is provided to a document that is not written in HTML or an accessible text format, such as Rich Text Format, also provide a link to an accessible HTML or text version of the same document. HTML versions should follow these guidelines; text versions may require reformatting to ensure proper reading order. Additional text descriptions may need to be added for charts, graphs, or other non-text content.

b. Provide accessible HTML or text versions instead of downloadable documents whenever possible. [Ref: WCAG 11.4]

Downloadable documents are often provided in formats such as Adobe PDF or Microsoft Word. Such documents must be viewed in their own applications or using a web browser plug-in. Non-HTML documents can often pose an additional accessibility challenge. For documents in PDF, Word, Power Point, etc to be accessible they must be created in a carefully structured method. Also, the applications required to open downloadable documents may not be available or accessible to users with disabilities or to users who do not have the application or plug-in installed on their computer.

How To Implement: When creating content for the web, consider what format is the best. Often documents that are posted as downloads, could as easily be converted to HTML content and made available through printing by the use of CSS.

Note: See also the Special Note on PDFs later in this document.

c. If a downloadable document cannot be provided in an accessible electronic format, provide information on how to request an alternate format. [Ref: CA Dept. of Rehabilitation Recommendation No. 3]

In some cases, documents cannot be provided in an accessible electronic format. However, users with disabilities must still have equivalent access to public documents.

How To Implement: Provide information regarding whom to contact to obtain the document in alternate formats (e.g., Braille, large-print, or audio-cassette). Alternate formats must be available in a timely manner.

d. Make sure that dynamic content is accessible. If dynamic content cannot be made accessible, then provide an alternate presentation of the content. [Ref: WCAG 6.5]

Older browsers may not support Dynamic HTML (DHTML) or techniques such as JavaScript or technologies like Flash; they might require special plug-ins or be turned off for a number of reasons, e.g., load-time or security. If a user’s browser does not handle scripts, content may not be generated or displayed.

How To Implement: Avoid creating content on-the-fly on the client. Server-side dynamic content is likely more accessible than client-side. Make sure that all pages display correctly when dynamic technologies (scripts like JavaScript) are turned off. Avoid using JavaScript links (e.g. <a href=”javascript…>).

20. Contact Information

a. Provide contact information. [Ref: CA Dept. of Rehabilitation Recommendation No. 4]

Individuals with disabilities may need to report accessibility problems or request information in an alternate accessible format. Contact information should be identified. Contact information should include email, telephone, text telephone (TTY), and mailing address.

How To Implement: List accessibility contact information on the home page or contact page. Inquiries about accessibility, especially requests for materials in alternate format, need to be handled in a timely manner.

21. Testing

a. Test for accessibility. [Ref: CA Dept. of Rehabilitation Recommendation No. 5]

Testing includes functional tests with assistive technology, browser and operating system functionality, as well as automated testing software. Testing will determine whether accessibility has actually been accomplished.

How To Implement: See the Maintaining Your Site page for step-by-step accessibility testing practices and procedures for maintaining accessibility of your website on an ongoing basis.

Special Note about Portable Document Format (PDF) on the Internet

PDF is a commonly used format for making documents available over the Internet. Some PDF documents cannot be converted to speech output that is readable by assistive technologies. Other PDF documents cannot be converted to speech output accurately. In order to make information posted on State web sites usable by assistive technologies, the following requirements apply to the use of PDF documents:

Each inaccessible PDF document posted on a State web site requires either:

  1. An equivalent version of the document also be posted in ASCII, HTML, or other text format with a link to the alternate version of the document be prominently displayed next to the link leading to the PDF document file; or,
  2. A text explanation of how to obtain an accessible version of the document is prominently displayed next to the link leading to the PDF version. At a minimum, the explanation should identify a telephone number or an email address which can be contacted to request an accessible version of the document; the format(s) in which the accessible version of that document may be obtained (e.g., ASCII text file, HTML text file); and the maximum number of business days before the accessible version of the document will be sent to the requesting individual.

PDF documents that depict information that, by its very nature is graphical, such as maps, building plan drawings, and pictorial diagrams, are exempt from the requirement to post an accessible version. Also in some situations, there may be legal reasons to preserve a document’s original formatting. However if an alternate format cannot be provided, a brief text description of the general nature of the information contained in the PDF document should be prominently displayed next to the link leading to the PDF document.

  1. Adobe Acrobat 7 Professional: PDF Accessibility (Section 508 Tagging) Reference Guide (Word)
  2. Adobe Acrobat 8 Professional: PDF Accessibility (Section 508 Tagging) Reference Guide (Word)
  3. Adobe Acrobat 9 Professional: PDF Accessibility (Section 508 Tagging) Reference Guide (Word)
  4. Adobe Acrobat X Professional: PDF Accessibility (Section 508 Tagging) Reference Guide (Word)

PDF Forms

PDF forms often cannot be accurately converted to speech output by assistive technologies. PDF forms that are inaccessible to assistive technologies require that the creator put considerable effort into repairing the PDF version or convert the form and it’s functionalities, or convert it to a different format. In order to make forms posted on State web sites accessible by assistive technologies, the following requirements apply to the use of PDF forms:

Each inaccessible PDF form posted on a State web site requires an equivalent version of the form also be posted in a format that allows a person using speech output to access the form’s field elements, information, and functionality required for completion and submission of the form, including all directions and cues. The form should also be able to be accessed and navigated using a keyboard without a pointing device. A link to the alternate form should be prominently displayed next to the link leading to the PDF form.

Exception: An exception to the requirements is allowed if a PDF form is made available only to provide a means to distribute it electronically so that users can print it and fill it out by hand. In this situation, an accessible alternative is not required.

Additional Information

Related Websites page.

0 Comments

Submit a Comment