
Building accessibility into a canvas-based product
7/1/2026
This post details the technical implementation of Figma's canvas accessibility features. It introduces the concept of a 'Mirror DOM' and an internal 'accessibility tree' that mirrors the scenegraph. It explains how these systems work together to provide screen readers with navigation and interaction capabilities, including handling affine transforms for positioning, synchronizing focus and selection between the canvas and the Mirror DOM, and using ARIA live regions for action announcements. The post also highlights the evolution of this feature over several years, starting with prototype viewers and expanding to the main canvas.