13 votes

Google Docs will now use canvas based rendering

4 comments

  1. [4]
    stu2b50
    Link
    IMO it's a good decision, pending that the implementation is good, of course. Using DOM rendering does get you some things for free, like better browser integrations (including accessibility...

    IMO it's a good decision, pending that the implementation is good, of course. Using DOM rendering does get you some things for free, like better browser integrations (including accessibility features), but for full on applications - not just normal webpages with interactive elements - using the DOM is the wrong tool for the job, in the end.

    It should net better performance, as well as better cross-browser behavior, since DOM rendering has many sharp edges where browsers need to fill in undefined behavior (or Chrome just decides to do something differently and everyone follows).

    There's some people worried about being unable to look at page sources, but that's pretty much already the case - on modern webapps you get sent a minified JS file that Babel transpiled and is completely unreadable, alongside a DOM that is meaningless because the actual state of the page is being held by the shadow DOM in react or vue, with the browser DOM merely being the vehicle for the page to render.

    8 votes
    1. [3]
      teaearlgraycold
      Link Parent
      How would accessibility even work with canvas? I thought screen readers were DOM based. Google seems big enough that they are setting themselves up for trouble if a blind person can’t read a...

      How would accessibility even work with canvas? I thought screen readers were DOM based.

      Google seems big enough that they are setting themselves up for trouble if a blind person can’t read a Google doc.

      9 votes
      1. [2]
        stu2b50
        Link Parent
        I would assume it would work similarly to how it does right now. Voice over is actually completely broken on Google docs by default currently, it just keeps saying "edit document" and "space"...

        I would assume it would work similarly to how it does right now. Voice over is actually completely broken on Google docs by default currently, it just keeps saying "edit document" and "space" instead of actually reading something of use on the page.

        But there's a "voice reader mode" that you can turn on. With Canvas, I would assume that they would also just make a hidden DOM that isn't rendered but is available for screen readers.


        Basically this doesn't change anything with that regard, because Google doc's JS DOM rendering already breaks screen readers and they have to add in a hack to make it work anyway, which I assume they could just copy over.

        5 votes
        1. teaearlgraycold
          Link Parent
          Oh nice. I suppose this could actually improve screen readers. They’ll just skip over the canvas tag and then see a plain text rendering of the document that’s hidden from the browser’s renderer.

          Oh nice. I suppose this could actually improve screen readers. They’ll just skip over the canvas tag and then see a plain text rendering of the document that’s hidden from the browser’s renderer.

          3 votes