Since this DOM would be invisible, hidden behind the canvas, I'd say you'd need just enough CSS to make each element have the same bounding box as the original. Bonus points if you can safely do enough CSS to make the font size and colors match; screen readers do have commands for querying those things.
> And mutations to this dom would need to be tightly synced to image updates to not confuse the hell out of nvda?
Chromium has already taken pains to make sure this works, because its whole accessibility implementation is dependent on pushing tree updates from the renderer process to the main process.
And mutations to this dom would need to be tightly synced to image updates to not confuse the hell out of nvda?
Or am I misunderstanding?