This first category of standards applies to purchased or developed operating systems and application software programs. These requirements also apply to EIT products that contain software as an integral part of their functionality. Such application software is bundled or sold with the product, and typically executes on an attached network-connected personal computer or server. For example, a printer would fall under 1194.25 Self-Contained, Closed Products, but the accompanying software used for printing must conform to this portion of the law.
In addition, these requirements apply to telecommunications PBX with TAPI software that allows access to phone system functions from a computer workstation.
A comprehensive example of a software product evaluation is provided in Appendix C.
An area that is normally overlooked is the installation of software. While the software may be Section 508 compliant, its installation process may not be. An effective solution is to develop the installation process in accordance with the appropriate standards.
There are currently no testing tools to determine software compliance automatically.
All standards are equal in importance.
If a standard states "When…", it only applies to specific situations. Otherwise the standard is not applicable.
Most of the standards in this category are good coding practice and should be followed, even when designing software for non-disabled users.
Software tools developed by Sun for Java include Ferret, Monkey, and the AccessibilityMonitor. These tools can be used to help ensure compliance.
GNOME Accessibility Framework. A free, open source, graphical desktop for UNIX and GNU/Linux systems. GNOME 2 will be the future desktop of the SolarisT Operating Environment. http://developer.gnome.org/projects/gap/
JavaT Accessibility, a free, cross platform, toolkit-independent API designed to give AT direct access to the information in user interface objects. Java-based applications run on a wide variety of host operating systems, many of which already have AT available for them (for example, Macintosh, OS/2, Windows). For existing AT to provide access to programs written in the Java language, the AT needs a bridge between its native environment and the accessibility support built into the Java platform. http://www.sun.com/access/index.html
Linux Accessibility Resource Site: GNU/Linux lets the AT or software developer make changes to the actual operating system in order to provide its users with the desired information. http://lars.atrc.utoronto.ca/
MSAA, included in the Windows operating system. It was designed to provide a standard interface for AT and for applications built on Windows. http://msdn.microsoft.com/at
W3C Document Object Model, an API that can be implemented on various operating systems and in many programming languages that provides programmatic access to HTML and XML-based content. http://www.w3.org/2002/07/26-dom-article.html
1194.21(a) "When software is designed to run on a system that has a keyboard, product functions shall be executable from a keyboard where the function itself or the result of performing a function can be discerned textually."
In other words…
At a minimum, every feature of an application must be available using the keyboard. (For example, you cannot have a print function that can only be accessed with a mouse.) The feature itself or the result of the feature must provide text feedback.
Term
Discerned textually: A function is textually discernible if it offers text feedback to the user. For example, when a user activates a Delete function, the application may display a confirmation dialog box with text, "Are you sure you want to delete?" Text feedback is accessible to AT.
Determining Compliance
To test for product compliance:
Install the software by using only the keyboard.
Perform basic software functions using the keyboard (e.g., open and close a file, read the help file, and print). The functions should perform as expected, and this should be evident from text feedback.
Consult the product's user manual for functionality. For every function, there must be a means to access and use that function with the keyboard alone.
Notes
This law only applies to systems that include keyboards. Information transaction machines such as kiosks with limited input controls would fall under 1194.25 Self-Contained, Closed Products.
Please see the accompanying Windows Shortcut Keys for commonly used key combinations.
Text feedback is integral to compliance with several other standards. See 1194.21(d), (e), (f), (i) and (l).
When navigating through an application, a sighted user can also test for 1194.21(c) compliance by ensuring that each interface element displays focus changes.
This section introduces a series of shortcut keys that are common in Windows. When developing Windows applications, developers should assign shortcut keys in a similar manner, for consistency.
If you are connected to Windows through Microsoft Terminal Services Client, some shortcuts may have changed depending on your configuration. Some keyboard shortcuts may require a Microsoft-compatible keyboard that includes the WINDOWS key (with a graphic of a flying window) and the APPLICATION key (with a graphic of a menu and mouse pointer).
System-Wide Shortcut Keys
Press
To
WINDOWS
Display or hide the Start menu.
CTRL + ESC
Display or hide the Start menu (same as WINDOWS).
CTRL + ALT + DELETE
Display Windows Security screen or Windows Task Manager.
WINDOWS + BREAK
Display the System Properties dialog box.
WINDOWS + D
Show the desktop.
WINDOWS + M
Minimize all windows.
WINDOWS + SHIFT + M
Restore minimized windows.
WINDOWS + E
Open My Computer with Windows Explorer.
WINDOWS + F
Search for a file or folder.
CTRL + WINDOWS + F
Search for computers.
WINDOWS + F1
Display Windows Help.
WINDOWS + L
Lock your computer if you are connected to a network domain, or switch users if you are not connected to a network domain.
WINDOWS + R
Open the Run dialog box.
ALT + TAB(s)
Switch between open windows. While holding the ALT key down, you can press TAB several times to navigate through the system display of each previously used window.
ALT + SHIFT + TAB(s)
Similar to ALT + TAB(s), switch backward between open windows. You can switch between moving backward or forward by holding or releasing the SHIFT key.
ALT + ESC(s)
Cycle the input focus through the windows in the order that they were opened; compare to ALT + TAB.
ALT + SHIFT + ESC(s)
Similar to ALT + ESC(s), cycle focus backward through windows. You can switch between moving backward or forward by holding or releasing the SHIFT key.
PRINT SCRN
Copy an image of the screen.
ALT + PRINT SCRN
Copy an image of the current window.
Left ALT + SHIFT
Switch input languages or keyboard layouts (available and configurable when the user installed multiple keyboard layouts through Regional and Language Options in Control Panel).
CTRL + SHIFT
Switch keyboard layouts or input languages (available and configurable when the user installed multiple keyboard layouts through Regional and Language Options in Control Panel).
CTRL or left ALT + SHIFT + ~, number (0-9), or ` accent key
Use hot key for input languages (available and configurable when the user installed multiple keyboard layouts through Regional and Language Options in Control Panel).
WINDOWS + V
[Speech recognition] Toggle listening status of the microphone.
WINDOWS + C
[Speech recognition] Correct recognized text strings.
Note: The shortcut keys in the next table are presented only as examples and do not represent all of the available shortcut keys. A complete list of shortcut keys is provided in the online documentation of each Microsoft Office application.
Press
To
INSERT
Toggle the insertion mode.
F6
Move between task pane and the document window.
SHIFT + F6
Move backward between task pane and the document window.
CTRL + F6
Switch to next window when more than one window is open.
CTRL + SHIFT + F6
Switch to previous window when more than one window is open.
CTRL + TAB
Move focus between menu and tool bars in menu mode.
F1
Display the Assistant balloon (if Office Assistant is active).
ALT + SHIFT + F10
Display the menu or message for a Smart Tag near the input focus.
CTRL + O
Open the Open dialog box.
CTRL + N
Open a new blank document.
CTRL + F
Open the Find dialog box.
CTRL + P
Open the Print dialog box.
CTRL + S
Save the document that currently has the input focus.
1194.21(b) "Applications shall not disrupt or disable activated features of other products that are identified as accessibility features, where those features are developed and documented according to industry standards. Applications also shall not disrupt or disable activated features of any operating system that are identified as accessibility features where the application programming interface for those accessibility features has been documented by the manufacturer of the operating system and is available to the product developer."
In other words…
Systems or applications must not disrupt or disable documented accessibility features of software products or operating systems.
Click on Start > Settings > Control Panel. Double click on the Accessibility Options icon, and activate all of the accessibility features. The StickyKeys, MouseKeys and other options should still work with the application running.
Check the product's user manual for any documented accessibility features. Enable them if available. Ensure that they do not impact the operating system or other application's accessibility features.
Run AT with the software. None of the AT features should be overridden by the product being tested.
1194.21(c) "A well-defined on-screen indication of the current focus shall be provided that moves among interactive interface elements as the input focus changes. The focus shall be programmatically exposed so that assistive technology can track focus and focus changes."
In other words…
The point of action (e.g., cursor) is easy to find and is programmatically exposed to AT so that AT can track focus and focus changes.
Navigate through the software or operating system, paying attention to focus changes in menus, dialogs, forms, property boxes and other interface elements.
The cursor should be visible and easy to find.
Focus should be easy to identify when using the TAB or ARROW keys to move between objects.
Notes
Another way to test for compliance is to ensure that while testing for 1194.21(a) compliance, a sighted user is able to visually discern focus changes throughout a product.
Compliance with this standard is essential in order to test for compliance with 1194.21(a).
It is difficult to test for programmatically exposed focus in a product. Consult the manufacturer as to how focus is exposed to AT, and through what standard APIs focus is available to AT.
1194.21(d) "Sufficient information about a user interface element including the identity, operation and state of the element shall be available to assistive technology. When an image represents a program element, the information conveyed by the image must also be available in text."
In other words…
All visually available (on screen) information in a product must be available to AT. Images, graphs, icons and forms must have descriptive information conveyed in a text format such as a text label, ALT tag or "tool tip".
Consult the manufacturer for compliance. If the manufacturer is not available or you are performing compliance tests on proprietary software solutions:
Inspect the application using a software utility to retrieve and display information about user interface elements. Each interface element should be identified and accurately described by the utility (e.g., a check box should report its function and current state).
A quick way to determine whether an image program element is compliant is to place the mouse pointer over the image. If a tool tip appears that textually describes the meaning or function of that image, then the image is compliant. If a tool tip does not appear, then similar descriptive text should be associated with the image in a way that is available to AT.
Notes
Microsoft provides two utilities for developers. One utility is SPY++, included in Visual Studio, and the other is Inspect Objects.
To test Java-based applications, visit http://java.sun.com/products/jfc/accessibility/index.jsp and download the free Java Accessibility Utilities (Access Bridge interface utilities) such as Ferret, Monkey, and AccessibilityMonitor.
An expert testing with specific AT such as screen reading software in a specific environment cannot guarantee compliance, but can be an effective indicator as to whether a product conforms to this law.
1194.21(e) "When bitmap images are used to identify controls, status indicators, or other programmatic elements, the meaning assigned to those images shall be consistent throughout an application's performance."
In other words…
An image's use must be consistent throughout a product. Alternative text (e.g., tool tip, ALT text) should also adhere to this standard.
It is best to use universally accepted images for specific functions (e.g., the picture of a printer for the printing function). Products should not have contradictory or counterintuitive image meanings (e.g., the picture of a printer whose function is to delete records).
Check the bitmap images in the product, especially those that represent unique or critical tasks.
Ensure that the image for each function is consistent throughout the application.
1194.21(f) "Textual information shall be provided through operating system functions for displaying text. The minimum information that shall be made available is text content, text input caret location, and text attributes."
In other words…
Text information from a product must be available to AT. This is accomplished by interfacing with operating system functions for displaying text (e.g., APIs that accept text content and attributes).
Change the font attributes in the operating system. In Windows, this can be done by clicking Start > Settings > Control Panel > Display > Appearance. The fonts within the application should change accordingly.
Textual information should be selectable using the cursor.
1194.21(g) "Applications shall not override user-selected contrast and color selections and other individual display attributes."
In other words…
A product must be able to conform to the user's operating system display settings. A product cannot use its own color and contrast settings, unless it complies with 1194.21(j).
1194.21(h) "When animation is displayed, the information shall be displayable in at least one non-animated presentation mode at the option of the user."
In other words…
If animation is used in a product, the user must be able to select at least one non-animated mode to display the animation's information (e.g., audio or text description).
To determine the full set of controls that display animation, methods include:
Observation of the product interface
Review of the product documentation (e.g., user manuals and online help)
The software must provide each animation's content using an alternate means. For example, for each informative animation sequence, a text or audio equivalent may be provided.
Note
The ability to turn off decorative (non-informational) animations is a good product feature.
1194.21(i) "Color coding shall not be used as the only means of conveying information, indicating an action, prompting a response, or distinguishing a visual element."
In other words…
Color should never be the only means to identify functions, visual elements or information.
Determining Compliance
For all functions that require color-coding, there must be an alternative or different reference and that reference must be unique. That is, the information or action must also be conveyed without color. For example, a form that requires the user to "complete only the areas in red" would be noncompliant. One solution would be to have the user "complete all the areas marked with a red star or asterisk". However, this would be compliant only if no other stars existed on the form.
Two ways to evaluate an application's conformance to this standard are:
If a black and white setting is available, turn it on and verify that all information is still conveyed.
Print the information without color on a black and white printer or adjust the display to monochrome, and verify that all information is still conveyed.
Note
This standard is parallel to standards 1194.22(c) for web-based information and applications and 1194.25(g) for self-contained, closed products.
1194.21(j) "When a product permits a user to adjust color and contrast settings, a variety of color selections capable of producing a range of contrast levels shall be provided."
In other words…
A variety of color selections and contrast levels should be provided when an application allows the user to change contrast or color settings. If the product does not feature adjustable color or contrast settings, then the standard does not apply. In either case, the product must conform to 1194.21(g) regarding system display settings.
Determining Compliance
In Windows, go to Start > Settings > Control Panel > Accessibility Options and change the color and contrast settings. If the application's color and/or contrast do not change, then the product must allow the user to adjust color and contrast settings:
Color adjustment to foreground, background, and other elements must be allowed.
A range of colors must be provided. For example, Microsoft allows at least 30 variations. At a minimum, the product should include the selection of the eight primary colors for both the foreground and background.
While observing contrast levels, adjust the display to full-color and monochrome settings.
Notes
There should be a combination that will provide a soft background, low contrast color scheme as well as combinations that provide a high contrast color scheme.
Avoid reds and greens together. White on black, black on white, and yellow on black are examples of high contrast settings.
1194.21(k) "Software shall not use flashing or blinking text, objects, or other elements having a flash or blink frequency greater than 2 Hz and lower than 55 Hz."
In other words…
Design software products so that blinking on the screen is nonexistent, or very slow (e.g., one blink per second), or very fast (at least fifty-five blinks per second).
It is best not to use products that have flashing or blinking elements.
Visually review software applications to locate flashing or blinking elements.
Special tools are required to accurately measure the screen blink rate. Check the user manual for the flash/blink rate. If it is not listed, call the manufacturer for information.
Because 2 Hz is relatively slow, it is possible to use visual observation to determine whether the blink rate is greater than 2 Hz. Ideally, the blink rate should not be greater than 1 Hz, i.e., one blink per second. If no timing device is available, you may approximate a one-second interval by speaking the words "one thousand one".
Notes
If there are multiple items that are flashing simultaneously in the same visual space, the cumulative effect should be considered.
Processor speeds and graphic cards can affect blink rate, so it is best to measure blink rate on all the relevant products.
This standard is parallel to standards 1194.22(j) for web-based information and applications and 1194.25(i) for self-contained, closed products.
1194.21(l) "When electronic forms are used, 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."
In other words…
Electronic forms in products must be accessible to AT. This includes the fields in the form, all information required to complete the form, and any functions used to submit the form.
Determining Compliance
This standard cannot be visually evaluated for compliance without access to the source code of a product. The most effective way to evaluate the product is with testing utilities (e.g., Microsoft's Inspect Objects tool). AT such as JAWS screen reader software is useful only in the hands of an expert. See related standard 1194.21(d).
When evaluating electronic forms:
The focus should move in a logical sequence to all fields and information (e.g., starting with a description of the first name field, then to first name, description of the last name field, last name, etc.).
The user should be able to fill in data in the proper fields in the required format (e.g., name, state, telephone numbers, critical fields).
The user should be able to complete the form and submit it using only the keyboard. See 1194.21(a).
Note
This standard is parallel to standard 1194.22(n) for web-based information and applications.
KEY: =online
business system =fees =forms=help =laws/regulations =definition
(glossary)
Is there a question about what the USPTO
can or cannot do that you cannot find an answer for? Send questions
about USPTO programs and services to theUSPTO Contact Center (UCC).You can suggest
USPTO webpages or material you would like featured
on this section by E-mail
to thewebmaster@uspto.gov.
While we cannot promise to accommodate all requests, your
suggestions will be considered and may lead to other improvements
on the website.