← Files Build Web Data VisualizationARCHIVED FILE
references/accessibility-testing-and-review.md
4.21 KB · Sep 30, 2026 · 22:49 UTC
# Accessibility, Testing, And Review ## What Problem This Solves This reference makes scroll-driven data stories usable for readers who do not experience the animation path, cannot use pointer precision, or prefer reduced motion. ## Accessibility Defaults - Honor `prefers-reduced-motion` for parallax, scroll-scrubbed movement, zooming, panning, animated transitions, and moviescrollers. - Provide a reduced-motion version that shows static key frames, numbered steps, stacked frames, or the final state rather than removing evidence. - Preserve native scrolling, scrollbar use, and standard keyboard controls. - Keep focus order aligned with reading order, especially when sticky visuals and overlay text reorder content visually. - Do not hide essential labels, values, source notes, or caveats behind hover or transient frames. - Avoid surprise autoplay and never autoplay audio. - If parallax is essential to the information, explain the information through text and static frames too. - Give users enough cues to understand that scrolling will advance the story. ## Reduced Motion Patterns - **Static key frames**: render first, representative, and final frames in sequence. - **Numbered steps**: replace continuous scroll progress with explicit states. - **Stacked mobile/static layout**: place each text block with its corresponding chart, map, or media frame. - **Final-state summary**: show the completed chart plus annotations when animation only reveals accumulation. - **Manual playback**: provide play/pause/replay controls when the media itself carries evidence. ## Text Alternatives - Summarize the claim, data scope, unit, and caveat before describing visual effects. - For parallax, describe the semantic relationship between layers rather than the visual trick. - For moviescrollers, describe the key frames and what changes across them. - For pan/zoom maps, describe the starting geography, destination, and why that movement matters. - For generated or photographic substrates, separate what the image shows from what the data proves. ## Testing Checklist - Scene routing: - enter, exit, reverse scroll, fast scroll, and deep-link or restored scroll position land on valid states - first, key, final, and reduced-motion frames preserve the claim - text and visual state remain synchronized after resize - Browser behavior: - wheel, touch, trackpad, scrollbar drag, arrow keys, page up/down, home/end, and space behave predictably - no scrolljacking, trapped focus, or accidental scroll chaining - passive listeners are used where native scroll should not be blocked - Visual regression: - desktop and mobile key frames - sticky side-by-side and overlay layouts - media placeholders, loaded states, and error states - reduced-motion or stacked fallback - Performance: - no forced layout loops during scroll - no blank Canvas or WebGL frames - offscreen media and animation loops pause or defer - mobile browser viewport changes do not break trigger positions - Accessibility: - keyboard path reaches controls and content in order - screen-reader text communicates the data claim - contrast remains sufficient over media - motion can be disabled without losing the evidence ## Human Review Questions - Would a reader understand the core claim from the first frame and final frame? - Does each scroll action reveal evidence, or only add polish? - Can a reader skim quickly and still avoid misleading intermediate states? - Does the mobile path feel intentionally designed? - Are source notes, dates, uncertainty, and caveats visible at the moment they matter? - Would the story still work as a static article with selected key frames? ## Source Links - [W3C WCAG: Animation from Interactions](https://www.w3.org/WAI/WCAG22/Understanding/animation-from-interactions) - [MDN: prefers-reduced-motion](https://developer.mozilla.org/en-US/docs/Web/CSS/%40media/prefers-reduced-motion) - [web.dev: prefers-reduced-motion](https://web.dev/articles/prefers-reduced-motion) - [web.dev: Animation and motion accessibility](https://web.dev/learn/accessibility/motion) - [Mike Bostock: How To Scroll](https://bost.ocks.org/mike/scroll/) - [The Pudding: Responsive scrollytelling best practices](https://pudding.cool/process/responsive-scrollytelling)
SHA-256: 0362f2188e249c2f13d8241fd3ae967f0aea683ff13971b15a4c9d3c6a16e2d2