Some of you might be interested in this Mastodon thread. It’s a bit of bashing PDFs for having poor accessibility, and some guidance on improving PDFs for accessibility.
Some people are saying they prefer MS Word over PDF for accessibility reasons. Of course the elephant in the room is that “accessibility” is an over-loaded word. It usually refers to usability by impaired people, but in the case of being generally usable to all people on a broad range of platforms, MS Word is obviously inaccessible due to being encumbered by proprietary tech by a protectionist corporation.
In my day job I’m paid to write code. Then I go home write code I was not paid for. My best work is done without pay.
Commercial software development
When I have to satisfy an employer, they don’t want quality code. They want fast code. They want band-aid fixes. The corporate structure is very short-sighted. I was once back-roomed by a manager and lectured for “gold plating”. That means I was producing code that was higher quality than what management perceives as the economic sweet spot. I was also caught once fixing bugs as I spotted them when I happened to have a piece of code checked out in Clearcase. I was told I was “cheating the company out of profits” because they prefer if the bug goes through a documentation procedure so the customer can ultimately be made to pay separately for the bug fix. Nevermind the fact that my time was already compensated by the customer anyway - but they can get more money if there’s a bigger paper trail involving more staff. So when you say you get what you pay for, that’s what you pay for – busy work (aka working hard not smart). They also want “consistent quality”. So if one module is higher quality than another, there is pressure to lower the quality of the better module because improving the style or design pattern of the lower quality piece is “gold plating”. When I make full use of the language constructs (as intended by the language designers), I am often forced by an employer to use more basic constructs. Employers are worried that junior engineers or early senior engineers who might have to maintain my code will encounter language constructs that are less common and it will slow them down to have to look up the syntax they encounter. Employers under-estimate the value of developers learning on the job. So I am often forced avoid using the more advanced constructs to accommodate some subset of perceived lowest common denominator. E.g. if I were to use an array in bash, an employer might object because some bash maintainers may not be familiar with an array.
Non-commercial software development
Free software developers have zero schedule pressure. They are not forced to haphazardly rush some sloppy work into an integration in order to meet some deadline that was promised to a customer by a manager who was pressured to give an overly optimistic timeline. #FOSS devs are free to gold plate all they want. And because it’s a labor of love and not labor for a paycheck, FOSS devs naturally take more pride in their work. I’m often not proud of the commercial software I was forced to write by a corporation fixated on the bottom line. When I’m consistently pressured to write poor quality code for a profit-driven project, I hit a breaking point and leave the company. I’ve left 3 employers for this reason.
Commercial software from a user PoV
Whenever I encounter a bug in commercial software, there is almost never a publicly accessible bug tracker and it’s rare that the vendor has the slightest interest in passing along my bug report to the devs. The devs are unreachable by design (cost). I’m just one user so my UX is unimportant. Obviously when I cannot even communicate a bug to a commercial vendor, I am wholly at the mercy of their testers eventually rediscovering the bug I found, which is unlikely when there are complex circumstances.
Non-commercial software from a user PoV
Almost every FOSS app has a bug tracker, forum, or IRC channel where bugs can be reported and treated. I once wrote a feature request whereby the unpaid FOSS developer implemented my feature request and sent me a patch the same day I reported it. It was the best service I ever encountered and certainly impossible in the COTS software world for anyone who is not a multi-millionaire.
That was a great description of the day-to-day work for a commercial dev. I feel your pain.
I like to think I produce better software at work though. It’s not just me writing my magnum opus, there’s structure around it. I also like to enjoy my free time doing other things, so I don’t think I’m as focused as some other contributors - I don’t really have passion projects. There’s something to be said for the uniformity you get at a large company.
Things like your ability to get to a dev are great when you’re a dev, but not so much when you’re far removed from the industry or the concepts. I get my bug reports from people with deep technical and subject matter knowledge (be they testers or customer support), not panicked users, and I absolutely love it.
As a consumer, I’ve also gotten great turnarounds from multiple companies.
At the end of the day, it’s hard to make blanket statements, but, particularly when the requirement is still mistakenly considered a niche, you get a lot out of more structure in a project that’s beholden to stakeholders, regulators and public perceptions.
But that code you write at home is probably not accessible. You don’t need a screen reader personally, and no laws are forcing you to do it. That means the majority of open source developers don’t bother. Even if you, personally, want to bother, if your writing for Linux, the api you need to use to work with screen readers quite frankly sucks, because the people writing the open source tech stack didn’t give a damn. Linux won’t be viable for blind people unless major distros have full time accessibility folks, and refuse to accept inaccessible packages and patches.
Sure, but you need to read what I quoted. I purely addressed the flawed claim that better code comes from those paid to write it. The opposite is true. It’s unclear to what extent that bias has influenced @noahcarver@rblind.com’s thesis. Though I have no notable issues with anything else @noahcarver@rblind.com wrote (much of which is beyond my expertise w.r.t accessibility).
And to be clear, “better code” strictly refers to quality, not accessibility. Accessibility is a design factor.
That’s right. But then neither is the commercial code I worked on. That would be outside of my domain. I do backends for the most part. The rare UI work I did was for a tiny user base of internal developers within the org and accessibility was not part of the requirements. I worked on a UI for external users briefly but again no requirements for accessibility (which would be very unlikely for that particular product).
In any case, this sidetrack is irrelevant to what you replied to. It’s important to correct bogus claims that being paid to write code is conducive to quality. Some right-wingers I know never miss the opportunity to use the phrase “good enough for government work” because they want to push the mentality that capitalism promotes superior quality. It’s a widespread misconception that needs correction whenever it manifests.
Paying someone to write accessible code should theoretically work on both free software and non-free software. AFAICT the reason non-free software would accommodate blind users is that the market share is large enough to justify the profit-driven bottom line and those users are forced to pay for it (as all users are). In the FOSS domain, payments (“bounties”) are optional. Has this been tried? If not, then you’re relying on blind FOSS developers to suit their own needs in a way that benefits all blind users.
From the perspective of a blind person, your metric for code quality is all wrong and not useful. I can’t use inaccessible software. Open source refuses to embrace accessibility. It’s therefor worse in every way that matters to me and Noah. Commercial developers produce accessible software. Open source developers don’t. It’s as simple as that.