If everything is just run as a canvas then you also loose everything that is good about a platform like accessibility, index-ability (at least on the web), integration with platform tools like copy, selecting text and so, so much more.
I can see canvas rendering as a good target for games and for individual components such as a drawing surface or a chart but using it for a whole app is just throwing out the baby with the bathwater.
Flutter on the web is more complicated than just a canvas element. The project has a fair amount of effort put into a11y on mobile; I’d be really surprised if the web output isn’t also accessible.
It seems like it renders text via a SVG on top of a canvas layer that is the background, so that's a plus for a11y. As for the downsides, and I'm not sure how much this is due to flutter or the app itself:
* I can't use the browser search for elements outside the viewport
* I can't select text at all
* I can't tab through elements/links at all (which is often seen as a strong indicator of bad a11y)
* Browser back/forward do not work as expected (back exits the app completely, and then forward does not bring me back)
* All the same as the first one, but also clickable elements do not give me any feedback that they are clickable (hand-pointer cursour or any underline/similar effect)
---
Maybe these are just demos that have not thought of these specific things but since it is a web showcase of a framework meant to work on the web (although not exclusively) and these were the first links up there it's a bit disappointing.
My point is that you get most of these things for free (or easy) on the normal web, but flutter seems to try to patch them back onto it instead of using what is there.
I can see canvas rendering as a good target for games and for individual components such as a drawing surface or a chart but using it for a whole app is just throwing out the baby with the bathwater.