For blind internet users, the fix can be worse than the flaws
nytimes.com
nytimes.com
When I worked at the university, doing their websites, I simply could not get accessibility on anyone's radar: my boss, the people in the power structure nearby, the awful design people who saw the Web as a means to deliver photography and, if forced, text in a brochure format.
I had my own tools -- making sure the XHTML and CSS were valid, testing on multiple browsers, testing on lynx, a separate PC with jankety mouse settings to make it hard to click and a few sets of glasses to distort my vision, etc. Accessibility has to be a first class citizen when you make that template, it cannot be bolted on later. And it means being rigorous: fill out that alt text, test that tab order. I had no budget, just raw stubbornness and a willingness to be the bad guy.
It was continually infuriating that nobody cared about people with low vision, or crap bandwidth, or colorblindness, or motor tremor, because, barring an early death or really great health, we're all liable to enter one or more of these groups with time.
The last, sad argument I had, which worked and was shameful, is that good accessibility almost automatically makes your SEO better. It is both true and mildly upsetting to have to resort to, I felt like I was saying "... also, orphans are more gamey than other kinds of meat."
I don't think you can Javascript your way out of these very real problems. What is needed is an Accessibility Czar for your web properties, who can veto anything, who can pull off their shoe and pound it off the table and force someone on the Design Team to wear a little duncecap as they read out an article on Target getting mauled by the ADA for their screwups.
I actually randomly get reminded of this now and then, when I:
- open a door with an elbow instead of greasy or occupied hands
- tab through a UI or use alt key shortcuts to quickly perform repetitive tasks not worth automating
- take carts, bicycles, and other heavy objects up accessible ramps, kerb ramps, or mandatory lifts
- read alt tags of images that fail to load or that the file host has lost
- search in or read the captions/subtitles of media that doesn't get to the point
- read captions when I can't play audio
- machine-translate autogenerated captions from unknown languages
Not to mention all that gets taken for granted that wouldn't exist had it not been required.
Edit:
Found a submission about just this while searching for your past rants:) https://news.ycombinator.com/item?id=30062178
In the disability spectrum chart linked there, the figure with a sword and round shield illustrating the 'Heavy Accent => Speech x Situational' case is brilliant; going far backwards in time guarantees linguistic distance from any viewer.
> The curb cut effect is the phenomenon of disability-friendly features being used and appreciated by a larger group than the people they were designed for. For example, many hearing people use closed captioning.
What boggles me is that we have a dedicated UX team who seem not to care one whit for bandwidth and accessibility, just imprinting their 'vision' across the org through design systems. Questions around these topics are handwaved away. But speed and accessibility _are_ part of user experience, it's in the name sir!
That's why each of us should routinely be doing a few hours of customer support for the thing you build. Very humbling and educational.
Bless you for doing that. I have eye isses and every so often I suggest to devs that they put a thin layer of vaseline on their glasses just to see what a lot of older people do.
Lastly, I found the following video enlightening: “Accessibility [for game developers] on a shoestring” GDC 2021 https://youtu.be/PiCsvZZh5-k
This would be awesome swag at conferences that are frequented by frontend engineers.
Our best results in meeting accessibility has been to incorporate them into design standards guide and in a brand's style guide, right next to approved fonts, colors, logos, etc. Teams never think about asking for accessibility standards but always make sure to references the other guides.
Specifically, I personally can just write content straight to a database with my DB client. I can write nice, valid HTML. I can crop photos and output them just fine with various CLI and GUI applications.
The people I work with cannot.
So I write bits of code so that they can edit headlines and page titles without having to open a plain text editor. I create extensions so that the graphic element they want to include is done in a way that doesn't break the page markup. I write code so they can use the mouse to drag photos to where they need to place them in the articles they want to publish.
And people have accommodated my own needs: I really don't understand how my SSH keys work, just that they do work. I don't know how to write an SQL client, but someone wrote one I can use. Etc, etc.
The idea that as folks who are making things, a large portion of what we do is enabling people to do things they couldn't otherwise do makes me feel a great deal of solidarity with everyone who currently needs more accommodations than I do.
Pragmatically, if we live long enough we will all eventually have a hard time seeing the screen, clicking with a mouse, understanding new UI modalities, etc.
I find that fact quite motivating it means I am not just trying to be kind to other folks: working to make a11y a must-have is an action in solidarity with our own interests and not just a thing we might do for other people.
Or do you mean on the front page?
I didn't hear him mention the lack of skip links on HN's home page (skip links are more for sighted keyboard users than blind screen reader users like him), I did hear him mention that the stories on the home page are not headings. Yes, a screen reader can navigate link to link but there are ~7 non-story links between each story link so being able to navigate from story to story as headings would be really helpful and semantically accurate.
Several ARIA attributes further allow for communicating the current application state, e.g. whether content has changed (aria-live), a button is in a pressed state (aria-pressed), or a menu is opened (aria-expanded).
Screen readers can represent nesting of content, going into one element and coming back out, Apple's VoiceOver in particular uses this concept. It may be conceptually helpful in some instances or to some people but often it just makes things more cumbersome to navigate.
In an ideal world, we could have entirely different clients that focus on audio-touch interfaces like a some sort of keyboard driven Alexa skill.
*People with disabilities hate overlays yet an overlay company is suing its critic, now snubbed from the internet (article scrubbed from his site). https://karlgroves.com/people-with-disabilities-hate-overlay...
I'd say the lack of accessibility is not really due to indifference, much more likely it is plain ignorance. Most people know close to nothing about accessibility, worse, don't even know that they need to know.
There's also a technical perspective. Web tech in general is very low level primitives that you stitch together, not really a coherent higher order UI stack. This means that for any given goal, there's a million ways to do it. There's a stunning lack of UI elements but even simple elements that do exist do not truly enforce accessibility.
For example, there's no such thing as a tab component, so people build their own. It's relatively difficult to make it fully accessible. And that assumes you'd even know about accessibility.
Take a simpler element, the img element. I might not know that there is such a thing as an "alt" tag. I'm supposed to know but nothing enforces this knowledge, there's no standard education in web dev. Even if I do know about the alt tag, I might ignore it, as excuse I'll use "other priorities". Or I do use it, but incorrectly, which happens more often than not.
My point is that all of this is almost entirely dependent on personal knowledge and discipline, which is a recipe for disaster at web scale. We need better foundations.
That said, there's reasons to be hopeful. It's definitely getting more attention nowadays and the tooling ecosystem is rapidly improving.
Oh but you know how I help my vision when it starts declining now and then? Eat fish oil, very pure no mercury, eat it, six softgels a day and your vision will improve. Eyes are almost pure omega-3 omega-6 and omega-9 fats, in the lens and retina. Declining vision is basically due to your body rearranging its unsaturated fat reserves, with which it is endowed at birth and never gets more of. Some people their ears start to go, others their mind start to go (and that's why I was prescribed fish oil by a psychiatrist, but like one a day get real doctors need to up the dose), other people their joints or their heart. You can't just eat fish, the mercury completely undoes the effect. It's not found in nature. Only in labs. It's the fat endowment.
And that's the framework for compensating for blindness: not being blind in the first place. Undoing it. Dude you can eat 15 softgels a day.
My favorite is UP, Ultra Pure brand, but I can't find it outside Chile. In US, Nature's Bounty, just anything with very low amounts of mercury cadmium and pcb's.
So. Do you have a brand of fish oil we all can look into and research?
Also, there's this 2018 NIH study that says fish oil is no better than a placebo for dry eyes: https://www.nih.gov/news-events/news-releases/omega-3s-fish-...
Instead, start with a UI library that already applies accessibility best practices, such as Material UI [0], then follow the guidance provided for each component (a library can't do everything for you, despite what many claim), as well as applying accessibility best practices to the site as a whole. Only then apply automated review, and manual review by accessibility experts, fixing issues raised at each stage.
Disclosure – I contribute to Material UI.
[0] https://mui.com/material-ui/react-text-field/#accessibility
Then some data elsewhere on the page animates to a new value, and the user should be notified of this data immediately.
Designers don’t like using prebuilt components. I haven’t found one yet that can live with constraints.
That doesn't make it okay to break accessibility though.
So you style deep dom elements that break when you upgrade material, if you ever do, because upgrading is now too expensive with the Frankenstein you’ve tried to jam into material’s default styles.
I’ve worked with many, many designers. None of them have ever liked working with constraints. Even getting a single designer to commit to a color palette is pulling teeth.
I don't rely on accessibility tools myself(outside of Vimium for keyboard navigation) but I get the impression that Twitter is pretty well done. In between adding support for alt tags on user uploaded content, actually implementing a custom focus language, and bespoke screen reader labelling they seem to at least care about it.
None of this, you'll note, is particularly concerned with how the tool _actually_ impacts a11y. But, as you state, it's the lazy solution.
https://adrianroselli.com/2020/06/accessibe-will-get-you-sue...
The ADA lawsuit trolls who are quick to settle for money tend to go after smaller businesses presumably because they lack the resources to fight in court, to actually fix the problems, and because there are a lot more of them than large businesses.
Well, that’s probably just as much up in the air.