Using Parasoft SOAtest to Verify Section 508 and WAI WCAG Web Accessibility Requirements



Similar documents
Blackboard Web Community Manager WCAG 2.0 Support Statement February 2016

How To Use A Web Page With A Wheelchair On A Pc Or Mac Or Mac (For Seniors)

WCAG 2.0 Checklist. Perceivable Web content is made available to the senses - sight, hearing, and/or touch. Recommendations

WCAG 2.0 Checklist (Detailed)

Moodlerooms WCAG 2.0 Support Statement January 2016

Web Content Accessibility Guidelines 2.0 Checklist

vcenter Operations Manager Administration 5.0 Online Help VPAT

Voluntary Product Accessibility Template Blackboard Learn Release 9.1 April 2014 (Published April 30, 2014)

VPAT. Voluntary Product Accessibility Template. Version 1.5. Summary Table VPAT. Voluntary Product Accessibility Template. Supporting Features

Serena Software Voluntary Product Accessibility Report. Summary Table

Echo360 Voluntary Product Accessibility Template

HSU Accessibility Checkpoints Explained

Section Software Applications and Operating Systems - Detail Voluntary Product Accessibility VPSX. Level of Support & Supporting Features

Voluntary Product Accessibility Report

Summary Table for SolarWinds Web Help Desk

Xerox DocuMate 3125 Document Scanner

WESTERN KENTUCKY UNIVERSITY. Web Accessibility. Objective

Summary Table for SolarWinds Web Help Desk

Health Enterprise Medicaid Management Information System

WCAG 2.0 for Designers: Beyond Screen Readers and Captions

VPAT. Voluntary Product Accessibility Template. Version 1.3

VPAT Voluntary Product Accessibility Template Version 1.3

Voluntary Product Accessibility Template (VPAT)

Snap Server Manager Section 508 Report

Planning for Accessibility when Developing Financial Services Websites and Mobile Apps

Summary Table Voluntary Product Accessibility Template

Supporting Features. Supports with Exceptions. Supports with Exceptions. Supports

VPAT Summary. VPAT Details. Section Web-based Internet information and applications - Detail

Voluntary Product Accessibility Template (VPAT)

TABLE OF CONTENTS. Guide to Preparation of Procurement Specifications for Accessible Websites

SECTION 508 COMPLIANCE

Voluntary Product Accessibility Template (VPAT) Policy & Information

PDF Accessibility Overview

VPAT. Voluntary Product Accessibility Template. Version 1.3

VPAT Voluntary Product Accessibility Template

TRI Oracle Empirica Trace Statement of Conformance

icohere Products and Section 508 Standards Voluntary Product Accessibility Template (VPAT )

Summary Table. Voluntary Product Accessibility Template

3.3 Web Content Policies and Guidelines

Adobe Acrobat XI Pro Accessibility Guide: Best Practices for PDF Accessibility

VPAT. Voluntary Product Accessibility Template. Version 1.3

VPAT. Voluntary Product Accessibility Template. Version 1.3

SRCSB General Web Development Policy Guidelines Jun. 2010

WCAG 2 Compliance With Flash

Website Accessibility Under Title II of the ADA

Accessibility. Accessibility. Web sites should be designed to ensure that

Online Accessibility Action Plan

Creating and Maintaining Accessible Websites with SiteCM

Intelledox Designer WCA G 2.0

July 2012 Version 1.0. Section 508 Compliance Test Process for Microsoft Word Documents

Voluntary Product Accessibility

Voluntary Product Accessibility Template

Information and Communications Standard. Making your website more accessible

Creating Accessible Word Documents

Voluntary Product Accessibility Template

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Section A: CURRICULUM, INSTRUCTIONAL DESIGN AND STUDENT ASSESSMENT

We automatically generate the HTML for this as seen below. Provide the above components for the teaser.txt file.

STATE OF MINNESOTA NARRATIVE PROPOSAL

State of Nevada. Ektron Content Management System (CMS) Basic Training Guide

Universal Design and Ethical Practices for Designing. Bryan Ayres, M.Ed., ATP, Director Technology & Curriculum Access Center Easter Seals Arkansas

CDC UNIFIED PROCESS PROCESS GUIDE

How To Change Your Site On Drupal Cloud On A Pcode On A Microsoft Powerstone On A Macbook Or Ipad (For Free) On A Freebie (For A Free Download) On An Ipad Or Ipa (For

Backbase Accessibility

SiteBuilder 2.1 Manual

Mobile Application Accessibility Handbook 2. UNDERSTANDING THE DIFFICULTIES ENCOUNTERED BY PERSONS WITH DISABILITIES 5

Web Accessibility Report

Using Adobe Dreamweaver CS4 (10.0)

Dreamweaver CS5. Module 2: Website Modification

How to Develop Accessible Linux Applications

Microsoft Word 2010 Prepared by Computing Services at the Eastman School of Music July 2010

Brock University Content Management System Training Guide

Macromedia Dreamweaver 8 Developer Certification Examination Specification

CONTENTM WEBSITE MANAGEMENT SYSTEM. Getting Started Guide

BLUECIELO MERIDIAN ASSET MANAGEMENT MODULE 2014

Microsoft Office PowerPoint 2013

Accessibility in e-learning. Accessible Content Authoring Practices

Dreamweaver CS3 THE MISSING MANUAL. David Sawyer McFarland. POGUE PRESS" O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

RADFORD UNIVERSITY. Radford.edu. Content Administrator s Guide

Software Application & Operating Systems Checklist

Easy Guide to Building No Barrier Web Sites

Creating Accessible Forms in Microsoft Word and Adobe PDF

Creating Web Pages with HTML Simplified. 3rd Edition

Georgia State University s Web Accessibility Policy (proposed)

Chapter 10: Multimedia and the Web

Creating Web Pages with Microsoft FrontPage

HOW TO USE THIS GUIDE

Web Accessibility Tools: InFocus & LIFT for DreamWeaver

Basic tutorial for Dreamweaver CS5

Drupal Training Guide

This document is for informational purposes only. PowerMapper Software makes no warranties, express or implied in this document.

Table of Contents. Welcome Login Password Assistance Self Registration Secure Mail Compose Drafts...

3. Add and delete a cover page...7 Add a cover page... 7 Delete a cover page... 7

Section 508 Compliance - Voluntary Product Accessibility Template (VPAT)

TUTORIAL 4 Building a Navigation Bar with Fireworks

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

Saving work in the CMS Edit an existing page Create a new page Create a side bar section... 4

Acrobat X Pro Accessible Forms and Interactive Documents

Marketing. Best Practices

San Joaquin County Office of Education Career & Technical Education Web Design ~ Course Outline CBEDS#: 4601

Transcription:

Using Parasoft to Verify Section 508 and WAI WCAG Web Accessibility Requirements

Introduction According to a 2007 CDC survey, 12% of the United States population has some type of disability. Although some people with disabilities access web pages in the same way as people without disabilities, many require some type of adaptation. Such adaptations can include: Changing font configurations for improved readability. Using special devices or software (such as voice recognition software) for navigation and input. Using text-to-speech browsers that vocalize web page text. Using devices that instantly translate web page text into Braille. Many existing web pages cannot be properly presented or used in these contexts. As a result, much content and functionality is not available to a sizable number of actual or potential users. Fortunately for both developers and people with disabilities, ensuring web accessibility is much simpler than loading and testing each web page on every possible adaptive device or browser configuration. Developers can ensure a basic level of accessibility by following accessibility guidelines during development and maintenance. Such guidelines typically prompt developers to improve accessibility by adding elements such as optional labels and redundant content (rather than removing potentially inaccessible features or content). Today, there are two primary sets of industry-standard guidelines for web accessibility: Section 508: The Section 508 amendment to the Rehabilitation Act of 1973 mandates that any technology produced by or for Federal agencies be accessible to people with disabilities. Section 508 Web Guidelines detail 16 specific requirements that web pages must satisfy to comply with Section 508 legislation. Most of these guidelines focus on ensuring graceful page transformations to adaptive devices and making content understandable and navigable on adaptive devices. Although these guidelines were designed specifically for Federal agencies and vendors producing technology for Federal agencies, they have become the standard that many web developers use to gauge and ensure web accessibility. To view these guidelines, visit http://www.section508.gov/ index.cfm?fuseaction=content&id=12#web. WAI WCAG : In 1999, the Web Accessibility Initiative (WAI), a World Wide Web Consortium (W3C) organization committed to making the web more accessible for people with disabilities, developed the Web Content Accessibility Guidelines (WCAG) 1.0 (http://www.w3.org/tr/ WCAG10). In 2008, the WAI released a new set of WCAG 2.0 guidelines that improves upon the WCAG 1.0, applies to more advanced technologies, and is more precisely testable. To view these guidelines, visit http://www.w3.org/tr/wcag20/. One way to verify whether web pages follow most Section 508 and WAI WCAG guidelines is to test them with Parasoft a full-lifecycle quality platform for today s complex, distributed applications. streamlines the accessibility testing process by automatically identifying code that positively or possibly violates Section 508 and WAI WCAG web accessibility guidelines. Specifically, checks whether pages comply with accessibility guidelines that can be verified through automatic static code analysis (most-- but not all-- accessibility guidelines can be checked in this manner) and helps you identify code and page elements that require further inspection and/or modification. It can also assist with the inspection process by automating the peer review process, including preparation, notification, and tracking. Above and beyond its accessibility auditing capabilities, also enables the team to perform functional and load testing from web UIs (including RIA and AJA) through the message layer to the database and back-end with detailed visibility into how transactions pass through the various system components. This paper explains how you can use to automatically verify compliance with accessibility requirements. For details on general functionality, see the SOA Quality Solution page at http://www.parasoft.com. 2

Using to Verify Web Accessibility To use to verify Web accessibility, you simply indicate what pages you want to test, and what guidelines you want to follow. After each test run, reports code and page elements that violate accessibility rules as well as items that require further inspection and/or modification.you can then review the results, make any necessary repairs within the environment, and tell to ignore any specific warning messages you do not want reported in subsequent test runs. If you want to ensure that no code evades accessibility testing, you can even configure to run this test automatically every night (or at any other interval you prefer). Most users run s accessibility testing feature using the default settings, but can be easily customized to suit any special need or preference your organization might have. If certain rules do not apply to your project, you can prevent from checking them by clearing the appropriate option in the tool s configuration panel. If you want to change a particular rule parameter (for example, to require ALT labels for any image with a HEIGHT or WIDTH value greater than 10 pixels [instead of 20 pixels, which is the default rule parameter]), you simply point and click graphical rule elements. You can also graphically create new accessibility rules that check accessibility guidelines specific to your organization or project. For example, you can design a rule that detects the presence of a specific company logo that users with color deficits might not be able to view. For details on customization options, see Appendix B: Optional Customization on page 18. The following sections provide more details on how to use to find and fix web accessibility problems. Specifying What Pages to Test You can use to perform an accessibility audit on: Any source files that are available in your project workspace (e.g., HTML, JavaScript, CSS, ML, and other source files available in the development environment). Any web pages that are accessed as crawls your web application (using its automated scanning tool). Any web pages are represented in functional test scenarios that you recorded from the browser (using s wizards). Using these strategies in concert, you can achieve comprehensive scanning as well as check specific instances of critical pages that are delivered only under certain conditions (e.g., after valid login data is submitted then a specific user action occurs). For web pages represented in functional tests, you can run the audit in two modes. On the HTTP responses - This tests the individual HTTP messages that the browser made in order to construct its data model the content returned by the server as is (before any browser processing). On the browser-constructed HTML - This tests the real-time data model that the browser constructed from all of the HTML, JavaScript, CSS, and other files it loaded. This is especially helpful for checking the rich and highly-dynamic browser-based RIA/AJA applications that are increasingly prevalent, yet challenging to check through other means. 3

Specifying What Rules to Apply To allow auditing to begin as rapidly and painlessly as possible, is configured out-of-the box to check compliance to the following levels of Section 508 and WAI WCAG guidelines: Configuration Name Recommended Section 508 Recommended WCAG 2.0 Section 508 WCAG 1.0: Level 1 WCAG 1.0: Level 1 and 2 WCAG 1.0: Level 1, 2, and 3 WCAG 2.0: Level A WCAG 2.0: Level A and AA WCAG2.0: Level A, AA, and AAA Monitors compliance to critical and recommended Section 508 accessibility guidelines. Monitors compliance to recommended WCAG 2.0 accessibility guidelines. Monitors compliance to the most critical Section 508 accessibility guidelines. Monitors compliance to Level 1 WCAG 1.0 accessibility guidelines. Monitors compliance to Level 1 and Level 2 WCAG 1.0 accessibility guidelines. Monitors compliance to Level 1, Level 2, and Level 3 WCAG 1.0 accessibility guidelines. Monitors compliance to Level A (lowest) WCAG 2.0 accessibility guidelines. Monitors compliance to Level A (lowest) and AA WCAG 2.0 accessibility guidelines. Monitors compliance to Level A (lowest), AA, and AAA (highest) WCAG 2.0 accessibility guidelines. These configurations can be easily customized to meet your unique needs and preferences. Such configurations can draw upon s 500+ rules designed specifically to check the accessibility of HTML, CSS, and JavaScript as well as hundreds of additional rules that improve accessibility by preventing problems related to navigation, presentation, browser compatibility, and so on. To run built-in or custom configurations, you simply specify what you want to test, and which Test Configuration you want to apply. 4

Configuring Automated Nightly Tests If you want to guarantee that code which violates accessibility rules is detected immediately after it is added, you can configure to automatically perform accessibility testing every night. Setting up such an automatic testing infrastructure involves writing a simple command line script that runs this test and any other tests you want performed, then configuring a cron job or other scheduling program to run this test at the specified time each night. Reviewing and Resolving Violations After each accessibility test, reports code and page elements that violate accessibility rules as well as items that require further inspection and/or modification. Most accessibility guidelines can be verified automatically, but some guidelines (such as color contrast guidelines) require human inspection. To promote fast remediation, each violation detected is prioritized, assigned to the developer who wrote the related code (or who is responsible for the given project area), and then distributed to his or her IDE with direct links to the problematic code and a rule description. Every rule description provides a description of the rule rationale and benefits, a sample violation, an explanation of how to correct the violation, and a demonstration of how to correct the sample violation. 5

Suppressing Messages If you determine that a particular warning message does not indicate an actual violation, you can prevent from reporting that same message in subsequent test runs. For example, imagine that one of your pages contains a link to a PDF file and you have configured to check the rule that enforces part of the Section 508 1194.22 (m) guideline which states when a web page requires that an applet, plugin or other application be present on the client system to interpret page content, the page must provide a link to a plug-in or applet that complies with 1194.21[a] through [l]. would report a warning message for this page because you need to visually inspect the page to determine if it contains the required link to the most recent Acrobat Reader download page. If you inspect that page and determine that it contains an appropriate link, you can permanently suppress that particular error message. During subsequent test runs, will continue to check whether other pages contain links to PDFs and warn you to verify whether those pages also contain links to the Acrobat Reader download page; however, it will not report violations for the particular page you already inspected and verified. 6

Appendix A: Out-of-the-Box For Section 508 and WAI WCAG Guidelines The following table indicates which Section 508 and WAI WCAG guidelines are addressed by s out-of-the-box configuration. In many cases, additional support may be available through the development of custom rules and through Parasoft s peer code review workflow automation. Contact Parasoft for details. for Section 508 Guidelines Section 508 Guideline 1194.22 a) A text equivalent for every non-text element shall be provided (e.g., via "alt", "longdesc", or in element content). 1194.22 b) Equivalent alternatives for any multimedia presentation shall be synchronized with the presentation. 1194.22 c) Web pages shall be designed so that all information conveyed with color is also available without color, for example from context or markup. 1194.22 d) Documents shall be organized so they are readable without requiring an associated style sheet. 1194.22 e) Redundant text links shall be provided for each active region of a server-side image map. 1194.22 f) Client-side image maps shall be provided instead of server-side image maps except where the regions cannot be defined with an available geometric shape. 1194.22 g) Row and column headers shall be identified for data tables. 1194.22 h) Markup shall be used to associate data cells and header cells for data tables that have two or more logical levels of row or column headers. 1194.22 i) Frames shall be titled with text that facilitates frame identification and navigation. 1194.22 j) Pages shall be designed to avoid causing the screen to flicker with a frequency greater than 2 Hz and lower than 55 Hz. 1194.22 k) A text-only page, with equivalent information or functionality, shall be provided to make a web site comply with the provisions of this part, when compliance cannot be accomplished in any other way. The content of the text-only page shall be updated whenever the primary page changes. 1194.22 l) When pages utilize scripting languages to display content, or to create interface elements, the information provided by the script shall be identified with functional text that can be read by assistive technology. 1194.22 m) When a web page requires that an applet, plug-in or other application be present on the client system to interpret page content, the page must provide a link to a plug-in or applet that complies with 1194.21(a) through (l). 7

Section 508 Guideline 1194.22 n) When electronic forms are designed to be completed on-line, the form shall allow people using assistive technology to access the information, field elements, and functionality required for completion and submission of the form, including all directions and cues. 1194.22 o) A method shall be provided that permits users to skip repetitive navigation links. 1194.22 p) When a timed response is required, the user shall be alerted and given sufficient time to indicate more time is required. 8

for WAI WCAG 1.0Guidelines Checkpoint 1.1 Provide a text equivalent for every non-text element (e.g., via "alt", "longdesc", or in element content). This includes: images, graphical representations of text (including symbols), image map regions, animations (e.g., animated GIFs), applets and programmatic objects, ascii art, frames, scripts, images used as list bullets, spacers, graphical buttons, sounds (played with or without user interaction), stand-alone audio files, audio tracks of video, and video. [Priority 1] 1.2 Provide redundant text links for each active region of a server-side image map. [Priority 1] 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] 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] 2.1 Ensure that all information conveyed with color is also available without color, for example from context or markup. [Priority 1] 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] 3.1 When an appropriate markup language exists, use markup rather than images to convey information. [Priority 2] 3.2 Create documents that validate to published formal grammars. [Priority 2] 3.3 Use style sheets to control layout and presentation. [Priority 2] 3.4 Use relative rather than absolute units in markup language attribute values and style sheet property values. [Priority 2] 3.5 Use header elements to convey document structure and use them according to specification. [Priority 2] 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. [Priority 2] 4.1 Clearly identify changes in the natural language of a document's text and any text equivalents (e.g., captions). [Priority 1] 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] 5.1 For data tables, identify row and column headers. [Priority 1] 9

Checkpoint 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] 5.3 Do not use tables for layout unless the table makes sense when linearized. Otherwise, if the table does not make sense, provide an alternative equivalent (which may be a linearized version). [Priority 2] 5.4 If a table is used for layout, do not use any structural markup for the purpose of visual formatting. [Priority 2] 5.5 Provide summaries for tables. [Priority 3] 5.6 Provide abbreviations for header labels. [Priority 3] 6.1 Organize documents so they may be read without style sheets. For example, when an HTML document is rendered without associated style sheets, it must still be possible to read the document. [Priority 1] 6.2 Ensure that equivalents for dynamic content are updated when the dynamic content changes. [Priority 1] 6.3 Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported. If this is not possible, provide equivalent information on an alternative accessible page. [Priority 1] 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.1 Until user agents allow users to control flickering, avoid causing the screen to flicker. [Priority 1] 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] 7.4 Until user agents provide the ability to stop the refresh, do not create periodically auto-refreshing pages. [Priority 2] 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] 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] 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] 9.2 Ensure that any element that has its own interface can be operated in a deviceindependent manner. [Priority 2] 10

Checkpoint 9.3 For scripts, specify logical event handlers rather than device-dependent event handlers. [Priority 2] 9.4 Create a logical tab order through links, form controls, and objects. [Priority 3] 9.5 Provide keyboard shortcuts to important links (including those in client-side image maps), form controls, and groups of form controls. For example, in HTML, specify shortcuts. [Priority 3] 10.1 Until user agents allow users to turn off spawned windows, do not cause popups or other windows to appear and do not change the current window without informing the user. [Priority 2] 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] 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] 10.4 Until user agents handle empty controls correctly, include default, place-holding characters in edit boxes and text areas. [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.1 Use W3C technologies when they are available and appropriate for a task and use the latest versions when supported. [Priority 2] 11.2 Avoid deprecated features of W3C technologies. [Priority 2] 11.3 Provide information so that users may receive documents according to their preferences (e.g., language, content type, etc.) [Priority 3] 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] 12.1 Title each frame to facilitate frame identification and navigation. [Priority 1] 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] 12.3 Divide large blocks of information into more manageable groups where natural and appropriate. [Priority 2] 12.4 Associate labels explicitly with their controls. [Priority 2] 13.1-13.10 Provide clear and consistent navigation mechanisms -- orientation information, navigation bars, a site map, etc. -- to increase the likelihood that a person will find what they are looking for at a site. 14.1-14.3 Ensure that documents are clear and simple so they may be more easily understood. 11

for WAI WCAG 2.0Guidelines Guideline 1.1.1 Non-text Content: All non-text content that is presented to the user has a text alternative that serves the equivalent purpose, except for the situations listed below. (Level A) 1.2.1 Audio-only and Video-only (Prerecorded): For prerecorded audio-only and prerecorded video-only media, the following are true, except when the audio or video is a media alternative for text and is clearly labeled as such: (Level A) Prerecorded Audio-only: An alternative for time-based media is provided that presents equivalent information for prerecorded audio-only content. Prerecorded Video-only: Either an alternative for time-based media or an audio track is provided that presents equivalent information for prerecorded video-only content. 1.2.2 Captions (Prerecorded): Captions are provided for all prerecorded audio content in synchronized media, except when the media is a media alternative for text and is clearly labeled as such. (Level A) 1.2.3 Audio or Media Alternative (Prerecorded): An alternative for timebased media or audio description of the prerecorded video content is provided for synchronized media, except when the media is a media alternative for text and is clearly labeled as such. (Level A) 1.2.4 Captions (Live): Captions are provided for all live audio content in synchronized media. (Level AA) 1.2.5 Audio (Prerecorded): Audio description is provided for all prerecorded video content in synchronized media. (Level AA) 1.2.6 Sign Language (Prerecorded): Sign language interpretation is provided for all prerecorded audio content in synchronized media. (Level AAA) 1.2.7 Extended Audio (Prerecorded): Where pauses in foreground audio are insufficient to allow audio descriptions to convey the sense of the video, extended audio description is provided for all prerecorded video content in synchronized media. (Level AAA) 1.2.8 Media Alternative (Prerecorded): An alternative for time-based media is provided for all prerecorded synchronized media and for all prerecorded videoonly media. (Level AAA) 1.2.9 Audio-only (Live): An alternative for time-based media that presents equivalent information for live audio-only content is provided. (Level AAA) 1.3.1 Info and Relationships: Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text. (Level A) 1.3.2 Meaningful Sequence: When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined. (Level A) 12

Guideline 1.3.3 Sensory Characteristics: Instructions provided for understanding and operating content do not rely solely on sensory characteristics of components such as shape, size, visual location, orientation, or sound. (Level A) 1.4.1 Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element. (Level A) 1.4.2 Audio Control: If any audio on a web page plays automatically for more than 3 seconds, either a mechanism is available to pause or stop the audio, or a mechanism is available to control audio volume independently from the overall system volume level. (Level A) 1.4.3 Contrast (Minimum): The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following: (Level AA) Large Text: Large-scale text and images of large-scale text have a contrast ratio of at least 3:1; Incidental: Text or images of text that are part of an inactive user interface component, that are pure decoration, that are not visible to anyone, or that are part of a picture that contains significant other visual content, have no contrast requirement. Logotypes: Text that is part of a logo or brand name has no minimum contrast requirement. 1.4.4 Resize text: Except for captions and images of text, text can be resized without assistive technology up to 200 percent without loss of content or functionality. (Level AA) 1.4.5 Images of Text: If the technologies being used can achieve the visual presentation, text is used to convey information rather than images of text except for the following: (Level AA) Customizable: The image of text can be visually customized to the user's requirements; Essential: A particular presentation of text is essential to the information being conveyed. 1.4.6 Contrast (Enhanced): The visual presentation of text and images of text has a contrast ratio of at least 7:1, except for the following: (Level AAA) Large Text: Large-scale text and images of large-scale text have a contrast ratio of at least 4.5:1; Incidental: Text or images of text that are part of an inactive user interface component, that are pure decoration, that are not visible to anyone, or that are part of a picture that contains significant other visual content, have no contrast requirement. Logotypes: Text that is part of a logo or brand name has no minimum contrast requirement. 13

Guideline 1.4.7 Low or No Background Audio: For prerecorded audio-only content that (1) contains primarily speech in the foreground, (2) is not an audio CAPTCHA or audio logo, and (3) is not vocalization intended to be primarily musical expression such as singing or rapping, at least one of the following is true: (Level AAA) No Background: The audio does not contain background sounds. Turn Off: The background sounds can be turned off. 20 db: The background sounds are at least 20 decibels lower than the foreground speech content, with the exception of occasional sounds that last for only one or two seconds. 1.4.8 Visual Presentation: For the visual presentation of blocks of text, a mechanism is available to achieve the following: (Level AAA) 1. Foreground and background colors can be selected by the user. 2. Width is no more than 80 characters or glyphs (40 if CJK). 3. Text is not justified (aligned to both the left and the right margins). 4. Line spacing (leading) is at least space-and-a-half within paragraphs, and paragraph spacing is at least 1.5 times larger than the line spacing. 5. Text can be resized without assistive technology up to 200 percent in a way that does not require the user to scroll horizontally to read a line of text on a full-screen window. 1.4.9 Images of Text (No Exception): Images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed. (Level AAA) 2.1.1 Keyboard: All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints. (Level A) 2.1.2 No Keyboard Trap: If keyboard focus can be moved to a component of the page using a keyboard interface, then focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away. (Level A) 2.1.3 Keyboard (No Exception): All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes. (Level AAA) 14

Guideline 2.2.1 Timing Adjustable: For each time limit that is set by the content, at least one of the following is true: (Level A) Turn off: The user is allowed to turn off the time limit before encountering it; or Adjust: The user is allowed to adjust the time limit before encountering it over a wide range that is at least ten times the length of the default setting; or Extend: The user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action (for example, "press the space bar"), and the user is allowed to extend the time limit at least ten times; or Real-time Exception: The time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible; or Essential Exception: The time limit is essential and extending it would invalidate the activity; or 20 Hour Exception: The time limit is longer than 20 hours. 2.2.2 Pause, Stop, Hide: For moving, blinking, scrolling, or auto-updating information, all of the following are true: (Level A) Moving, blinking, scrolling: For any moving, blinking or scrolling information that (1) starts automatically, (2) lasts more than five seconds, and (3) is presented in parallel with other content, there is a mechanism for the user to pause, stop, or hide it unless the movement, blinking, or scrolling is part of an activity where it is essential; and Auto-updating: For any auto-updating information that (1) starts automatically and (2) is presented in parallel with other content, there is a mechanism for the user to pause, stop, or hide it or to control the frequency of the update unless the auto-updating is part of an activity where it is essential. 2.2.3 No Timing: Timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events. (Level AAA) 2.2.4 Interruptions: Interruptions can be postponed or suppressed by the user, except interruptions involving an emergency. (Level AAA) 2.2.5 Re-authenticating: When an authenticated session expires, the user can continue the activity without loss of data after re-authenticating. (Level AAA) 2.3.1 Three Flashes or Below Threshold: Web pages do not contain anything that flashes more than three times in any one second period, or the flash is below the general flash and red flash thresholds. (Level A) 2.3.2 Three Flashes: Web pages do not contain anything that flashes more than three times in any one second period. (Level AAA) 2.4.1 Bypass Blocks: A mechanism is available to bypass blocks of content that are repeated on multiple web pages. (Level A) 2.4.2 Page Titled: Web pages have titles that describe topic or purpose. (Level A) 15

Guideline 2.4.3 Focus Order: If a web page can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability. (Level A) 2.4.4 Link Purpose (In Context): The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context, except where the purpose of the link would be ambiguous to users in general. (Level A) 2.4.5 Multiple Ways: More than one way is available to locate a web page within a set of web pages except where the web Page is the result of, or a step in, a process. (Level AA) 2.4.6 Headings and Labels: Headings and labels describe topic or purpose. (Level AA) 2.4.7 Focus Visible: Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible. (Level AA) 2.4.8 Location: Information about the user's location within a set of web pages is available. (Level AAA) 2.4.9 Link Purpose (Link Only): A mechanism is available to allow the purpose of each link to be identified from link text alone, except where the purpose of the link would be ambiguous to users in general. (Level AAA 2.4.10 Section Headings: Section headings are used to organize the content. (Level AAA) 3.1.1 Language of Page: The default human language of each web page can be programmatically determined. (Level A) 3.1.2 Language of Parts: The human language of each passage or phrase in the content can be programmatically determined except for proper names, technical terms, words of indeterminate language, and words or phrases that have become part of the vernacular of the immediately surrounding text. (Level AA) 3.1.3 Unusual Words: A mechanism is available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon. (Level AAA) 3.1.4 Abbreviations: A mechanism for identifying the expanded form or meaning of abbreviations is available. (Level AAA) 3.1.5 Reading Level: When text requires reading ability more advanced than the lower secondary education level after removal of proper names and titles, supplemental content, or a version that does not require reading ability more advanced than the lower secondary education level, is available. (Level AAA) 3.1.6 A mechanism is available for identifying specific pronunciation of words where meaning of the words, in context, is ambiguous without knowing the pronunciation. (Level AAA) 3.2.1 On Focus: When any component receives focus, it does not initiate a change of context. (Level A) 3.2.2 On Input: Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component. (Level A) 16

Guideline 3.2.3 Consistent Navigation: Navigational mechanisms that are repeated on multiple web pages within a set of web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user. (Level AA) 3.2.4 Consistent Identification: Components that have the same functionality within a set of web pages are identified consistently. (Level AA) 3.2.5 Change on Request: Changes of context are initiated only by user request or a mechanism is available to turn off such changes. (Level AAA) 3.3.1 Error Identification: If an input error is automatically detected, the item that is in error is identified and the error is described to the user in text. (Level A) 3.3.2 Labels or Instructions: Labels or instructions are provided when content requires user input. (Level A) 3.3.3 Error Suggestion: If an input error is automatically detected and suggestions for correction are known, then the suggestions are provided to the user, unless it would jeopardize the security or purpose of the content. (Level AA) 3.3.4 Error Prevention (Legal, Financial, Data): For web pages that cause legal commitments or financial transactions for the user to occur, that modify or delete user-controllable data in data storage systems, or that submit user test responses, at least one of the following is true: (Level AA) 1. Reversible: Submissions are reversible. 2. Checked: Data entered by the user is checked for input errors and the user is provided an opportunity to correct them. 3. Confirmed: A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission. 3.3.5 Context-sensitive help is available. (Level AAA) 3.3.6 Error Prevention (All): For web pages that require the user to submit information, at least one of the following is true: (Level AAA) 1. Reversible: Submissions are reversible. 2. Checked: Data entered by the user is checked for input errors and the user is provided an opportunity to correct them. 3. Confirmed: A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission. 4.1.1 Parsing: In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features. (Level A) 4.1.2 Name, Role, Value: For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies. (Level A) 17

Appendix B: Optional Customization Most users run s accessibility testing feature using the default settings, but can be easily customized to suit any special need or preference your organization might have. User customizations typically fall into two categories: Enabling or disabling individual rules. Creating custom accessibility rules. Enabling or Disabling Individual Rules includes over 500 accessibility rules, but because all rules do not make sense for all organizations and projects, it allows you to enable/disable checking of specific rules. You can change the default rule enforcement settings by checking or clearing boxes in your preferred accessibility Test Configuration. To help you determine which rules to enforce, the User s Guide contains a help file that describes each rule s purpose, lists the WAI WCAG or Section 508 guideline it enforces, and provides a sample violation and repair when appropriate. Creating Custom Accessibility Rules If you want to modify existing rules or create custom rules, you can do so using the RuleWizard feature. RuleWizard is a graphical user interface for expressing patterns you want to detect in code or structured data. In RuleWizard, a rule is a graphical representation of a code pattern you want to detect. Each rule is composed of available rule nodes and rule properties. For example, the rule pattern shown below represents a rule that finds all spacers (small transparent image files used to create white space) that do not have an alt attribute or whose alt attribute is not empty. This will automatically find code that either tries to add a text equivalent for spacer, or that fails to add an empty alt tag indicating that the image has no text equivalent. 18

To modify a rule, you point and click to make any necessary adjustments (for example, to change the spacer image height/width threshold to 10). You can also use RuleWizard to create and enforce custom accessibility rules that are not represented in the standard rule set. For example, imagine that you discovered that a certain company logo used on your site does not provide the necessary contrast for someone with color deficits or someone viewing the site on a black and white screen. You could automatically identify all pages that use this logo by designing and applying a rule that detects any occurrence of this logo. This rule could be built graphically or automatically (by entering code representing the pattern you want to find, and then letting the RuleWizard Auto-Create feature automatically construct your rule. 19

About Parasoft Parasoft is full-lifecycle quality platform for today s complex, heterogeneous applications. Above and beyond its accessibility auditing capabilities, also enables the team to perform functional and load testing from web UIs (including RIA and AJA), through the message layer, to the database and back-end with detailed visibility into how transactions pass through the various system components. For testing web interfaces, features: Visual, script-less design of complex tests that can be leveraged for both functional and load testing end-to-end test scenarios which may extend through web interfaces, back-end services, ESBs, databases, and everything in between. Static analysis of compliance to accessibility, custom branding and other standards. Automated distribution of regression test failures and policy violations as tasks to the responsible team members. Visual and intuitive web page validation and HTML content extraction. Execution of recorded tests against multiple browsers and in different environments. Automated generation of developer-friendly JUnit test cases. Maintainability reports to assist in developing robust regression tests that withstand changing HTML content and layouts as your web applications continue to evolve. is available now at http://www.parasoft.com. About Parasoft For 20 years, Parasoft has investigated how and why software errors are introduced into applications. Our solutions leverage this research to deliver quality as a continuous process throughout the SDLC. This promotes strong code foundations, solid functional components, and robust business processes. Whether you are delivering Service-Oriented Architectures (SOA), evolving legacy systems, or improving quality processes draw on our expertise and award-winning products to increase productivity and the quality of your business applications. For more information visit http://www.parasoft.com. 20

Contacting Parasoft USA 101 E. Huntington Drive, 2nd Floor Monrovia, CA 91016 Toll Free: (888) 305-0041 Tel: (626) 305-0041 Fax: (626) 305-3036 Email: info@parasoft.com URL: www.parasoft.com Europe France: +33 (1) 64 89 26 00 UK: +44 (0) 1923 858005 Germany: +49 731 880309-0 Netherlands: +31-70-3922000 Email: info-europe@parasoft.com Asia Tel: +886 2 6636-8090 Email: info-psa@parasoft.com 2009 Parasoft Corporation All rights reserved. Parasoft and all Parasoft products and services listed within are trademarks or registered trademarks of Parasoft Corporation. All other products, services, and companies are trademarks, registered trademarks, or servicemarks of their respective holders in the US and/or other countries. 21