Support system settings for high contrast for all user interface objects, including client area content.
Rationale
For most people, color is a matter of preference, but it is critical for many users with visual impairments. Many users with low vision need high contrast between text and the background to be able to read information on the screen. They may even need a particular color scheme, such as white text on a black background, to prevent the background from "bleeding" over and obscuring the foreground text. Some people consider the default color scheme legible but find that it causes eyestrain over longer periods of time.
Windows is currently the only operating system that provides a "high contrast" setting. The purpose of this checkpoint is to enable users who need a high contrast color scheme to define their display preferences in one place rather than having to modify the display settings for each application.
Development techniques
This checkpoint is not applicable to software that will not run on a Windows platform. Software intended to run on Windows platforms must implement one of the following techniques to meet Checkpoint 4.2 from the IBM Java Accessibility Checklist:
- Automatically inherit the system settings for high contrast:
- If the software uses the Windows Pluggable Look and Feel (PLAF), provided with JFC, and standard JFC components, the controls and text will automatically inherit the Windows system settings for high contrast.
- If the software does not use the Windows Pluggable Look and Feel, is cross-platform or uses custom components, you will need to create a PLAF. You can create the new PLAF from the Windows PLAF. The PLAF uses the Java Native Interface (JNI) to access a Dynamic Link Library (DLL) that you'll create. This DLL will need to access system high contrast settings for each component by calling the SystemParametersInfo function with the SPI_GETHIGHCONTRAST value. Query and support this value during initialization and when processing WM_COLORCHANGE messages. Call GetSysColors to identify the colors chosen through the Windows Control Panel.
- If system settings are not automatically inherited, provide an option to use the system settings for high contrast instead of the program settings. Even if the software provides custom settings for displaying content, it must still provide an way for users to choose the system settings instead of custom settings provided by the program.
The following techniques are recommended to enhance accessibility:
- Automatically inherit changes in high contrast settings so users do not have to stop and restart the application to get the new setting. The Windows PLAF will automatically inherit changes in the high contrast settings.
- For operating systems and components that do not have corresponding standard system controls you can create high contrast capabilities that the user can set. (Javax.Swing.Colorchooser - JColorChooser).
- Provide an option which enables users to turn off the background in the software. Text drawn over a patterned background will be illegible for many users because it does not provide sufficient contrast between the background and the text, and because the pattern "bleeds" into the text. In order for them to read the information on the screen, users need to be able to turn off the background and revert to a solid color background.
- Turn off the background in response to the High Contrast setting.
- Provide sufficient contrast in the default background and the text. For
example, do not use black text on a dark gray background. The following references provide more
information on color contrast:
- Safe Web colors for Color-deficient Vision (link resides outside of ibm.com) provides information on color combinations.
- Colorfield Digital Media developed Colorfield™ Insight (link resides outside of ibm.com), a tool that can be used to model and predict image legibility for the three most common forms of colorblindness.
- "Effective Color Contrast" (link resides outside of ibm.com) from Lighthouse International provides contrast guidelines.
- Default text size to a minimum of 10 even if other font sizes less than this are available.
- Default contrast ratio to a minimum of 200:1.
Testing techniques
Test the software to ensure that it complies with accessibility requirements. Windows is the only platform that currently provides a system setting for high contrast. This checkpoint cannot be verified on other platforms.
Tools
There are no test tools required to test this checkpoint.
Windows techniques
The following techniques are required to verify this checkpoint:
| Action | Result | |
|---|---|---|
| 1 | If the software automatically inherits the system settings for high contrast:
|
Pass:
The software inherits the new setting and most window text including the main (client) window is displayed as white text on black background. You can check the colors that should be displayed for specific items on the screen by opening the Control Panel and selecting Display. On the Appearances tab, you can see how specific Windows controls should be displayed using the high contrast scheme. Fail:
|
| 2 | If the software provides an option to inherit system settings instead of
automatically inheriting them:
|
Pass:
The software inherits the new setting and most window text including the main (client) window is displayed as white text on black background. You can check the colors that should be displayed for specific items on the screen by opening the Control Panel and selecting Display. On the Appearances tab, you can see how specific Windows controls should be displayed using the high contrast scheme. Fail: The software did not automatically inherit system settings and did not provide an option for users to choose the system settings. The software provided an option to inherit system settings for high contrast, but did not inherit the new scheme for one or more items on the screen. |
©2001, 2008 IBM Corporation
Last updated February 15, 2008.
