VGAR Visual Requirements
Visual
Support Zoom (VIS-WEB-001)
Make sure fonts can be increased to 200% without breaking layout.
To accommodate users with low vision and users who benefit from more readable text, make sure that all elements of the interface remain usable when the browser view is zoomed to at least 200%.
This rule applies to all text on the page other than text that is part of logos. When the view is zoomed to 200% all interface elements must continue to function normally.
Requirements
Allow Text Resizing (VIS-WEB-001-01)
Pages MUST be coded to allow users to increase the font size of all page content without text clipping, truncating, or being obscured.
<!-- Don't use maximum scale in your meta tags on responsive pages -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Browser Zoom - Usable (VIS-WEB-001-02)
Using the built-in browser functionality to zoom all page content to 200% (including text), all interactive content MUST remain fully usable.
Browser Zoom - Informed of Changes (VIS-WEB-001-03)
Using the built-in browser functionality to zoom all page content to 200% (including text), any user actions that result in on-screen changes MUST meet one of the following criteria
- A clear visual cue is provided within the viewed area that indicates to the user that the page has changed outside of the currently viewed area based on their action, OR
- The resulting change occurs within the currently viewed area.
Content Reflow (VIS-WEB-001-04)
When viewport size is constrained to 320 CSS pixels wide:
- there is no loss of information, meaning, or functionality and any status messages are presented in the resized zoomed viewport.
- user is only required to scroll VERTICALLY in one dimension to view or find the content
- EXCEPT when the content requires a two-dimensional layout for meaning like tables, maps, or diagrams.
When viewport size is constrained to 256 CSS pixels high:
- there is no loss of information, meaning, or functionality and any status messages are presented in the resized zoomed viewport.
- user is only required to scroll HORIZONTALLY in one dimension to view or find the content
- EXCEPT when the content requires a two-dimensional layout for meaning like tables, maps, or diagrams.
User Text Styling (VIS-WEB-001-05)
User text style settings do not cause a loss of content when:
- Line height (line spacing) to at least 1.5 times the font size;
- Spacing following paragraphs to at least 2 times the font size;
- Letter spacing (tracking) to at least 0.12 times the font size;
- Word spacing to at least 0.16 times the font size.
Target Size (VIS-WEB-001-06)
Actionable components have a minimum target size of 24x24 CSS pixels except for:
- Objects with a target offset of at least 24px.
- EX: A 20px width “Cancel” button has its right most edge at least 4px away from a “Submit” button placed on the right.
- Inline content within a sentence or block of text.
- EX: A wiki paragraph has multiple instances of hyperlinked text. Increasing the height and width of these links would impact the presentation of text and make it more difficult to read.
Test Procedures
OS Text Size Settings (VIS-WEB-001-01-T)
Windows: Use the Windows key and type "Make Text size bigger"
Mac: Display settings>Larger Text
Use the OS settings to increase text size to 200% and confirm that text on the target page adapts and is not clipped, truncated, or obscured.
Visual Inspection (VIS-WEB-001-02-T)
Using the browser's built in functionality, set the browser to a width of 1280px and then increase the zoom level to 200% and confirm that all interactive content is fully usable at the increased zoom level.
Visual Inspection (VIS-WEB-001-03-T)
Using the browser's built in functionality, set the browser to a width of 1280px and then increase the zoom level to 200% and confirm that when an action is initiated that results in changed content
- a clear visual cue is provided within the currently viewed area indicating a change has occurred outside of currently viewed area, OR
- the resulting change can be observed within the current view.
Visual Inspection (VIS-WEB-001-04-T)
Tool: Browser - Inspect Code
- Inspect the target page
- Activate the "Toggle device toolbar" button in the top left of the browser inspect panel.
- Use the dropdown button at the top of the page to set device width to 320px for vertically scrolling pages
- Examine the target page to verify that all text content is available without HORIZONTAL scrolling. Content can be displayed directly in the page, revealed via accessible controls, or accessed via direct links.
OR
- Change width back to a minimum of 375, then change device HEIGHT to 256px for horizontally scrolling pages
- Examine the target page to verify that all text content is available without VERTICAL scrolling. Content can be displayed directly in the page, revealed via accessible controls, or accessed via direct links.
Exception: Horizontal scrolling is allowed for the following content:
- Data tables`
- Photos
- Maps
- Charts
- Games
- UI with toolbars
Text Spacing Bookmarklet (VIS-WEB-001-05-T)
- Load the page in the browser of your choice.
- Run the Text Spacing Bookmarklet
- Perform a visual inspection of the content and confirm that there is not a resulting loss of content or meaning.
Browser - Inspect Code (VIS-001-06-T)
- Use browser inspect tool to view the CSS values under the “Computed” tab. Find the height and width properties for the component.
- Ensure that each control has a width and height greater than or equal to 24px OR is less than 24px with sufficient spacing between controls
EX: A 20px width “Cancel” button has its right most edge at least 4px away from a “Submit” button placed on the right.
Related Content
WCAG Success Criteria
W3C Techniques
- G142: Using a technology that has commonly-available user agents that support zoom
- C28: Specifying the size of text containers using em units
- C12: Using percent for font sizes
- C13: Using named font sizes
- C14: Using em units for font sizes
- SCR34: Calculating size and position in a way that scales with text size
- G146: Using liquid layout
- G178: Providing controls on the web page that allow users to incrementally change the size of all text on the page up to 200 percent
- G179: Ensuring that there is no loss of content or functionality when the text resizes and text containers do not change their width
- C17: Scaling form elements which contain text
- C20: Using relative measurements to set column widths so that lines can average 80 characters or less when the browser is resized
- C22: Using CSS to control visual presentations of text
- C32: Using media queries and grid CSS to reflow columns
- C31: Using CSS Flexbox to reflow content
- C33: Allowing for Reflow with Long URLs and Strings of Text
- C38: Using CSS width, max-width and flexbox to fit labels and inputs
- SCR34: Calculating size and position in a way that scales with text size
- G206: Providing options within the content to switch to a layout that does not require the user to scroll horizontally to read a line of text
- C36: Allowing for text spacing override
- C35: Allowing for text spacing without wrapping
Common Failures
- F69: Failure of Success Criterion 1.4.4 when resizing visually rendered text up to 200 percent causes the text, image or controls to be clipped, truncated or obscured
- F80: Failure of Success Criterion 1.4.4 when text-based form controls do not resize when visually rendered text is resized up to 200%
- F102: Failure of Success Criterion 1.4.10 due to content disappearing and not being available when content has reflowed
- F104: Failure of Success Criterion 1.4.12 due to clipped or overlapped content when text spacing is adjusted
These materials and steps outlined on this website are provided “AS IS” and are intended for illustrative purposes only. They should not be relied upon for marketing, legal, tax, financial, regulatory or other advice. You are responsible for the legal aspects of any implementation of the concepts illustrated herein. Further, Visa neither makes any warranty or representation as to the completeness or accuracy of this information, nor assumes any liability or responsibility that may result from reliance on such information. You should not act or rely on such content without seeking the advice of a professional. All brand names, logos and/or trademarks are the property of their respective owners, are used for identification purposes only, and do not necessarily imply product endorsement or affiliation with Visa.