Live data from Hacker News

For software that is cross platform and accessible, forget about Qt

blind.guru

61–70 of 86 posts

Re: For software that is cross platform and accessible, forget about Qt

#61
When I worked with QT as a UI framework, I did regularly get a sense that the QT contributors were understaffed, and that they have barely enough time to deal with the huge scope that the framework is attacking.

The conclusion was that, if you desire to use QT, you should get yourself prepared to dive in and fix things yourself. This sort of defeats the point of using a cross platform framework, since you may have to become a platform expert.

Alternatively you have to be ready to pay a contractor to do the necessary QT adaptations/fixes.

Re: For software that is cross platform and accessible, forget about Qt

#63

This article isn't anything more than a rant. The author filed a bug in the QT issue tracker [1] that some proprietary screen reader (JAWS, that his customers use) does not work well with QT on Windows. No (technical) details provided whatsoever. I don't believe anyone in the QT team is /against/ stronger support for accessibility. IMO it is understandable that fixing some piece of proprietary software is not a top p…

> He shouldn't blame a community of volunteers for not fixing his personal problems for free.

Please allow me to highlight this statement. I encountered it so frequently when I created and maintained several popular open source projects. I honestly think a lot of people assume that if you're working on a project, you must be getting paid for it. Then again, many of them were totally unfazed when I pointed out that I did all the work unpaid, and that it was a hobby project.

Re: For software that is cross platform and accessible, forget about Qt

#64
post #15

I get that the author is frustrated with false claims about Qt, but calling people working on open source software "hippie coders" is just an insulting misrepresentation harming any rational debate.

I think ive read enough LKML to realize name calling doesn't slow software development and free software devs can handle being told off once in a while.

> free software devs can handle being told off once in a while

That's bullshit. I mean, that's one of the main reasons I never bothered submitting a patch for Linux. Many of us really don't like being told off for what we're doing as a volunteer. I reluctantly can accept a limited amount of abuse for a paid project, but my tolerance for abuse for what I do as a volunteer is zero.

Re: For software that is cross platform and accessible, forget about Qt

#65
Possible lesson: if you have a chance to go with standards-based software, choose it every time.

Example: I chose nw.js over Qt for a cross-platform frontend. It's interesting to compare the author's starting research to my own.

Author: needs feature X, reads Qt docs, emails the sole person responsible for feature X. Gets the impression that X either works or will work with a quick bug-fix turnaround time. Is wrong. Is frustrated.

Me: needs feature X, reads Mozilla docs, Microsoft docs, 5 blog entries, and a virtual grocery isle of framework demos that deliver X in various ways, emails a blog author about one of 3 different ways to implement X. Gets told that my way of implementing X isn't one of the two ways everyone else is using. Still, it seems to work ok, so I don't end up falling back to one of the other two possible ways of solving X.

Also-- I try out a few demos by viewing a web page in any browser. I change the demos to suit my own use case by clicking a few keys and perusing the code in any browser.

Aside: I think my final app works by default with JAWS-- at least the text content of the relevant divs should get read properly.

To drive it home a bit more: the most trouble I've had in the front end is from the nw.js window menubar API. It is well-documented. It is easy to understand. The author has been responsive in fixing bugs. But guess what-- it isn't an HTML5 standard API, so it hasn't been tested, documented, revised, and argued about by at least three large companies with a vested interest in it working well. The result is my dev time (e.g., how does it interact with DOM bubbling, does it interact with DOM bubbling the same way on each platform, how does my implementation work with OSX's app menu, how does my placement of "Preferences" work with Apple's HIG, how does it affect window dimension measurements, how does its rendering relate to the various events that tell me when the page has loaded/painted, on and on...)

Edit: protect against pedantry

Re: For software that is cross platform and accessible, forget about Qt

#66
post #59
post #56

Earlier quoted context omitted.

Sadly accessibility development has many roadblock on its path: - For-profit organizations have little incentives to develop accessible software or they have to make it prohibitively expensive - Open Source development is usually "itch my scratch"-driven (as the author points out) and the pool of people who are both motivated by their own plight and able to develop solutions for them are very few. I think this is the…

Apple seems to do it because it's in their ethos. Jobs and Cooks have both said it matters to them. They aren't big in enterprise (or even education) so I don't think that argument fits. I think they just care. That may be a bit of my bias but I can't come up with a good business case for them. MS may or may not care, but accessibility is often a requirement for government contracts (or buisnesses who want government…

Apple does it very well:

https://finance.yahoo.com/news/david-pogue-on-iphone-voiceov...

Re: For software that is cross platform and accessible, forget about Qt

#67
post #20

Earlier quoted context omitted.

> but many people, even software developers, don't know that I find it hard to believe that software developers would not be aware of the term "accessibility" as meaning features facilitating use by handicapped users.

Quick poll of my coworkers (we do industrial automation, there's next to zero thought or money given for accessibility except the awareness that start and stop buttons, typically red and green, must also be labeled in case users are red/green colorblind: - Me: On HN enough to know what it means. - Senior EE in PLC programming: No clue. - Senior dev, mostly self-taught: Means it can be accessed? Easy to use, or intuit…

That’s my experience as well.

Re: For software that is cross platform and accessible, forget about Qt

#68
post #59
post #56

Earlier quoted context omitted.

Sadly accessibility development has many roadblock on its path: - For-profit organizations have little incentives to develop accessible software or they have to make it prohibitively expensive - Open Source development is usually "itch my scratch"-driven (as the author points out) and the pool of people who are both motivated by their own plight and able to develop solutions for them are very few. I think this is the…

Apple seems to do it because it's in their ethos. Jobs and Cooks have both said it matters to them. They aren't big in enterprise (or even education) so I don't think that argument fits. I think they just care. That may be a bit of my bias but I can't come up with a good business case for them. MS may or may not care, but accessibility is often a requirement for government contracts (or buisnesses who want government…

Yes that is what I meant. Apple and MS are for-profit, but they have massive profits from something else and a huge safety net. This is opposed to a company that either makes accessible software specifically, or makes software that would benefit from being accessible (let's say an IDE such as IntelliJ).

Apple (from what I have heard MS too) really does amazing work in accessibility but this would not be possible had they not had enough resources. I can understand why understaffed open source projects do not allocate more resources to accessibility.

Re: For software that is cross platform and accessible, forget about Qt

#69
post #40

Somehow the author assumes that the native gui has better accessibility features. In a world of bloated frameworks and browser as a gui type apps not every app is accessible. Most of the time it isn't even on their radar because of the tiny user base. One of those things that is just plain wrong when you spectate but when it is your job to do you find it a pain to implement.

Microsoft and Apple put a lot of time/effort into making sure their libraries provide the necessary support so people can write accessible software. Individual programs may be bad, but the toolkits support it. Here, none of the cross platform toolkits seem to even have the most basic support.

Writing accessible software is very challenging, and a lot of the documentation that has historically been available was typically sub-par. I usually try advocating in favor of web accessibility, but in many cases developers just don't know any better. I'd definitely count myself among those that still have a lot to learn.

I've noticed that the w3c is starting to push hard on improving the status quo, especially during the last few months. The latest WAI-ARIA Authoring Practices draft [0] is superb. It includes examples, documentation on the different keyboard interactions, and suggested aria properties.

As the documentation quality increases, it gets easier to raise awareness among developers. My experience has generally been that once you raise the point and you provide a clearly defined solution, many people are happy to make changes. For example, I've occasionally convinced friends with inaccessible video to either publish transcripts or write articles / blogs with the equivalent knowledge.

[0] https://www.w3.org/TR/wai-aria-practices-1.1/

Re: For software that is cross platform and accessible, forget about Qt

#70

So, I'll toss this question out there: Is Electron or React Native better in this regard? Making the assumption that JAWS is capable of reading into HTML in Chrome as a browser, I would expect that it's capable of the same in Electron. It sounds like, from this article, Java is a workable (if not well suited for a C++ driven backend). Of course, cross-platform shims aren't that hard, just time consuming.

It's much worse: Chrome takes performance hit when accessibility is enabled, so does Electron:

https://github.com/electron/electron/issues/7206#issuecommen...

So they are inaccessible by default at least on macOS while Safari and native Cocoa apps are always accessible.

Post reply on HN