Software checklist

Checkpoint 4.5: System settings for font, size and color

Inherit system settings for font, size, and color for all elements of the user interface.


Rationale

Someone with a vision disability who has difficulty reading small text or text that does not have sufficient background contrast can use display settings available through the operating system to make information on the screen more accessible. These settings allow users to modify display settings to make software accessible without purchasing additional hardware and software.

On the Windows platform, users can customize font, size and color settings to meet their specific needs. Applications may also provide the capability to customize the font, size and color for use within an application. When an application provides customization an option must be provided that allows the user to choose their system settings for displayed information rather than the custom settings provided by the software.


Required development techniques


The following techniques are the minimum required to meet Checkpoint 4.5 from the IBM Software Accessibility Checklist:

Note: For Microsoft Windows Vista, XP and earlier versions, the standard Microsoft Windows dialog box control does not support the user's font, size and color setting properly to comply with this checkpoint. This is a known deficiency in these legacy platforms. If your software is running on these systems, you are not required to correct this deficiency to meet this checkpoint. However, Windows 7 and later does support the inheritance of new font schemes in dialog boxes, so failure to meet the pass criterion on Windows 7 is an application accessibility defect that must be resolved.

Examples for Microsoft Windows developers

1. Software must support the user's settings for font, size and color. Software that provides custom application settings for font, size and color must provide the user an option to choose the systems settings for displayed information rather than using the custom application settings provided by the software.

Example 1

Software can provide options for customizing the display of the program's content. However, there must be a configuration option in the software that tells the program not to use its own setting, but to use the setting the user has set in the display option of the control panel.
Use the font set for system messages. This font may be obtained by using the GetClientMetrics call.

Process the WM_THEMECHANGED control message to react to the user's system setting changes, and re-draw the software information based on the updated user choice.

Below is a code sample to obtain the logical font definition for the font being used by the system for messages. Because messages in Microsoft Windows do support the user's setting of the font size, this is a programmatic means to determine the correct font size to be used for text to be displayed.

Void GetClientMetrics(hDC, hWnd)
{
.
.
.
      nonClientMetrics.cbSize =sizeof(NONCLIENTMETRICS);

      // get system metrics information
      fResult = SystemParametersInfo(SPI_GETNONCLIENTMETRICS,
           sizeof(NONCLIENTMETRICS),
           &nonClientMetrics, // holds metric information
           0);
      /* Set the logical font to be based on the Message Font */
      logFont= &nonClientMetrics.lfMessageFont;

      /* Create the font */
      hFont = CreateFontIndirect (logFont);

      /* select the font for the application window DC */
      SelectObject(hdc, hFont);

      /* and so on */
      }

2. Scale the window size or provide the ability to scroll the window to ensure that as the font size is changed all of the information fits in the window or can be made visible and interactive through scrolling.

Example 2

Use the SetWindowPos() to adjust the window size to accommodate the change in the font size.

Examples for Java developers

See the examples to implement system settings using Java Swing.

Examples for Eclipse SWT developers

1. Software must use the user's settings for font, size and color. Software that provides custom application settings for font, size and color must provide the user an option to choose the systems settings for displayed information rather than using the custom application settings provided by the software.

Example 3

Eclipse widgets (org.eclipse.swt.widgets) will automatically be created using the correct font and color based on the system settings for the class of user interface component they represent. Software must not set the font for any widgets created.
The font and color settings can be queried using org.eclipse.swt.display.Display.getSystemFont() and org.eclipse.swt.display.Display.getSystemColor(), respectively.

2. Scale the window size or provide the ability to scroll the window to ensure that as the font size is changed all of the information fits in the window or can be made visible and interactive through scrolling. This example is under development.

 

Examples for iOS developers

iOS does not support a system-wide font size or color. Large fonts are available for some system applications. Developer access is not currently available to this system setting.

iOS provides a zoom feature. iOS applications must verify they work with the zoom setting enabled as described in the Required Test Techniques.

 

Recommended development techniques

The techniques above are required; the following techniques are recommended to enhance accessibility:

  1. Provide a magnification option in the View menu to allow flexible choice of enlarged text. Compare with Microsoft Word or Lotus 123. The size of text and graphics affects usability as well as accessibility. Many individuals who do not consider themselves to be disabled want to "view" a document or an application work area in an enlarged font while not affecting the actual document or work. For individuals with acknowledged visual impairments, the ability to magnify the application work area to 150%, 200% or greater may make the difference between being able to use the application or not. The vast majority of individuals who need this kind of access do not use screen magnifiers.
  2. Magnification features scale everything in the document to a user-selected ratio. Use of the TrueType scalable font technology ensures that characters will remain clearly defined at almost any size.
  3. If possible, allow the user to choose the draft font and size. Draft mode provides an option to display all text in a single font and size. Use underlining or a similar form of highlighting to indicate text that should be drawn with special formatting, such as bold or italics. (Draft mode also improves performance when running on slow systems or with little free memory.)
  4. Wrap to window options are helpful when displaying text documents. When the user chooses this option, the application should not break lines on the screen as they would appear on the printed page, but instead reflow each paragraph to fit the window.

Required test techniques

Test the software to ensure that it complies with accessibility requirements. To save time, step 1 can be combined with step 3, and step 2 can be combined with step 4. Use the tests below that apply to the operating system you are using.

Note: Some applications may not automatically recognize when the user has changed the system font, size and color settings. The software may need to be restarted or an application reopened in order for the changes to take effect. This is not a compliance failure.

Required test software

No additional software is required to test this checkpoint.

Test techniques

The following test techniques are required to verify this checkpoint:

Actions Results
1 If the software automatically inherits font and size settings (Windows):

  1. Close the application.
  2. For Microsoft Windows XP: Open the Control Panel - Display properties. On the Appearance tab, go to the Font size listbox and select Large Fonts. Select the Apply button and then the OK button.
  3. For Windows 7: Open the –Ease of Access Center (Windows key + U). Select Make the computer easier to see and then Change the size of text and icons.  Under Make it easier to read what’s on your screen set the DPI to Larger - 150% (default).
  4. Start the application and verify that the new large font scheme or the Larger DPI is inherited.
  5. Verify that all of the text is visible in the dialog, either by resizing the dialog or by including scroll bars.
  6. Repeat all of the above steps for Extra Large fonts. On Windows XP, select the Extra LargeFonts from the Font size listbox. For Windows 7 select Set custom text size (DPI) and set the DPI to 200%.

Note: For Windows 7 systems whose resolution starts with a default DPI of 150%, the custom DPI should be set to 225% and 300% to test Large and Extra Large fonts respectively.
Pass:

All elements of the user interface are displayed in the new large font scheme. When displayed at the new font size, all text must still be visible in the window, or a method of scrolling the text must be available to allow the user to view all of the text.

(For Microsoft Windows Vista, XP and earlier versions, text in standard Windows dialog boxes does not inherit the new font scheme since that is not supported by those versions of Windows, therefore this is not a failure on those versions of Windows. However, Windows 7 and later does support the inheritance of new font schemes in dialog boxes, so failure to meet the pass criterion on Windows 7 is an application accessibility defect.)

Fail:

Any failure to achieve the pass criteria listed above.
If the software does not inherit any font size settings, check to see if the software provides an option to enable system font settings and perform the next test with the option enabled.
2 If the software provides an option to inherit system font settings instead of automatically inheriting them:

  1. Enable the application option to inherit system settings for fonts.
  2. Close the application.
  3. For Microsoft Windows XP: Open the Control Panel - Display properties. On the Appearance tab, go to the Font size listbox and select Large Fonts. Select the Apply button and then the OK button.
  4. For Windows 7: Open the –Ease of Access Center (Windows key + U). Select Make the computer easier to see and then Change the size of text and icons.  Under Make it easier to read what’s on your screen set the DPI to Larger - 150% (default).
  5. Start the application and verify that the new large font scheme or Larger DPI is inherited.
  6. Verify that all of the text is visible in the dialog, either by resizing the dialog or by including scroll bars.
  7. Repeat all of the above steps for Extra Large fonts. On Windows XP, select the Extra Large Fonts from the Font size listbox.. For Windows 7 select Set custom text size (DPI) and set the DPI to 200 %.

Note: For Windows 7 systems whose resolution starts with a default DPI of 150%, the custom DPI should be set to 225% and 300% to test Large and Extra Large fonts respectively.
Pass:

All elements of the user interface are displayed in the new large font scheme. When displayed at the new font size, all text must still be visible in the window, or a method of scrolling the text must be available to allow the user to view all of the text.

(For Microsoft Windows Vista, XP and earlier versions, text in standard Windows dialog boxes does not inherit the new font scheme since that is not supported by those versions of Windows, therefore this is not a failure on those versions of Windows. However, Windows 7 and later does support the inheritance of new font schemes in dialog boxes, so failure to meet the pass criterion on Windows 7 is an application accessibility defect.)

Fail:

Any failure to achieve the pass criteria listed above.
The software provided an option to inherit system settings for font size, but did not inherit the new scheme for one or more items on the screen.
3 If the software automatically inherits system settings for color (Windows):

  1. Close the application.
  2. For Microsoft Windows XP: Open the Control Panel - Display properties. On the Appearance tab, go to the Windows and buttons listbox and select Windows Classic style, then go to the Color scheme listbox and select a color option like Lilac. Select the Apply button, and then the OK button.
  3. For Windows 7: Open the Ease of Access Center (Windows key + U). Select Make the computer easier to see option and then select Personalize Appearance and Sound Effects. Under Basic and High Contrast Themes select the Windows Classic theme. Select the Apply button, then the OK button.
  4. Start the application and verify that the new color settings are inherited.
Pass:

All elements of the user interface are displayed in the new color scheme. Text in dialog boxes will not use the new font scheme since that is not supported by Windows.

(For Microsoft Windows Vista, XP and earlier versions, text in standard Windows dialog boxes does not inherit the new color scheme since that is not supported by those versions of Windows, therefore this is not a failure on those versions of Windows. However, Windows 7 and later does support the inheritance of new color schemes in dialog boxes, so failure to meet the pass criterion on Windows 7 is an application accessibility defect.)

Fail:

One or more elements of the user interface are not displayed in the new color scheme. If the software does not inherit any color settings, check to see if the software provides an option to enable system color settings and perform the next test with the option enabled.
4 If the software provides an option to inherit system settings for color (Windows):

  1. Enable the application option to inherit system settings for color.
  2. Close the application.
  3. For Microsoft Windows XP: Open the Control Panel - Display properties. On the Appearance tab, go to the Windows and buttons listbox and select Windows Classic style, then go to the Color scheme listbox and select a color option like Lilac. Select the Apply button, and then the OK button.
  4. For Windows 7: Open the Ease of Access Center (Windows key + U). Select Make the computer easier to see option and then select Personalize Appearance and Sound Effects. Under Basic and High Contrast Themes select the Windows Classic theme. Select the Apply button, then the OK button.
  5. Start the application and verify that the new color settings are inherited.
Pass:

All elements of the user interface are displayed in the new color scheme. Text in dialog boxes will not use the new font scheme since that is not supported by Windows.

(For Microsoft Windows Vista, XP and earlier versions, text in standard Windows dialog boxes does not inherit the new color scheme since that is not supported by those versions of Windows, therefore this is not a failure on those versions of Windows. However, Windows 7 and later does support the inheritance of new color schemes in dialog boxes, so failure to meet the pass criterion on Windows 7 is an application accessibility defect.)

Fail:

The software did not automatically inherit system color settings and did not provide an option for users to choose the system settings.
The software provided an option to inherit system settings for color, but did not inherit the new scheme for one or more items on the screen.
5 If the system provides a Zoom feature: (iOS)

  1. Enable zoom mode
  2. Enable in Settings > Accessibility > Zoom
  3. Note: As a more convenient alternative, set Triple-click Home to show an option to turn Zoom on. Then triple-click Home to turn on Zoom.

Pass:

You can operate all functions of your application in Zoom mode.

Fail:

Tasks cannot be complete while in Zoom mode.

©2012, 2013 IBM Corporation

Last updated August 8, 2013.