Accessibility for Web Developers

Information for web developers on how to make your website or web application accessible to people with visual, hearing, motor, or cognitive disabilities.

This document covers Advanced Organization, Advanced Text and Images, and Advanced Audiovisual.

There is a supplementary document titled "Web Accessibility for Web Developers - Forms, Frames and Advanced Topics" that covers Advanced Forms, Advanced Frames, and other Advanced Topics.

CMS users have a parallel document titled "Web Accessibility for Users of Content Management Systems" that omits recommendations for features that are usually not controllable by a CMS user, and avoids reference to HTML elements not usually visible to someone using a GUI editor.

Advanced Organization

The same guidance is offered in Organization for CMS users, except as noted.
  • 1.3.1 Info and Relationships (for headings, lists, and table headers)

    • Semantic markup is used to designate headings (“h1”), and lists (“ul,” “ol,” and “dl”). Semantic markup is used appropriately.

      • For CMS users this is covered in the Starting Points: "Do properly nested headings create an outline of the content?" and "Are items in a list automatically numbered or bulleted?"

    • Tables are used for tabular data. Where necessary, data cells are associated with their headers. Data table captions and summaries are used where appropriate.

      • For CMS users this is covered in the Starting Points: "Does each data table include column headings?"

  • 1.3.2 Meaningful Sequence (for reading and navigation)

    • The reading and navigation order (determined by code order) is logical and intuitive.

      • For CMS users: "The reading order is logical and intuitive."

  • 1.3.3 Sensory Characteristics (for shape, size, visual location, and sound)

    • Instructions do not rely upon shape, size, or visual location (e.g., "Click the square icon to continue" or "Instructions are in the right-hand column").

      • For CMS users: similar, (but omit reference to clicking on the square icon.) This is also covered in the Starting Points: "Is the meaning the same if all text is the same color, size and font?"

    • Instructions do not rely upon sound (e.g., "A beeping sound indicates you may continue.")

  • 2.4.1 Bypass Blocks (that are repeated across web pages)

    • A link is provided to skip navigation and other page elements that are repeated across web pages.

    • If a page has a proper heading structure, this may be considered a sufficient technique instead of a "Skip to main content" link.

      • For CMS users this is covered in the Starting Points: "Do properly nested headings create an outline of the content?" It is also covered the CMS users supplement on frames.

  • 2.4.2 Page Titled (and is descriptive and informative)

    • The web page has a descriptive and informative page title.

      • For CMS users: same.

  • 2.4.5 Multiple Ways (of finding other web pages on the site)

    • Multiple ways are available to find other web pages on the site - at least two of: a list of related pages, table of contents, site map, site search, or list of all available web pages.

      • For CMS users: same, plus: "(Some of these may require assistance from the webmaster.)"

  • 2.4.6 Headings and Labels (are informative)

    • Page headings are informative. Avoid duplicating heading (e.g., "More Details") unless the structure provides adequate differentiation between them.

  • 2.4.7 Focus Visible (while tabbing through a page)

    • It is visually apparent which page element has the current keyboard focus (i.e., as you tab through the page, you can see where you are).

      • For CMS users: same, plus: "(If this is not the case, you could contact the webmaster for assistance.)"

  • 3.2.3 Consistent Navigation (across multiple web pages)

    • Navigation links that are repeated on web pages do not change order when navigating through the site.

  • 3.2.4 Consistent Identification (across multiple web pages)

    • Elements that have the same functionality across multiple web pages are consistently identified. For example, a search box at the top of the site should always be labeled the same way.


Advanced Text and Images

The same guidance is offered in Text and Images for CMS users, except as noted.
  • 1.1.1 Non-text Content

    • All images and image map hot spots have appropriate, equivalent alternative text.

      • For CMS users this is covered in the Starting Points: "Do images have appropriate alternative text descriptions?"

    • Images that do not convey content, are decorative, or contain content that is already conveyed in text are given null alt text (alt="") or implemented as CSS backgrounds. All linked images have descriptive alternative text.

      • For CMS users this is covered in the Starting Points: "Do images have appropriate alternative text descriptions?"

    • Equivalent alternatives to complex images are provided in context or on a separate (linked and/or referenced via longdesc) page.

      • For CMS users: "Equivalent alternatives to complex images are provided in context."

  • 1.3.1 Info and Relationships (for headings, lists, and emphasized or special text)

    • Semantic markup is used to designate headings (“h1”), lists (“ul”, “ol”, and “dl”), emphasized or special text (“strong”, “code”, “abbr”, “blockquote”, for example), etc. Semantic markup is used appropriately.

      • For CMS users: "Emphasized or special text uses the built in features of the CMS (italics, bold, abbreviations, block quotes, for example), etc. Such text is used appropriately." Headings and lists are covered in the Starting Points: "Do properly nested headings create an outline of the content?" and "Are items in a list automatically numbered or bulleted?"

  • 1.4.1 Use of Color (is not the only method used)

    • Color is not used as the sole method of conveying content or distinguishing visual elements.

      • For CMS users this is covered in the Starting Points: "Is the meaning the same if all text is the same color, size and font?"

    • Color alone is not used to distinguish links from surrounding text unless the luminance contrast between the link and the surrounding text is at least 3:1 and an additional differentiation (e.g., it becomes underlined) is provided when the link is hovered over or receives focus.

      • For CMS users this is covered in the Starting Points: "Is the meaning the same if all text is the same color, size and font?"

  • 1.4.3 Contrast (Minimum)

    • Text and images of text have a contrast ratio of at least 4.5:1.

      • For CMS users this is covered in the Starting Points: "Does all text have enough color contrast?"

    • Large text (over 18 point or 14 point bold) has a contrast ratio of at least 3:1.

      • For CMS users this is covered in the Starting Points: "Does all text have enough color contrast?"

  • 1.4.4 Resize text (when text size is doubled)

    • The page is readable and functional when the text size is doubled.

      • For CMS users: same, plus: "(Most browsers can change the text size in order to test this.)"

  • 1.4.5 Images of Text (not used if text alone can be used)

    • If the same visual presentation can be made using text alone, an image is not used to present that text.

  • 2.3.1 Three Flashes or Below Threshold (of flashes per second)

    • No page content flashes more than 3 times per second unless that flashing content is sufficiently small and the flashes are of low contrast and do not contain too much red. (See general flash and red flash thresholds)

      • For CMS users: similar, (except omit reference to general flash and red flash thresholds.)

  • 2.4.4 Link Purpose (In Context) (is easily distinguishable)

    • Links with the same text that go to different locations are readily distinguishable.

      • For CMS users: same. This is also covered in the Starting Points: "Is the purpose and destination of a link clear from the context?"

  • 3.1.1 Language of Page

    • The language of the page is identified using the HTML lang attribute (html lang="en", for example).

      • For CMS users this is omitted.

  • 3.1.2 Language of Parts (of page)

    • The language of page content that is in a different language is identified using the lang attribute (e.g., blockquote lang="es").

      • For CMS users: "The language of page content that is in a different language is identified using the built in features of the CMS. (If you are uncertain how to do this, you could contact the webmaster for assistance.)"


Advanced Audiovisual

The same guidance is offered in Audiovisual for CMS users, except as noted.
  • 1.1.1 Non-text Content

    • Embedded multimedia is identified via accessible text.

  • 1.2.1 Prerecorded Audio-only and Video-only

    • A descriptive text transcript (including all relevant visual and auditory clues and indicators) is provided for non-live, web-based audio (audio podcasts, MP3 files, etc.)

      • For CMS users this is covered in the Starting Points: "Does non-live audio and video content have basic transcripts?

    • A text or audio description is provided for non-live, web-based video-only (e.g., video that has no audio track).

      • For CMS users this is covered in the Starting Points: "Does non-live audio and video content have basic transcripts?"

  • 1.2.2 Captions (Prerecorded)

    • Synchronized captions are provided for non-live, web-based video (YouTube videos, etc.)

      • For CMS users this is covered in the Starting Points: "Does non-live video content have captions?

  • 1.2.3 Audio Description or Media Alternative (Prerecorded)

    • A descriptive text transcript OR audio description audio track is provided for non-live, web-based video.

  • 1.2.4 Captions (Live)

    • Synchronized captions are provided for all live multimedia that contains audio (audio-only broadcasts, web casts, video conferences, Flash animations, etc.)

  • 1.2.5 Audio Description (Prerecorded)

    • Audio descriptions are provided for all video content

  • 1.4.2 Audio Control

    • A mechanism is provided to stop, pause, mute, or adjust volume for audio that automatically plays on a page for more than 3 seconds.

      • For CMS users: same, plus: "(If this is not the case, you could contact the webmaster for assistance.)"

  • 2.3.1 Three Flashes or Below Threshold (in AV content)

    • No page content flashes more than 3 times per second unless that flashing content is sufficiently small and the flashes are of low contrast and do not contain too much red.


Optional

Optional for Advanced Organization

The same guidance is offered in Optional for Organization for CMS users, except as noted.
  • 2.4.8 Location (in a sequence of pages or complex site structure)

    • If a web page is part of a sequence of pages or within a complex site structure, an indication of the current page location is provided, for example, through breadcrumbs or specifying the current step in a sequence (e.g., "Step 2 of 5 - Shipping Address").

      • For CMS users: similar, (but omit reference to breadcrumbs.)

  • 2.4.10 Section Headings

    • Beyond providing an overall document structure, individual sections of content are designated using headings, where appropriate.

Back to Advanced Organization

Optional for Advanced Text and Images

The same guidance is offered in Optional for Text and Images for CMS users, except as noted.
  • 1.4.6 Contrast (Enhanced)

    • Text and images of text have a contrast ratio of at least 7:1.

    • Large text (over 18 point or 14 point bold) has a contrast ratio of at least 4.5:1

      • For CMS users all of 1.4.6 is omitted.

  • 1.4.8 Visual Presentation

    • Blocks of text over one sentence in length:

      • Are no more than 80 characters wide.

      • Are NOT fully justified (aligned to both the left and the right margins).

      • Have adequate line spacing (at least 1/2 the height of the text) and paragraph spacing (1.5 times line spacing).

      • Have a specified foreground and background color. These can be applied to specific elements or to the page as a whole using CSS (and thus inherited by all other elements).

      • Do NOT require horizontal scrolling when the text size is doubled.

      • For CMS users all of 1.4.8 is omitted.

  • 1.4.9 Images of Text (No Exception) (not used except for decoration)

    • Text is used within an image only for decoration (image does not convey content) OR when the information cannot be presented with text alone.

  • 2.3.2 Three Flashes (no more than 3 per second)

    • No page content flashes more than 3 times per second.

  • 2.4.9 Link Purpose, Link Only (link text alone describes the location)

    • The purpose of each link can be determined from the link text alone.

    • There are no links with the same text that go to different locations.

  • 3.1.3 Unusual Words (are defined)

    • Words that may be ambiguous, unknown, or used in a very specific way are defined through adjacent text, a definition list, a glossary, or other suitable method.

  • 3.1.4 Abbreviations (are spelled out first time they are used)

    • Expansions for abbreviations are provided by expanding or explaining the definition the first time it is used, using the “abbr” element, or linking to a definition or glossary. NOTE: WCAG 2.0 gives no exception for regularly understood abbreviations (e.g., "HTML" on a web design site must always be expanded).

      • For CMS users: similar, (except 'the "abbr" element' is replaced by 'the built in features of the CMS'

  • 3.1.5 Reading Level (of 9 years of primary education)

    • A more understandable alternative is provided for content that is more advanced than can be reasonably read by a person with roughly 9 years of primary education.

  • 3.1.6 Pronunciation (is indicated when vital to understanding)

    • If the pronunciation of a word is vital to understanding that word, its pronunciation is provided immediately following the word or via a link or glossary.

Back to Advanced Text and Images

Optional for Advanced Audiovisual

The same guidance is offered in Optional for Audiovisual for CMS users, except as noted.Back to Advanced Audiovisual

This document covers Advanced Forms, Advanced Frames and other Advanced Topics.

It is a supplement to “Web Accessibility for Web Developers,” which covers Advanced Organization, Advanced Text and Images, and Advanced Audiovisual.

CMS users have a parallel document titled "Web Accessibility for Users of Content Management Systems - Form and Frames Supplement" that omits recommendations for features that are usually not controllable by a CMS user, and avoids reference to HTML elements not usually visible to someone using a GUI editor.


Advanced Forms

The CMS user forms supplement offers the same guidance, except as noted.
  • 1.1.1 Non-text Content (for forms)

    • All form image buttons have appropriate, equivalent alternative text.

    • Form buttons have a descriptive value.

    • Form inputs have associated text labels.

  • 1.3.1 Info and Relationships (for forms)

    • Text labels are associated with form input elements. Related form elements are grouped with fieldset/legend.

      • For CMS user forms supplement: similar, (except that fieldset/legend are marked as advanced.)

  • 1.3.2 Meaningful Sequence

    • The reading and navigation order (determined by code order) is logical and intuitive.

      • For CMS user forms supplement: "The tab order through a form is logical and intuitive."

  • 1.3.3 Sensory Characteristics

    • Instructions do not rely upon shape, size, or visual location (e.g., "Click the square icon to continue" or "Instructions are in the right-hand column").

    • Instructions do not rely upon sound (e.g., "A beeping sound indicates you may continue.")

  • 2.4.3 Focus Order (for forms)

    • The navigation order of form elements is logical and intuitive.

      • For CMS user forms supplement: "The tab order through a form is logical and intuitive."

  • 2.4.4 Link Purpose (In Context) (for forms)

    • The purpose of each form image button can be determined from the link text alone, or from the link text and its context.

    • Form image buttons with the same text that go to different locations are readily distinguishable.

  • 2.4.6 Headings and Labels (for forms)

    • Labels for form controls are informative. Avoid duplicating label text (e.g., "First Name") unless the structure provides adequate differentiation between them.

  • 2.4.7 Focus Visible

    • It is visually apparent which page element has the current keyboard focus (i.e., as you tab through the form, you can see where you are).

  • 3.2.1 On Focus

    • When a page element receives focus, it does not result in a substantial change to the page, the spawning of a pop-up window, an additional change of keyboard focus, or any other change that could confuse or disorient the user.

  • 3.2.2 On Input

    • When a user inputs information or interacts with a control, it does not result in a substantial change to the page, the spawning of a pop-up window, an additional change of keyboard focus, or any other change that could confuse or disorient the user unless the user is informed of the change ahead of time.

  • 3.3.1 Error Identification

    • Required form elements or form elements that require a specific format, value, or length provide this information within the element's label.

    • If utilized, form validation errors are presented in an efficient, intuitive, and accessible manner. The error is clearly identified, quick access to the problematic element is provided, and user is allowed to easily fix the error and resubmit the form.

  • 3.3.2 Labels or Instructions

    • Sufficient labels, cues, and instructions for required interactive elements are provided via instructions, examples, properly positioned form labels, and/or fieldsets/legends.

      • For CMS user forms supplement: similar, (except that fieldsets/legends are marked as advanced.)

  • 3.3.3 Error Suggestion

    • If an input error is detected (via client-side or server-side validation), provide suggestions for fixing the input in a timely and accessible manner.

  • 3.3.4 Error Prevention (Legal, Financial, Data)

    • If the user can change or delete legal, financial, or test data, the changes/deletions can be reversed, verified, or confirmed.

      • For CMS user forms supplement this is omitted.

  • 4.1.2 Name, Role, Value (for forms)

    • Markup is used in a way that facilitates accessibility. This includes using forms and form labels, appropriately.

      • For CMS user forms supplement this is omitted.

Optional for Advanced Forms

Advanced Frames

The CMS user frames supplement offers the same guidance, except as noted.
  • 1.1.1 Non-text Content (for frames)

    • Frames are appropriately titled.

  • 1.3.2 Meaningful Sequence (in and among frames)

    • The reading and navigation order (determined by code order) is logical and intuitive.

      • For CMS user frames supplement: "The reading and navigation order (between frames and within a frame) is logical and intuitive."

  • 2.4.1 Bypass Blocks (that are repeated across web pages)

    • If a page uses frames and the frames are appropriately titled, this is a sufficient technique for bypassing individual frames.

  • 2.4.3 Focus Order (in and among frames)

    • The navigation order is logical and intuitive.

      • For CMS user frames supplement: "The reading and navigation order (between frames and within a frame) is logical and intuitive."

  • 2.4.7 Focus Visible (while tabbing in and among frames)

    • It is visually apparent which page element has the current keyboard focus (i.e., as you tab through the page, you can see where you are).

  • 3.2.1 On Focus

    • When a page element receives focus, it does not result in a substantial change to the page, the spawning of a pop-up window, an additional change of keyboard focus, or any other change that could confuse or disorient the user.

  • 3.2.3 Consistent Navigation (across multiple web pages)

    • Navigation links that are repeated on web pages do not change order when navigating through the site.

  • 3.2.4 Consistent Identification (across multiple web pages)

    • Elements that have the same functionality across multiple web pages are consistently identified. For example, a search box at the top of the site should always be labeled the same way.

  • 4.1.2 Name, Role, Value (for frames)

    • Markup is used in a way that facilitates accessibility. This includes using frame titles.

      • For CMS user frames supplement this is omitted.

Optional for Advanced Frames (none applicable)

Advanced Topics

The following recommendations are for advanced topics that may need to be considered when creating an application. Most applications will also involve elements of Advanced Organization, Advanced Text and Images, and Advanced Audiovisual, all of which are covered in “Web Accessibility for Web Developers.” If the application includes forms or frames, see Advanced Forms and Advanced Frames above.

  • 2.1.1 Keyboard

    • All page functionality is available using the keyboard, unless the functionality cannot be accomplished in any known way using a keyboard (e.g., free hand drawing).

    • Page-specified shortcut keys and accesskeys (accesskey should typically be avoided) do not conflict with existing browser and screen reader shortcuts.

  • 2.1.2 No Keyboard Trap

    • Keyboard focus is never locked or trapped at one particular page element. The user can navigate to and from all navigable page elements using only a keyboard.

  • 2.2.1 Timing Adjustable

    • If a page or application has a time limit, the user is given options to turn off, adjust, or extend that time limit. This is not a requirement for real-time events (e.g., an auction), where the time limit is absolutely required, or if the time limit is longer than 20 hours.

  • 2.2.2 Pause, Stop, Hide

    • Automatically moving, blinking, or scrolling content that lasts longer than 5 seconds can be paused, stopped, or hidden by the user. Moving, blinking, or scrolling can be used to draw attention to or highlight content as long as it lasts less than 5 seconds.

    • Automatically updating content (e.g., automatically redirecting or refreshing a page, a news ticker, AJAX updated field, a notification alert, etc.) can be paused, stopped, or hidden by the user or the user can manually control the timing of the updates.

  • 3.2.1 On Focus

    • When a page element receives focus, it does not result in a substantial change to the page, the spawning of a pop-up window, an additional change of keyboard focus, or any other change that could confuse or disorient the user.

  • 3.2.2 On Input

    • When a user inputs information or interacts with a control, it does not result in a substantial change to the page, the spawning of a pop-up window, an additional change of keyboard focus, or any other change that could confuse or disorient the user unless the user is informed of the change ahead of time.

  • 3.3.2 Labels or Instructions

    • Sufficient labels, cues, and instructions for required interactive elements are provided via instructions, examples, properly positioned form labels, and/or fieldsets/legends.

  • 3.3.3 Error Suggestion

    • If an input error is detected (via client-side or server-side validation), provide suggestions for fixing the input in a timely and accessible manner.

  • 3.3.4 Error Prevention (Legal, Financial, Data)

    • If the user can change or delete legal, financial, or test data, the changes/deletions can be reversed, verified, or confirmed.

  • 4.1.1 Parsing

  • 4.1.2 Name, Role, Value (follow HTML/XHTML specifications)*

    • Markup is used in a way that facilitates accessibility. This includes following the HTML/XHTML specifications.

Optional for Advanced Topics

Optional

Optional for Advanced Forms

The CMS user forms supplement offers the same guidance, except as noted.
  • 2.4.9 Link Purpose (Link Only) (for forms)*

    • The purpose of each form image button can be determined from the link text alone.

    • There are no links (or form image buttons) with the same text that go to different locations.

  • 3.2.5 Change on Request

    • Substantial changes to the page, the spawning of pop-up windows, uncontrolled changes of keyboard focus, or any other change that could confuse or disorient the user must be initiated by the user. Alternatively, the user is provided an option to disable such changes.

      • For CMS user forms supplement this is omitted.

  • 3.3.5 Help

    • Provide instructions and cues in context to help in form completion and submission.

  • 3.3.6 Error Prevention (All)

    • If the user can submit information, the submission is reversible, verified, or confirmed.

Back to Advanced Forms

Optional for Advanced Frames

None Applicable.

Back to Advanced Frames

Optional for Advanced Topics

  • 2.1.3 Keyboard (No Exception)

    • All page functionality is available using the keyboard.

  • 2.2.3 No Timing

    • The content and functionality has no time limits or constraints.

  • 2.2.4 Interruptions

    • Interruptions (alerts, page updates, etc.) can be postponed or suppressed by the user.

  • 2.2.5 Re-authenticating

    • If an authentication session expires, the user can re-authenticate and continue the activity without losing any data from the current page.

  • 3.2.5 Change on Request

    • Substantial changes to the page, the spawning of pop-up windows, uncontrolled changes of keyboard focus, or any other change that could confuse or disorient the user must be initiated by the user. Alternatively, the user is provided an option to disable such changes.

Back to Advanced Topics




Keywords:web, accessibility, accessibility standards, Section 508, WCAG 2.0, for web developers   Doc ID:50812
Owner:Sandi A.Group:Accessibility & Usability
Created:2015-04-23 15:17 CDTUpdated:2020-03-10 19:08 CDT
Sites:Accessibility & Usability, DoIT Help Desk
Feedback:  13   3