As it stands, there's a way of saying 'I put some text on the canvas' but no way of saying when it was removed. The whole canvas could be cleared, or a particular region could be cleared, or over-written, or the canvas could be resized, which would result in it being cleared.
So if you wrote to a buffer every time you wrote text to the screen it would fill up pretty quickly. If you animated anything (as is happening in this example), then you'd have a million copies of the same text as it was re-drawn each frame.
There's also the temporal aspect, of course. With CSS it's possible to say 'this text is relevant, but you'll see it in a few seconds'. If you disabled CSS then the text would be there, static. If you were using a screen reader, you wouldn't know it was there until a certain point in time. That's not particularly compatible with the way people use screen readers.
The answer to which might be to manage on-screen resources and keep track of what is visible on screen and when it's removed.
And how do you represent the page hierarchy? You'd have to emulate some kind of DOM.
All of which comes under the banner of 'replicating the stuff that browsers already do, but with inevitable bugs and overhead and things you hadn't thought of'.
I think the appropriate response is to use canvas for interesting graphics that can't be done without it, and to keep text and markup for textual applications. Of course you can push the envelope of what's possible using new tech to create novelties, but it shouldn't be advocated for 'normal' web applications.
It looks like this page is a promo for a general content authoring system based on rendering in canvas, and that's a bad idea for all the above reasons.
Indeed. That's a solvable problem - you can track pixels and estimate with a degree of certainty - but it certainly does exist.
You'd also have to determine prominence of the text, which again is solvable assuming the size and weight and zoom level of the text has some bearing on the importance.
And you note the temporal aspect too - you'd have to track whether something was visible, ie sufficiently contrasts against the background, not opaque etc.
And indeed, there's no hierarchy asides from prominence.
All of that, plus more, is far more easier than getting the entire world to avoid, or write fallbacks for canvas.