WCAG 2.2 - All Success Criteria

Accessibility Checkpoints

Description

Content must be presentable without loss of information or functionality, and without requiring scrolling in two dimensions, when displayed at a width equivalent to 320 CSS pixels. This corresponds to a viewport set to 1280 CSS pixels wide and zoomed to 400%. Users with low vision commonly use high zoom levels to read content, and requiring horizontal scrolling in addition to vertical scrolling when zoomed creates a significant cognitive and motor burden.

How To Test

  1. Open the page in a desktop browser at a viewport width of 1280px.
  2. Zoom the browser to 400% using Ctrl/Cmd + + or browser zoom settings.
  3. Check whether horizontal scrolling is required to read any content.
  4. Scroll vertically through the entire page and verify all content remains visible and readable without horizontal scrolling.
  5. Alternatively, use browser developer tools to simulate a 320px-wide viewport and test the same conditions.
  6. Identify any content that is lost, hidden, or overlapping at this zoom level.
  7. Note whether any two-dimensional scrolling content (tables, maps) is contained in a scrollable region with appropriate labels.

Testing Tools

Demo

Reflow demo

The table below has a fixed width of 600 px - at 400% zoom or on small screens it requires horizontal scrolling, causing users to lose context.

Q1 Sales Summary
Product Units Revenue Region Status
Widget A 1,240 £24,800 North On target
Widget B 870 £17,400 South Below target
Code
Navigation wrapping

Navigation menu with flex-wrap: nowrap in a 320px-wide viewport - requires horizontal scrolling to reach all items.

In code: display: flex; flex-wrap: nowrap; overflow-x: auto

Why this fails

Navigation items are forced onto a single line using flex-wrap: nowrap. At narrow viewports (320px or less), users must scroll horizontally to reach items beyond the initial viewport width. Users with cognitive disabilities or those using mobile devices cannot easily scroll and access all navigation links.

Why this passes

Navigation items use flex-wrap: wrap, allowing them to reflow naturally across multiple lines as viewport width decreases. All navigation items remain accessible without horizontal scrolling, meeting the 320px width requirement of WCAG 1.4.10.

Code
Popup overflow demo

A popup with overflow:hidden and a fixed height. Content at the bottom is cut off — users can't reach the submit button. Found in real-world feedback and modal audits.

Feedback

How was your experience today?

The Submit button and textarea are cut off — unreachable.

Code

Fail Explanation

A failure occurs when zooming to 400% (or viewing at a 320px-wide viewport) causes the page to require horizontal scrolling to access content, or when content becomes hidden or lost at that zoom level. Common failures include fixed-width layouts that do not adapt responsively, tables that do not scroll or collapse at small viewports, navigation bars that overflow their containers, and side-by-side column layouts that do not reflow to a single column. Data visualizations rendered at a fixed size that cannot be scrolled within a container can also fail.

Pass Explanation

A passing implementation uses responsive design so that at a 320px viewport width, all content reflows into a single column that can be read by scrolling vertically only. This is typically achieved using CSS media queries, flexible grid layouts, and relative units. Content that requires two-dimensional scrolling by nature - such as data tables, maps, diagrams, or media players - is exempt from this requirement, provided the rest of the page still reflows correctly.

Notes

This criterion was added in WCAG 2.1 and is closely related to responsive web design practices. The 320 CSS pixel threshold was chosen because it corresponds to 1280px at 400% zoom, which is a common zoom level for low-vision users. Content that inherently requires two-dimensional layout - such as complex spreadsheets or video players - is explicitly excluded.

Techniques

WCAG techniques used in this demo: C31, C32, C34, C38

Suggested Solutions & References

Curated from 10 real-world audit findings and official WCAG guidance.

Official W3C / WAI

MDN Web Docs