News for hackers. Stuff that matters.
Re:Google Docs will now use canvas based rendering by DrJokepu on Wednesday May 12, 2021 @11:37AM (#27131554)
Also, you know, accessibility. This could be a real serious problem for people with disabilities.
Re:Google Docs will now use canvas based rendering by mumblemumble on Wednesday May 12, 2021 @12:08PM (#27131920)
This is 100% the reason why I decided not to use Flutter back when I was shopping.

It probably would have reduced my developer effort considerably compared to basically every other option that made it to my short list, but I can't in good conscience build something that isn't accessible.

Re:Google Docs will now use canvas based rendering by brabel on Wednesday May 12, 2021 @12:37PM (#27132242)
Flutter claims to be fully accessible: https://flutter.dev/docs/development/accessibility-and-local...

Did you actually try it?

Re:Google Docs will now use canvas based rendering by blackbrokkoli on Wednesday May 12, 2021 @12:45PM (#27132348)
Thank you for saying "claims to". Copy pasting a response I made elsewhere:

This is making a mockery of accessibility.

It's the equivalent of having a company that actively discriminates against everyone not passing a internally developed test to check whether you are a "neurotypical" and then respond to criticism by pointing at the wheelchair ramp you installed on one of your entrances.

If I can't copy paste words from your websites to put them into a translator, if I can only use your website when I use one of the two corporate-affiliate-selected screen readers (not even platform-agnostic ones), when I can't look at your website from anything that does not have 4+ cores and a 4G or better connection...saying accessiblity is a "first class citizen" or even citizen at all is laughable at best.

Re:Google Docs will now use canvas based rendering by brabel on Wednesday May 12, 2021 @01:13PM (#27132690)
I said "claims to" because I don't know how I can verify if it is. The other person responding to me correctly mention how they suggest tools to scan for accessibility issues on iOS and Android, but they don't say how to do that on the web... have you managed to somehow figure out what is not currently working, exactly?

Regarding performance: Chrome uses Skia to render the DOM, why do you think rendering Flutter, also based on Skia, should be so much worse?

Re:Google Docs will now use canvas based rendering by mumblemumble on Wednesday May 12, 2021 @02:05PM (#27133311)
The thing is, when you're shopping for GUI toolkits, "try it and find out" isn't a great decisionmaking rubric. Partially because there are a zillion of them and you simply can't try them all, and partially because learning one is expensive and time-consuming, so, unless you genuinely enjoy that kind of thing, you kind of want to pick one in one shot.

Meaning that, in a slate of options where one of them can definitely do something you need, and another one where the official story seems to be ¯\_(ツ)_/¯ and the examples you've seen seem to indicate that it's at least something you need to go out of your way to accomplish, there really isn't any injustice in deciding to expend no further mental energy on the latter.

That said, if you want spend your own time digging in and finding out, be my guest.

Re:Google Docs will now use canvas based rendering by brabel on Wednesday May 12, 2021 @04:12PM (#27134576)
Flutter is not competing with general GUI toolkits, it's competing with fully crossplatform toolkits, of which there's only a couple of real contenders for real-world apps: React Native and maybe Sciter.

Nothing else is production-ready and can run on the web, iOS, Android and desktop OSs (Linux, Windows, MacOS).

It's not competing with pure web frameworks. For this reason, yes, I think that if you're going to criticize it, you absolutely need to know what you're talking about... if Flutter claims it can handle accessibility, it's on you to prove it can't if you make this argument so eloquently on the Internet without actually knowing it.

BTW if you know of any other good UI Toolkits that really can run anywhere like Flutter, using the same code base, please let me know.

Re:Google Docs will now use canvas based rendering by mumblemumble on Wednesday May 12, 2021 @12:44PM (#27132327)
No, I just looked at the documentation and saw that it isn't supported on all the platforms I'd be targeting.

For example, that page you link is specific to iOS and Android targets. Nary a mention of what to do when you're targeting the Web. But it's also, at least as of when I did my comparison, explicitly not supported on at least some desktop targets.

Re:Google Docs will now use canvas based rendering by calderwoodra on Wednesday May 12, 2021 @12:23PM (#27132079)
Accessibility is a first class citizen in flutter. https://flutter.dev/docs/development/accessibility-and-local...
Re:Google Docs will now use canvas based rendering by blackbrokkoli on Wednesday May 12, 2021 @12:45PM (#27132337)
This is making a mockery of accessibility.

It's the equivalent of having a company that actively discriminates against everyone not passing a internally developed test to check whether you are a "neurotypical" and then respond to criticism by pointing at the wheelchair ramp you installed on one of your entrances.

If I can't copy paste words from your websites to put them into a translator, if I can only use your website when I use one of the two corporate-affiliate-selected screen readers (not even platform-agnostic ones), when I can't look at your website from anything that does not have 4+ cores and a 4G or better connection...saying accessiblity is a "first class citizen" or even citizen at all is laughable at best.

Re:Google Docs will now use canvas based rendering by threatofrain on Wednesday May 12, 2021 @01:14PM (#27132705)
You're talking about very different issues of accessibility, one of which is the financial accessibility of client technology and reliable web connection.

That is attacked through very different means. For example, FB being free and ad funded addresses that issue; but this is a business model and not a technological standard. Society subsidizing technology is another possibility. But these very serious issues of access and the solutions to negotiate with them are very different from purely technical solutions to access.

Re:Google Docs will now use canvas based rendering by wizzwizz4 on Wednesday May 12, 2021 @01:19PM (#27132752)
HyperText Markup Language is accessible, doesn't require a powerful computer, and can be copy-pasted into a translator.

If your website is unreadable in view-source:, it's probably inaccessible in some way. It's not hard to make an accessible website. If it's hard to make that accessible website look the way you want? Tough luck; hire a competent web designer, or scale back your artistic vision, because you sure ain't sacrificing the ability for people to actually use your website for some pretty colours, are you now?

Re:Google Docs will now use canvas based rendering by progval on Wednesday May 12, 2021 @02:14PM (#27133395)
That's only for iOS and Android apps. (Desktop?) screen readers do not work at all on gallery.flutter.dev, because they can't detect text in a canvas.
Re:Google Docs will now use canvas based rendering by zffr on Wednesday May 12, 2021 @12:41PM (#27132297)
I wish that page mentioned how accessibility works for Flutter websites. Seems to only mention Android and iOS.
Re:Google Docs will now use canvas based rendering by bluetwo on Wednesday May 12, 2021 @12:25PM (#27132108)
Due to Section 508, this sounds like it would make Google Docs unsuitable for government work.
Re:Google Docs will now use canvas based rendering by bryanrasmussen on Wednesday May 12, 2021 @11:56AM (#27131788)
I'm hoping for a revamped EU accessibility act https://ec.europa.eu/social/main.jsp?catId=1202 that also covers document and office applications, and with GDPR sized fines.
Re:Google Docs will now use canvas based rendering by Silhouette on Wednesday May 12, 2021 @01:14PM (#27132708)
We have to be careful not to throw the baby out with the bathwater here, though. Obviously accessibility is an important issue for both commercial and ethical reasons, but if you're talking about writing laws and severe penalties for breaking them then you will always have to choose what minimum standards you will always require and then accept that it might be unreasonable for a software developer to go further.

For example, suppose the entire purpose of a certain office application is to draw some clever visualisation that helps the office workers to understand complex relationships in their business data. Maybe that presentation style has been chosen based on years of experience and saves a lot of time and avoids a lot of mistakes compared to a simple text report or table of figures. However, maybe it also doesn't work for someone whose vision is too limited to usefully see or interact with the visualisation.

Perhaps you could present the same data and relationships in a different way, a format that would be more amenable to sound- or touch-based interfaces for those with severely limited or no vision. In reality, that might mean writing a second entirely separate application, one that might cost more than the original to implement and support, for an audience that will usually be very small and often empty.

So where should the line be drawn? In an ideal world we want to be as inclusive as possible regardless of anyone's individual limitations, but we also want to provide the most effective presentation possible to those who don't have the same limitations. In general doing both might be prohibitively expensive, so how do you make realistic, ethical decisions in this space, and given that every software application is different, how do you codify the standards you want to make mandatory for the accessibility reasons?

Re:Google Docs will now use canvas based rendering by anticensor on Friday May 14, 2021 @07:03AM (#27152932)
The website says:

    Cannot read property 'match' of undefined

    TypeError: Cannot read property 'match' of undefined
    at /var/app/current/routes/avs.js:44:29
    at Layer.handle [as handle_request] (/var/app/current/node_modules/express/lib/router/layer.js:95:5)
    at next (/var/app/current/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/var/app/current/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/var/app/current/node_modules/express/lib/router/layer.js:95:5)
    at /var/app/current/node_modules/express/lib/router/index.js:281:22
    at param (/var/app/current/node_modules/express/lib/router/index.js:354:14)
    at param (/var/app/current/node_modules/express/lib/router/index.js:365:14)
    at param (/var/app/current/node_modules/express/lib/router/index.js:365:14)
    at Function.process_params (/var/app/current/node_modules/express/lib/router/index.js:410:3)