Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Oh shit, my app is successful and I didn't think about accessibility (jacobbartlett.substack.com)
277 points by jakey_bakey on March 18, 2024 | hide | past | favorite | 289 comments


I would never agree with this statement of the author: "You won’t stop until everybody is using your app." Why ? All the apps I ever build (or participate in their development) where targeted to the fit the most, without sacrificing the business requirements or other important/critical aspects of the app. Otherwise will end-up with an unusable product.


I don't know - I'm always amused at how companies will try all sorts of growth hacks to eke out an extra 1% of DAU or whatever, but won't prioritise building products for human beings.


Companies do all sorts of (IMO insane) things to their apps that reduce their reach. Ignoring accessibility is just one of them.

I remember when I was in the app-writing business, and our devs would be constantly trying to bump up the minimum OS version supported. “See here, it says that only 10% of customer devices are on OS version 10.1 and below. We must bump our minimum version to 10.2 because us developers are tired of supporting this old shit and legacy code paths!”

This seems to me to be a lot like a salesman simply hanging up on 1 out of 10 of their potential customers. Makes no sense to me, but the version bumpers seem to be winning. The number of apps that no longer support my iPhone 7 is growing and growing…


I suspect that stuff like accessibility and minimum OS version are not independent of the profitability of a customer, so it's not necessarily insane.

For example, I'd suspect that people who stay on old iPhone's are less likely to spend money on apps. But it's a small, very unfounded suspicion.

I'd be curious to see if anything works out though in how stuff like that lines up.


I'd imagine this is likely true. The other thing to consider, is that apps don't necessarily need to be updated. Many can continue to work on old versions forever if the developer takes care with planning.

I'm thinking specifically of a 3rd party camera app, or maybe one of these modern 3D mapping apps that uses LIDAR to model a room. These apps can (and should!) continue to work on the hardware they were developed for, even if the author bumps the minimum version past what is supported. If the app author builds in reliances on a web api that expects an up-to-date companion app, that was/is shortsighted and should be discouraged.


If you lose 5% of your customer base every min version bump, compounds fast.


Except companies that produce apps and games for small kids. They would go out of their way to support old devices released more than 10 years ago because their customers (small kids) mostly use devices handed down from their parents.


> "See here, it says that only 10% of customer devices are on OS version 10.1 and below. We must bump our minimum version to 10.2 because us developers are tired of supporting this old shit and legacy code paths!"

This makes sense if that 10% are costing more money than they generate, which seems especially likely since people that are frugal enough to (for example) hang onto an iPhone 7 are also unlikely to spend much on other frivolous purchases.

Supporting those older devices can range from supporting multiple code paths due to different APIs, or fallbacks for missing HW performance and/or features. All of that adds up in terms of developer time, build/infra cost, etc.


Do you have any real estimate of what not breaking old devices cost? With so much effort being wasted on site/app redesigns that degrade user experience (and cut off old devices in the process) it's also easy to imagine that it's not about the costs


See also: gating table-stakes features behind "download our app". E.g., messaging on Facebook and LinkedIn.


Exactly. “Hello, potentially revenue-generating customer. Now go away!” Insanity.


That’s fair; I might have been a little gung-ho with this introductory flavour text


I think your post has personality, as it is written.

Just my unsolicited, non-expert advice: don't make your writing more generic just to appeal to a wider audience.


Totally agree, I intend to keep writing as my hobby so definitely wouldn't want to take the fun out of it by removing my own voice!


You won't stop until everybody is reading your blog


HAHAHAHAHA, nice one


Moreover, the target "audience" of an app is always specified before the design phase, in the Business Requirements Document and such and it's a defining element for the development. I've read/wrote hundreds of such documents in my career, yet I've never seen one that sets its target audience as 'everybody'.


> the target "audience" of an app is always specified before the design phase, in the Business Requirements Document

I could feel my soul leaving my body while reading this


TBF, if you don't understand the people that you're writing your app for, you're probably not going to be very successful.


If your startup has a Business Requirements Document, you launched too late


Or it's founders have been working at IBM a bit too much... ;)


Or you're not consumer-facing?


You're needlessly rebutting a jokey introduction to an article.

I'd also wager few apps have everyone in the world as active users, which is the next sentence in the article.


You should see how ADA requirements are practically impossible or completely break design. The high contrast of font to background requirement is so extreme that most major sites and even ADA related sites fail. Things like alt text is so time consuming it would be incredibly expensive to label all the images. Facebook has long resorted to using AI descriptions.

Really it shouldn't be up to the developer it should be up to the disabled person to buy tools. Just like someone may need to buy a wheelchair to move around, they should have to buy a specialty browser that handles their limited visibility needs or brail tool interface.


> “Really it shouldn't be up to the developer it should be up to the disabled person to buy tools. Just like someone may need to buy a wheelchair to move around, they should have to buy a specialty browser that handles their limited visibility needs or brail tool interface.”

No, that’s the wrong analogy. The ADA is there to ensure that people with wheelchairs can find a barrier-free entrance to a building, and a curb cut at an intersection.

It should be on us, the developers, to ensure our apps work with the tools of the trade to enable people with limitations. So, our apps should be usable by screen readers. The screen reader is the analogue to the wheelchair here.

This is one of the great things about HTML. Even ignorant / lazy / time-constrained developers are likely to output something that sorta works, just since they’re using divs and imgs and whatnot.

And the bar is so low! Adding accessibility labels takes not much effort at all. And, as an added bonus, accessible apps are easier to test, since testing frameworks like Playwright can hook into accessibility info directly to validate assertions.


> find a barrier-free entrance to a building, and a curb cut at an intersection I disagree with this too. It's a social nicety but shouldn't be a requirement.

> It should be on us, the developers, to ensure our apps work with the tools of the trade to enable people with limitations Why? I argue it should be on the disabled person.

> The bar is so low. Not really. There are groups of lowers running around looking for people to shake down for ADA misses. To really protect yourself it takes a lot of time.


> high contrast of font to background requirement is so extreme

Extreme? The WCAG standard for text most organizations use (Level AA) is 4.5:1 with 1:1 being black-on-black and 21:1 being black-on-white (or vice versa). The higher standard (Level AAA) is only 7:1. Most people wouldn't want to read your content if everything was 7:1 or lower.

> Facebook has long resorted to using AI descriptions

Facebook didn't upload those images, their users did, Facebook isn't responsible for them having good text alternatives.

> Just like someone may need to buy a wheelchair to move around

To go along with your poor analogy, blind people have "wheelchair" equivalents, called screen readers. They're useless if don't build "ramps" that meet established building standards, websites and apps that follow established standards.


I love your ramp analogy


> Things like alt text is so time consuming it would be incredibly expensive to label all the images. Facebook has long resorted to using AI descriptions.

> Really it shouldn't be up to the developer it should be up to the disabled person to buy tools. Just like someone may need to buy a wheelchair to move around, they should have to buy a specialty browser that handles their limited visibility needs or brail tool interface.

How can buying a specialty browser solve a problem of a blind person needing alt text for images?

You, as a developer, can determine when AI-generated text is good enough for your images—sometimes it is, and sometimes it isn't. A specialty browser cannot, and should not, be trusted to make that decision, so it will need hints from the developer. And, once the developer offers those hints, any mainstream browser, not just specialty products, can make use of them.


It sucks to be disabled and this is why it sucks. People shouldn't be wasting lifetimes of time to so that visually disabled people can be slightly more convenienced to browse the internet or play with an app. Especially with alt-text. Minimal effort is fine. Well structured HTML is all that should be needed.

> How can buying a specialty browser solve a problem of a blind person needing alt text for images? If a picture is worth a thousand words you're never going to get the alt text right. There can always be complaints it's not good enough. Look at what happened to Dominoes. They made efforts but it wasn't good enough.


> It sucks to be disabled and this is why it sucks. People shouldn't be wasting lifetimes of time to so that visually disabled people can be slightly more convenienced to browse the internet or play with an app.

I think that a big part of why it sucks is that people feel comfortable expressing the idea that working to allow people of all abilities to enjoy the same conveniences is wasting time.


Domino's did not make an effort until they lost in court. They even admitted during the course of the case that the requested fixes would cost like $58,000 to make, far less than the lawyers cost in the case and appeals.


You are arguing they should have been forced to pay 58k for unnecessary site improvements when each place has a phone line that can be called. They did have alt text but it was deemed not good enough. What real value did disabled customers miss out on?


> They did have alt text but it was deemed not good enough.

Did they? Because the suit alleges that they did not have alt text.

> each place has a phone line that can be called.

Ok but what if the person has troubles talking or hearing or dialing the phone?

Accessibility doesn't even take that long. I updated a site I run to be compliant in less than a day. Corporations can afford to meet regulations.

Edit:

According to the lawsuit the phone number was not added too the website until after.

Also from the lawsuit

> But there are substantial reasons to believe that the phone number does not provide the same level of independence and convenience as does the website and the mobile app. In particular, as the district court noted, "callers may experience delays and be placed on hold." Pet. App. 24a. Ambient noise may distract from and interfere with the accurate taking of orders. See p. 8, supra. And giving a credit card number to a live human being over the phone may create a greater risk to privacy than does submitting that information through a secure website. See DCt. Dkt. No. 33 at 15.


> But there are substantial reasons to believe that the phone number does not provide the same level of independence and convenience as does the website and the mobile app. In particular, as the district court noted, "callers may experience delays and be placed on hold." Pet. App. 24a. Ambient noise may distract from and interfere with the accurate taking of orders. See p. 8, supra. And giving a credit card number to a live human being over the phone may create a greater risk to privacy than does submitting that information through a secure website. See DCt. Dkt. No. 33 at 15.

This is pure nonsense. So what if you may experience delays or be put on hold. Just because something exists doesn't mean you're obligated to provide it.

"credit card number to a live human being over the phone may create a greater risk to privacy" is absurd, it's the way people been taking credit cards from inception to very recently, either it's not good enough and should be banned all together or it's an acceptable means of charging a card. Plus there is protection from the CC company.


Look at way back machine


> The high contrast of font to background requirement is so extreme that most major sites and even ADA related sites fail.

Why don't they just use high contrast? Why is readability so unfashionable?


Text contrast multiplies with the monitor contrast, which then multiplies again with eyesight quality. The high contrast requirement is to make it readable for someone with poor eyesight on a low-quality monitor...

Which then makes it downright painful for someone with regular eyesight, who sets their monitor to high contrast to improve photo rendering. Grey-on-grey is the only website design that doesn't make me immediately back away.


It's very high contrast. The comment meta on these posts fail it. I'm pretty any text against the orange in this site fails it too.


> The high contrast of font to background requirement is so extreme that most major sites and even ADA related sites fail.

What's so wrong with black text on a white background that it's considered extreme?


As you are using a site that is almost black text against a tan/grey background? For most copy I agree with you. But requiring that level of high contrast for titles, informational text, text over images, or some measure of flair so your site stands out a little it's too much of a requirement.


I think you're being too harsh, it's simply a form of rhetoric.

Surely you could've shared your take on the actual substance of the post?


I guess if you're growing for the sake of growth you would do exactly that: not stop until everybody is using your app, because # of users (or rather, delta-# of users) is the most important metric. I agree it's a terrible metric, but isn't it the only VC-money-fuelled metric that counts in many cases (at least nowadays?)


It’s clearly a cheeky comment to give a sense of levity to the presentation.


It’s part of founders pitch repertoire to dumb VCs. Sadly it’s made its way into mainstream content


I do my best to make all of my apps at least vision-impaired accessible.

The last app, I figured a way to make that easier to manage, and reward use by non-disabled folks.

I have a long-press help feature. If you long-press on any element in the UI, up pops a popover, with a header, and body text, pointing at the element. The popover explains that element.

It's fairly easy to have a long-press gesture recognizer applied to the main view, and dynamically figure out which element was hit. I then look for the accessibility items. If they are there, I do the popover.

I use the accessibilityLabel for the header, and the accessibilityHint for the text. It works extremely well, and no one has ever had it pop up when they weren't specifically trying for it.


Say what you want about Apple, they hit the nail on the head when it comes to A11y APIs


Indeed, I'm a very big critic of Steve Jobs and Apple, but when they prioritize stuff, they can do some damn fine work, and to this day they still have some terrific a11y features. Relatedly, "I don't care about the bloody ROI" was quite an incredible moment.


Well, I believe they are serious about privacy, despite constant insinuations that they are not.

I believe that Cook is totally serious, because he's a gay man who supports his community of shared interest. If there's one community that has some serious "skin in the game," when it comes to privacy, it's gay folks. There's places in the world, where it's worth your life, to be outed.

But he's just one man, and no spring chicken. His successor may not be as vigilant. Also, Peter Thiel runs Palantir, so there's that.


I agree that they are serious about privacy, though I'm not sure it means the same thing to them that it does to me. To me. Privacy includes not collecting data that isn't strictly needed to provide the feature. At their scale, perhaps they could reasonably argue that they need all the data about you in order to provide their service, so my standards don't necessarily indict them as reckless with data, but I do worry that the features they want to provide are increasingly including features that I don't necessarily want, but they still collect the data. In preparation for machine learning, I suspect they have justified storing enormous amounts of data from device usage that will help them. As a software engineer, I totally appreciate the importance of data for making decisions, but once you get in the mode of collecting analytics and usage data, you cross somewhat of a line of privacy. Companies like apple justify this by saying that Apple doesn't sell or release any of the data, it's purely used internally, and this is clearly 100 times better than the sellers of data, but it is still collecting invasive data in the first place.

I think ultimately the real Revelation will come when they either don't begin serious advertising, or they do.


That's always been a basic philosophy of mine: "If I don't need it, I don't collect it."[0]

It's surprising (to me) that this has actually caused working partners to get peeved at me. They want to occasionally do things, like see when people originally signed up (for example, we keep last activity, but not original inception. Last activity is important for doing things like culling cruft, but there's really no use in knowing when someone signed up -except for vanity metrics).

If the "need" is "Occasionally want to look at vanity metrics," then that (to me) does not count as "justifies holding onto data."

In our latest app, it is a fairly small app that Serves a small community, but we are constantly getting Chinese hackers, trying to get in.

I won't be so arrogant, as to think they won't, eventually, get in, so we make sure that there's nothing in the liquor cabinet, if they finally break in.

[0] https://littlegreenviper.com/welcome-to-little-green-viper/p...


Agreed, I wish more people thought like us! Hopefully as advertising fades, more people will start trying to differentiate on privacy.


Absolutely! On macOS, I use KeyCue to show every hotkey* in every app because it's able to inspect accessibility/automation data. Similarly, this is what permits scripting desktop apps from AppleScript. (There's a word or phrase meaning side-benefits from disability compliance, but it escapes me.)

* Almost


Oh, that’s nice to know, now that the CheatSheet has been discontinued.

https://web.archive.org/web/20121114115948/http://mediaateli...

I thought CheatSheet was the original indie app which Apple copied for its iPad menus, but it seems KeyCue seems far older and such more original.

> Similarly, this is what permits scripting desktop apps from AppleScript.

AppleScript also has a second interaction in which the App gives access to an API to its “logical” object model. Instead of “Select item in list, then click on the delete button” the programming model is more “Tell the app to delete the e-mail”. On more complicated scripting tasks that makes a huge difference. But that depends on the developer on providing an AppleScript dictionary – which not everyone does. And Electron apps are of course black boxes, in scripting and more often than not in accessibility.


Yes, even just using UIKit will take you a decent way for a11y, and if you try to use parameterized fonts and colors where possible, replace image assets with SF Symbols, and fill in accessibility labels it’ll take you into the home stretch.

I’m still not perfect about it but have trying to make a habit to do these things and will periodically test apps I’m working on with e.g. large fonts enabled in Settings, which doubles as a layout robustness test and improves the experience for everybody since it prepares for edge cases that’d otherwise been missed.


Nice practical article. Accessibility is really important, but one of my pet peeves is when people call developers lazy for not making apps accessible by default. There really is a lot of concepts to learn, conflicting priorities, and tools to get familiar with, on top of making the business case to do it. Most developers and designers I've worked aren't that familiar with WCAG rules either.

By the way, the blue on yellow, and blue on green buttons won't pass color contrast requirements. Black on yellow will work, and white on blue (for darker blues) will work. Finding a set of branded colors that contrast as needed is tricky too.


Most developers and designers are unfamiliar with a major portion of their jobs.

That says quite a bit about professionalism in the software development field.


> Most developers and designers are unfamiliar with a major portion of their jobs.

Using spans with event listeners instead of anchor tags is my biggest pet peeve of incompetent frontend engineers. It’s like they go out of their way to take something that they get for free and then spend time and effort to break it.


One of the really frustrating parts of that is that they’ll blame accessibility for the extra work rather than admitting that they signed up to duplicate built-in functionality and blew it. I had that recently with some form validation where it went through this “wow that was a lot of work!” cycle and it was like “an HTML 101 form would have taken 15 minutes”.


I agree that there are a lot of other things to learn but accessibility is a legal and moral imperative, not just a nice to have feature. I think “lazy” might not be the right word since many developers don’t even know that they’re cutting corners, so perhaps it’s better to use “negligence” and realize that our field culturally encourages it rather than just blaming individuals.


In the end, software accessibility represents an edge case affecting a tiny fraction of users.

You can argue it’s morally wrong to not support that edge case, but I do understand why it wouldn’t be a priority for most without legal prodding.


It’s more than a tiny fraction, but yes, that’s why the laws are so important: the cost of not having them is high to specific people, and businesses may not see that directly because someone who finds your product hard to use is likely to just stop without telling you so it’s hard to tell how many affected people there actually are. Having a simple legal requirement short circuits all of those discussions.


> In the end, software accessibility represents an edge case affecting a tiny fraction of users.

I'm curious: What fraction do you think it is? And what fraction do you think it should be for it to be taken more seriously?


To get into exact numbers, it starts to depend on what exactly is meant by "accessibility". For simplicity's sake, let's take supporting screen reading software. What % of the population uses a screenreader? If we assume that every blind user uses one, then the slice is about 2.4%.

According to CanIUse, that's a similar percentage to the share of users who use browsers that don't support Flexbox. Have you used Flexbox recently? If so, you've excluded a similar slice of your potential user base.

And, just like with ignoring flexbox, you can of course code around this. I've actually written SPAs with screen reader support, and it's a pain. Advocates will tell you that if you just follow the WAI-ARIA standard, it'll work seamlessly! But no -- in practice, each screen reader is like a mini-IE6; they all deviate from the standards in strange and unpredictable ways.


> To get into exact numbers, it starts to depend on what exactly is meant by "accessibility". For simplicity's sake, let's take supporting screen reading software. What % of the population uses a screenreader? If we assume that every blind user uses one, then the slice is about 2.4%.

Ignoring the fact that this alone represents a small slice of a larger pie, 2.4% still doesn't seem insignificant to me - that's nearly 8 million people in America alone. In any case, that answers my first question - now how much higher would that number need to be for it to be significant to you?


What percentage was it when everyone collectively decided to stop supporting IE6? 20%?

To me it’s less of an absolute percentage and more of a function of how much extra effort needs to go into it, and whether the usability of the rest of the product needs to suffer. I’ve seen potentially useful features nixed because they can’t be made fully compatible with JAWS, which seems silly to me.


Thank you for the comment :) Appreciate the feedback, tbh I was a little lazy and probably should have confirmed the 'improved' colour scheme actually worked


Why have we settled upon annotating accessibility options onto a visual-first, generally high-precision/high-touch-density medium? Wouldn't it be better to just have a "low vision" version of the app, a "low touch accuracy" version of the app, etc?

Then you could provide the accessibility-minded users with something customized to their needs, instead of trying to shoehorn accessibility onto a layout that might have no commonality between what "normal" users want and what accessibility-required users want.


Separate but equal isn't equal, and in the US, the ADA requires reasonable accommodation. It's not reasonable to require a second, separate app to cater to people with low vision/low dexterity, and chances are it's not going to have equal functionality (how many separate apps have equal functionality). It's better to require platforms to make accommodation a core feature (which they have largely done!) and require developers to use the accommodations.

The ADA has a private right of action which means that there's distributed effort to find out what's a reasonable accommodation and also to drag businesses into compliance. There's plusses and minuses with this approach, of course.


> It's not reasonable to require a second, separate app to cater to people with low vision/low dexterity, and chances are it's not going to have equal functionality

Your first half of that sentence is debatable in absolute terms but in practice almost always right due to the second half. It can be reasonable to have an alternative version of something — for example, an audio or braille version of a printed document, or a ramp alternative to stairs – but the really hard part is actually keeping them in parity. If something is seen as a compliance obligation, I’d be shocked if that actually happened versus resources being allocated mostly to the extent that they’re cheaper than legal fees.


> Wouldn't it be better to just have a "low vision" version of the app, a "low touch accuracy" version of the app, etc?

I find your comment interesting because it speaks to users who can see, just not well. When I think of web accessibility, I (mostly) think of users who are entirely blind. While it turns out:

~80% of screen reader users are blind. The other ~20% may be partially vision impaired, or sometimes not visually impaired at all (but use it due to things like dyslexia). [1]

~2.4% of Americans are visually impaired and use (or could benefit from) a screen reader. [2]

A "low vision" / "low touch accuracy" version of an app would likely be serving less than 0.5% (20% of 2.4%, see above) of your userbase. (As opposed to simply supporting screen readers in the "regular" version of the app.) Doesn't seem like a priority to optimize for 0.5% of your userbase when you're just trying to vet an unproven idea.

[1] https://www.tempertemper.net/blog/not-all-screen-reader-user...

[2] https://nfb.org/resources/blindness-statistics


I was just giving examples of different types of accessibility needs, it wasn't meant to be an exhaustive list. You can imagine "no vision" as a type of "low vision", where vision = 0.0 if you'd like


Those survey results probably don't mean what you think they mean. Among blind and visually impaired people, the term 'blind' can include basically anyone who is legally blind— it does not refer exclusively to the totally blind.

My mom has been legally blind for almost two decades now, IIRC. It's only within the past year or two that her computer and phone usage has begun to switch to primarily screen reader-based rather than primarily magnification-based. From then and continuing on to this day, she chooses between the terms 'low vision' and 'blind' (and various others) mainly according to what she thinks the person she's talking to will most easily understand. (Although over the course of time she has gradually shifted toward favoring the word 'blind', both as she becomes more connected to the local blind community and as her vision continues to degrade).

One thing to keep in mind is that going from normal/visual phone usage to a screen reader is like learning to walk all over again (and discovering that some paths are not for you anymore). It's starting over from zero, and it sucks. Going from typical visual usage to jacking up your font sizes is basically free, and using some kind of magnification a fairly natural next step. For people with progressive vision loss, there may be decades where one is 'blind', but it's still not efficient or opportune to drop everything and switch to relying exclusively on a screen reader.


I want to add that sighted people use accessibility tools too. Jacking up font size is convenient if you looking at the screen from afar (following recipe, for example). Or if you read from a device with friends and don't want to accidentally butt heads.

Screen readers are convenient if you want to do anything while reading (I listen to at least view articles per week that way. I'll even admit to reading HN comments with screen reader. Surprisingly accessible).

It's almost always a mixed usage: one minute users use a feature, and the next minute they are fine without it. But those features are very nice to have


> those features are very nice to have

Definitely. I think one good way to think about it is as a matter of engineering excellence. Yes, there are moral and legal cases for accessibility features, but it's also a dimension of making software that is great to use and demonstrates attention to important details. It's part of the fit and finish and general UX.

Accessibility features are absolutely vital for some users, but for other users they are still nice to have. And to everyone, they are signals of quality, care, and maturity.


Do you wear glasses? HoW many people do you know need corrective lenses?


'Low vision' covers a lot of the same ground as phrases like 'legally blind' and 'partially sighted'. It doesn't mean people who rely on corrective lenses whose corrected vision is more or less normal.


Assistive technology keeps growing and improving, though.

These days most operating systems already come with a voice control feature, designed for people with a motor impairment to use their device entirely by voice.

When you add alt text to an image button, you're not just enabling a blind user to hear a description, you're also enabling someone with carpal tunnel to speak the name of that button to activate it.

Most other accessibility APIs and preferences have multiple use cases like that, too.

That's why accessibility is designed the way it is: you're not modifying your app to work with specific disabilities, you're adding missing semantics and respecting user accessibility preferences, and assistive technology adapts things to work with different users.


Good luck getting your organization to support building two apps. And even if you succeed once, good luck getting your organization to ship features twice every single time they want to build something.

What will end up happening is you have your normal app which isn't accessible, and a second app with a fraction of your features that is likely often broken because it's hard to prioritize.


You have one backend and two frontends, one of which is simplified and all-about-the-data. I daresay there's the possibility that it's easier to create two websites than it is to make one website do two things.


You might have heard of this thing called "responsive web design," (RWD) it's pretty popular. RWD is all about it not being better to make two websites (in that case, "mobile" vs. "desktop") instead of one.


In some ways this is similar. With responsive design we're talking about orthogonal views in the sense that given enough effort, the mobile and desktop experiences can be completely different, but of course in practice we're going to reuse components to save time.

So just like we have desktop and mobile views, I'm just proposing one more view where you also get to reuse some of your components, and where you get to pushback on stuff like animations, rich interactions, or novelties.


There are already ways to make all those things conditional without creating an entirely new view.

Only occasionally does the "accessible way" need to be in addition to what was planned all along, such as up, down, left, right arrow buttons beside a draggable map, you don't need a whole separate map for that.


iOS and Android largely do this for you as long as you use the platform's accessibility features.


I think eventually we're heading to website as data with clients remixing the data in a way you don't expect; i.e., the final output will be a mishmash of sources.


Sounds like "the semantic web", which has been a great idea just about to take for about 20 years now.


The problem is that the web isn't semantic enough; I mean, when considering the use case of reading documents, we don't even have a table of contents element.


The vast majority of web content is published on sites that want people to use the content in their extremely curated walled garden. Making it easy to mash up content and integrate it with other sites is the exact opposite of what's happening on Facebook, Google, Twitter, LinkedIn, Reddit, et al.


The opposite of that actually. Nobody is going to bother with websites if it's just data that gets slurped up by AI and fed back to people, it's a lot of work for no payout. People who make websites are going to make them interactive multimedia experiences that pull you away from the chatbot to feel something. The New York Times the information dump has no future, the New York Times the interactive multimedia social game and event hub with emotionally stirring stories, pictures and video can survive.


I can't speak to GP, but AI is exactly what I had in mind when I read their comment. With AI transforming website content, the sites themselves just become data sources.

You could be right though, especially with more and more sites blocking robots. Legitimate companies might just have to shrug and say, "this site prohibits me from reading it. You'll have to go there instead) though that seems like a legal problem to me rather than a technical one.


Sites that try to use robots.txt to stay relevant are going to fail spectacularly. All their information is going to leak or be provided by other sources, and they're going to get forgotten. The only people who will be able to make a living selling data will be the ones who can produce data so unique that nobody else can claim to have created it, and for which training on it leaves an unmistakable signature that makes litigation easy.


Why do you think that? Everything I see suggests the opposite.


Or, you could just not have the "low-*" versions and tell anyone who needed or wanted them, "Tough."

I wouldn't advise it, though.


Pie menus support "low touch accuracy" out of the box in a way that benefits everyone, and helps train novice users to become experts by "rehearsal".

https://news.ycombinator.com/item?id=39227843

Fitts' Law intuitively and mathematically explains why pie menus are faster and have lower error rates than linear menus. Fitts's Law says in effect: the bigger and closer a target is, the faster and more reliably you can hit it.

https://en.wikipedia.org/wiki/Fitts%27s_law

>Fitts's law (often cited as Fitts' law) is a predictive model of human movement primarily used in human–computer interaction and ergonomics. The law predicts that the time required to rapidly move to a target area is a function of the ratio between the distance to the target and the width of the target. Fitts's law is used to model the act of pointing, either by physically touching an object with a hand or finger, or virtually, by pointing to an object on a computer monitor using a pointing device. It was initially developed by Paul Fitts.

Pie menus both minimize the target distance, while also maximizing the target size. And the physical directional gesture required to select an item does not demand your continuous visual attention and cognitively taxing hand-eye feedback loop. You don't need to look at the screen to select items from a pie menu, so you can reliably "mouse ahead" or gesture, which is impossible with linear menus.

Another advantage is that they support "rehearsal", by seamlessly training novice users to become experts.

Unlike keyboard shortcuts, the physical action of the novice and expert is the same, only experts can do it faster without looking at the screen.

Unlike traditional "invisible" gesture recognition systems like Palm Graffiti or StrokePlus.net, pie menus are "self revealing" in that the can pop up a menu that shows all the available options and their direction. It's quite difficult to learn which invisible gestures are available and what they all mean, but easy to discover them with pie menus.

Pie menus also support "browsing" and "reselection", which gesture recognition doesn't, allowing users to correct errors or even browse around highlighting every item to preview its effects.

Since pie menus can provide live continuous preview of the effects of the selected item in the application itself (which is especially nice when you use the distance as a parameter, for example a pie menu that lets you create eight objects, with a pull-out size parameter: the more you pull out, the bigger the object previewed at your cursor, which switches to different objects as you browse around the menu, then turns into a real object when you release the button), so you can see the effect and release the button when it's perfect, or go back to the center to cancel. Often the only feedback you need is the live preview of the pie menu selection, and popping up a menu would be a distraction.

Once you learn the directions, you can quickly select items by stroking in the desired direction without even looking at the menu, so pie menus can perform the selection without popping up the menu. There's no need to pop up the "self revealing" menu until you stop dragging the mouse, or you can pop it up instantly by "clicking up" the menu. So a novice can get directions instantly, while an expert can fly ahead without waiting for directions, then pause for directions or confirmation that you have the right selection at any time.

There's a smooth escalator moving you up the learning curve every time you use a pie menu, training your muscle memory through rehearsal.

That is how pie menus "Lead, follow, or get out of the way".

We performed an empirical study in 1988 that measured eight-item pie menus to be 15% faster than linear menus, with less frequent errors.

An Empirical Comparison of Pie vs. Linear Menus (Jack Callahan, Don Hopkins, Mark Weiser, and Ben Shneiderman, Proc. ACM CHI’88):

https://donhopkins.medium.com/an-empirical-comparison-of-pie...

>Pie menus gain over traditional linear menus by reducing target seek time, lowering error rates by fixing the distance factor and increasing the target size in Fitts’s Law, minimizing the drift distance after target selection, and are, in general, subjectively equivalent to the linear style.

[...]

>Pilot study results: A pilot study of 16 subjects showed that users were approximately 15% faster with the pie menus and that errors were less frequent with pie menus. Statistically significant differences were found for item seek time but not task type. Subjects were split on their subjective preference of pie and linear menus. Some commented that they were able to visually isolate an item easier with linear menus and that it was hard to control the selection in pie menus because of the sensitivity of the pie menu selection mechanism. These subjects tended to be the most mouse naive of all whereas those who had heard of or seen a mouse/cursor controlled system but had not used one extensively tended to prefer pie menus. The most mouse naive users, while finding linear menus easier, tended to be better at pie menus and commented that with practice, they would probably be superior and in fact prefer the pie menus because of their speed and minimization of hand movement with the mouse. Not surprisingly, therefore, most of those preferring linear menus did not have a strong preference on the scaled subjective questionnaire.

More about Fitts's Law and pie menu in this thread from Sept 27, 2022 on: Cairo: Alternative Windows Desktop:

https://news.ycombinator.com/item?id=32992673

More info:

https://news.ycombinator.com/item?id=39228342


People said it would take twice as long to make two versions of the same frontend, so they spent a hundred times as long making crossplatform, responsive, accessible GUIs that often feel terrible to use no matter who the user is.


I built my app in Flutter without thinking about a11y at all, and had a blind user complain about a feature I updated. She had been using the app for about 6 months and she said it’s one of the most accessible apps she’s used. Flutter pretty much takes care of it all for you and the highly custom feature I built didn’t need much tweaking at all to make it work for her again.


I've heard this previously as well. Pretty compelling argument for using Flutter. If only I didn't dislike Dart so much...


What issues have you had with dart last you tried it? What was the last version you tried? Dart has improved greatly in the last few years. It's one of the better OOP GCed languages these days in my opinion.


My issues with Dart are pretty shallow honestly, mainly coming down to look and feel[1] and personal preference. I have no remaining technical qualms with Dart, just that I don't like it's flavor of ice cream (metaphorically speaking of course). It reminds me a lot of Java and feels like it was created to be more like what Javascript "should" have been had it been designed to be a scripting version of Java from the start. Of course this makes a ton of sense given it was designed at Google from a lot of Java devs.

[1]: In the past I did have some criticisms around performance and non-native widgets, but those have been worked out


Interesting view. What makes it feel like java in your opinion? I think I see your point about dart being what JS should have been but I would add that it is also like what Java should have been. And really the only reason to compare it to Java is because it is the language that spawned most other comparable languages (C#, Swift, Dart, Kotlin, JS (kind of)). But syntactically Dart is nothing like java:

- no `new`

- no single class files only restriction

- named parameters

- no java.util.arraylist nonsense.

semantically it is also very different (unlike eg. Kotlin)

- first class support for passing functions as parameters (this is the worst issue with Java by far and can't be understated)

- sound type system (String cannot be null)

- async/await

- no bytecode

lots of other QOL features as well. If you're really thinking of trying out Flutter don't let Dart stop you from doing so. You may even find you like it!


With all those you could just use C# with much better outcome…


I'm not too familiar with C# but I know it does not have a sound type system and it appears to require the "new" keyword for instantiating new objects. You need to import System.Collections for dynamiaclly sized arrays. Also appears to not have python-like print() (requires Console.WriteLine()). It also doesn't have flutter obviously. But in any case my point was more that Dart isn't really like Java.

Why do you think C# will give you a better outcome?


We’re reaching the levels of hello world optimization even the staunchest proponents of top-level statements (write Program.cs python script style) considered impossible.


What about sound types? And I think having dynamically sized arrays in the language rather than standard library is an improvement in general because it removes extra cognitive load. Same for "print()." It just makes the language easier to write. The same way we never really need to pass functions as arguments because we can always pass an object that is guaranteed to have that function defined for it via interfaces. This is what is generally done in Java and it is awful.


What? None of this makes any sense. C# is not Java. It has different syntax and feature set. The print thing is just hilarious however. I have probably heard it only ever from someone who started programming a couple of months ago.


What is the real liability for a scenario like this? Is there any grace period when a new app or startup becomes far more successful far sooner than expected? I imagine A11Y isn't a massive concern when it's not certain an idea will even work; outside of California I can't imagine being legally skewered if, once you attain unexpected success, you devote A11Y resources to address this issue.


I work for an information service that sells subscriptions to academic and other users.

We don't have a legal mandate per se to be accessible but many of our subscribers do have a mandate that services they buy have to be accessible. Many of our customers insist on it because they have a legal mandate to be accessible. The university that we are a part of got sued because it made web sites that were not accessible

https://www.insidehighered.com/news/2018/12/10/fifty-college...

and in principle any school could get in trouble for buying products and services that aren't accessible. So it is part of the contracts we sign now, we do accessibility audits regularly to stay ahead of issues, sometimes we have have customers who do their own audits. Thus a11y is a major priority here so I have learned all about ARIA (our app is a great fit) not to mention the real formulas for color spaces, contrast ratios and how to use a screen reader.


You're liable under the ADA everywhere in the US. Florida and New York are the big federal courts where people bring these cases. If it's found that you have created a barrier to accessing services, you can be sued.

The US doesn't really have any regulatory apparatus for disability access - ADA liability is how it gets handled. The legal test is murky, the amount you're liable for is murky, and thats generally considered ok, because it will make you fix your shit (legal term).


There are lawyers in CA that blanket courts with these things for physical places. And others doing the same for online.

https://www.vcstar.com/story/news/local/2023/05/15/ventura-c...

https://www.forbes.com/sites/gusalexiou/2023/06/30/website-a...


> What is the real liability for a scenario like this?

In the EU:

    As of 28 June 2025, companies must ensure that the newly marketed products and services covered by the Act are accessible. Member States may decide to make some exceptions. For instance, they can allow more time for the application of the new rules to service providers using self-service terminals. Microenterprises (i.e., a small business with fewer than 10 employees) which provide services also are exempted from the obligations of the Act. Nevertheless, all microenterprises are encouraged to make their products and services accessible to persons with disabilities. 
https://ec.europa.eu/social/main.jsp?catId=1202&intPageId=55...


It’s generally less of a legal liability and more of a reputation thing; as you grow you will get more and more users telling you off. See Wordle for an easy example.

Plus, its not that hard to do correctly, so the “we’re a startup on a critical burn rate” stops working as an excuse rather early


While it's generally a good idea to make your app/site accessible to all users and user agents - the trouble usually comes when you're big enough to get sued.

In my previous life at an ad agency we had a number of clients getting pursued by accessibility lawyers and firms. These were typically nothing more than shakedowns for some insignificant settlement (<$10k) - but it was an open-and-shut case if you wanted to take it to court so it was just easier to settle and spend a couple of sprints on WCAG best practices.

IANAL and my agency didn't do the actual implementation so it was typically up to the client to sort out - but having a lawyer on hand should be one of the first things you take care of once you start making or accepting large amounts of money.


I have been a tech lead on a11y remediation projects, downstream from you. This is all accurate.


I'm curious... If you settle without remediating, aren't you still open to lawsuits from other plaintiffs?


I don't recall the specifics - but I think the settlement usually included language around remediation or dismissal was pending remediation.

Typically it was just an embarrassing experience for some middle manager, some lost budget, and some extra dev hours to add 'WCAG Compliance' to the QA checklist.


> Plus, its not that hard to do correctly, so the “we’re a startup on a critical burn rate” stops working as an excuse rather early

It's not a question of it being too hard or easy, but as always, a question of priorities.

Say you can either build feature A which is expected to open up the product to be used by 1% more users, as people been asking for that feature. Or you can build feature B, which enables motionsick people to use your app without getting sick from your wasteful animations. This will help 0.001% of your current users, when you have 10,000 users in total lets say.

Not saying it's right or wrong, but I understand why people (managers/owners) make the choice to do feature A instead of feature B, especially in a startup-context where it might be the (imaginary or not) choice between surviving or not.

I'm personally in the camp of thinking about accessibility as part of all the work done, but it's not exactly the mainstream workflow.


You should invest as much into accessibility as you do into scaling.

Meaning: you should think about it early on, and design for the need, but not over invest in it too early.

If you're at the the stage where you don't know if your idea will work, you shouldn't be polishing accessibility, just like you shouldn't be denormalizing your database schema to increase performance.

However, you should be thinking about accessibility, just like you should be thinking about how your database queries will scale if you get increased load.

So for example: if you're making a database of images, why not add a field for alt text from the start and start populating it now? If your app needs drag and drop, why not start sketching out an alternative flow for people who can't drag and drop now?


"Premature optimization" is definitely a thing in scaling but not so much in accessibility. I suppose having a native feature to let users choose from a wide array of fonts and color schemes (vs. honoring OS settings for those) before you have users could be accessibility-related premature optimization.

Accessibility is more often compared to security; if you don't think about how to securely transfer or store data early on, it's going to be much harder later on (support for SSO before you have users might be premature optimization unless your product is especially geared toward enterprises).


I follow this as part of my role and the number of lawsuits has been increasing steadily over the years. Last year was 4,600 (for websites/apps) in the US. So might not feel a lot but of course the bigger your app is the bigger the target.


Does it apply to someone just releasing an open source app under an app store for free?


I'm curious about this too.

'big' open source projects like blender,etc - what are their responsibilities? A quick look at the site doesn't find much except that it's a work in progress.

What is the responsibility of a single developer with a 'scratch an itch' project on github?

Can I as a developer release something for personal use when it's good enough for my own purposes, but miles away from being accessible?


Not a lawyer, but helped addressed these concerns on the dev side at a previous large company.

It's going to vary a lot, but one metric that's used by lawyers in finding companies to sue is whether it impedes another protected action. For example, hiring employees has lots of rules and protections, therefore the website where people can look at and apply for your jobs needs to be accessible, especially if there is no other way to apply.


I've worked for a couple of large corporations who were sued for accessibility issues.

This was about 5-6 years ago though and I was told back then that there was a number of people who are deliberately scouring the internet for websites with accessibility issues so they can sue them for not complying with US accessibility laws. These lawsuits I believe can be fairly costly for large organisations – I know I was given numbers in the millions, but I was on the technical team so I can't say for sure whether that number is accurate.

In one of the cases I was involved with we were given a period of time to take remedial action to make our site accessible otherwise we could face additional fines. I'd assume if you have a reasonable excuse that the penalties and remediation period would be more lenient.

I'll also add I'm from the UK, but our websites served US customers and our lawsuits came from the US. I believe the UK has similar accessibility laws, but I guess we don't have the same culture of suing businesses.


This. The problem isn't accessibility or the ADA. The problem is the US tort system and the way it is abused.

If your font is slightly too small or an alt-text is missing, or whatever? A lawsuit should have zero chance of success, which would then eliminate the blackmail game of "settle or we sue".


Maybe required by EU law?

Not a friend of accessibility though. It requires so much work to satisfy a small base of users.


A small base of users at any given time. Almost everyone needs "accessibility" eventually. You will, too, if you're lucky enough to live that long.


Now you understand why laws like this need to be passed. Because otherwise assholes like you wouldn't do it.


Until you're disabled.


In the long run, everybody is disabled. My eyesight is way worse than it used to be, as an example, and it's beginning to affect my ability to computer. Absent some miracle treatment (which is bound to cost an arm and a leg and NOT be covered by insurance anyway), it's not going to get any better.


You’re being downvoted but this is true - most accessibility work seems to be generated by the accessibility industry, and is focused on short term fixes (modifying every website) rather than long-term solutions (fixing web browsers for disabled people).


Are web browsers not accessible by default? If you make everything out of the core primitives they provide: lists, paragraphs, buttons, forms, etc, a screen reader will have no problem, and reader mode can let the user tweak it. It's only when people reconstruct primitives that assistive technology breaks. I don't see how you can fix that at the browser level except by taking away all the toys and breaking 99% of the web.


> reader mode can let the user tweak it

Reader mode will help with some disabilities but not others.

> It's only when people reconstruct primitives that assistive technology breaks.

I like using the platform too, but users don't use primitives - they interact with higher level elements like carousels, profile pictures, comment boxes, and most new UI elements do not have accessibility industry ARIA role.


How do you propose making all websites accessible at the Web browser level? That seems likely to be an intractable problem.


Browser modifications to detect and modify things like font size, selection and contrast, designs transformed into modified versions suitable for different disabilities using ML. Things that actually scale versus asking every website to modify their code for every disability, which will never happen.


For the last 12 years of his life, my father was in an electric wheelchair as a result of a stroke. Prior to that, I was vaguely aware of ADA compliance - basically because there were posted signs everywhere about parking spaces and restroom stalls.

It was only after seeing the ease with which he could navigate the world in spite of his chair that I appreciated how important that law was, because I also saw so many things that he wasn't able to do even though there was a law. Our entire world is built around and for people who see, hear, speak, walk, climb, and crawl.

As developers, I would say we're second only (maybe) to government in the ability to make the world accessible. I'm as guilty as anybody at this. Please make the effort to make your work as accessible as possible to everyone.


I had a similar experience but with my partner. Wrote a longer rant[0].

It's quite hard to notice a lot of these things before you actually have to deal with them. I knew ramps were needed and automatic doors, but the shock was more about little things. But, a big thing I've noticed is that like 90% of things that would help us would make lives easier for normal people too. Which this was a big thing that opened my mind of how to address a lot of accessibility, is just think more deeply. If it affects a wheelchair it also affects a stroller, your wheeled baggage, things being dropped between cracks/small gaps, being able to clean between gaps (and subsequently the mold, water damage, grime, etc that makes things more costly in the long run!), your robot delivery drone, whatever. Ironically making the world more accessible for wheel-chaired people makes the world easier to robotize, which in turn can then also help disabled people. But the lesson is to think deep, because there are so many parallels. So if you hit upon one, you benefit the others. So you don't need to sit around thinking of every possible disability to make things accessible, which is a big blessing in itself. But if you think with care you will make the world much more accessible. No one expects to be perfectly accessible to everyone and disabled people know the world isn't going to bend to them, but that also doesn't mean we shouldn't try and care for our friends and family (other humans). But since it can help, just remember that a lot of things that help them will also help you.

[0] https://news.ycombinator.com/item?id=39748213


> But, a big thing I've noticed is that like 90% of things that would help us would make lives easier for normal people too.

This was a really common observation among the parents in our circles. You really notice things like missing curb cuts or bumpy sidewalks when pushing a stroller, so many things where only needing one hand is really helpful when holding a baby, having restroom stalls big enough to accommodate a wheelchair also means a stroller or second kid can fit, etc. A lot of people went from sort of vaguely thinking this is important to vocally backing accessibility at public meetings.

One important example: public bathrooms. Hatred of homeless people has driven a lot of American cities not to have them, which means people with certain conditions stay in or avoid certain areas. It also sucks for parents and I’ve noticed at planning meetings that one of those things which should not happen but does is that, say, an older low income person saying they’d use a park more if it had a background does not get the same response as, say, the affluent mom saying the same thing. It’d be nice if that didn’t require haggling but if it takes a coalition to get fixed at least it still happens. I noticed something similar with our local bike path expansion - motorized wheelchair users are looking forward to a smooth, safe, fast path, too.


Tangentially related, but it's a bit interesting to see how many men get "radicalized" after being on paternity leave and pushing a stroller around. I'm volunteering on a board for an organization that (among other things) works for more accessible streets (more from an angle of less car dependence though), and we get lots of new members with this revelation. Suddenly they hate getting from point A to B; "It's just a short distance, why is everything making it so hard? Why are there curbs everywhere? Why isn't it wide enough for my stroller to pass? Why are there no big toilets where I can bring the kid with me? Why do I have to go a long way extra for an elevator?".


My partner had to use a wheelchair for awhile and it can still be useful (difficulties walking), and boy has it caused a strong desire to just keep a spare bag of concrete and a bucket in my trunk. Or even just metal shims. I've definitely got the same experience of "why is everything so __needlessly__ difficult?" When many could be solved or significantly eased with just a few dollars worth of materials.

> Why do I have to go a long way extra for an elevator?

  - Why did I just walk past 3 flights of stairs on my way to the elevator?
  - Why did the handicap subway car drop me off at the far end of the station? 
  - Why did 3 people rush in front to get to the extra wide gate when there are 5 empty normal gates?
  - Why does the flat moving walkway have a divider that's meant to prevent bikes but also prevents a fucking wheelchair or walker!
  
The last one really triggers me... I mean I get why they do it but it also feels like a spit in the face (I'm glad they still help old people and those with limited mobility though). But come on....


A friend of mine from college has a form of dwarfism that gives him extremely limited walking ability. I have spent many hours pushing his wheelchair around college and now around towns. Newfound dislike of cobblestone streets lol.

During one busy winter, he had to drive his mobility scooter to class in the early morning after a huge storm. The "ramp" to get from the sidewalk to the street to go where he needed to go was covered in snow and he couldn't push through. He asked the groundskeeper/janitor/maintenance guy who was shoveling nearby if he could clear it.

"Not my job"

I often wonder if Americans are especially selfish. There is this disgusting undercurrent of greed and "fuck you got mine" in our culture, and it harms everything we interact with. Think about the parking lot of your nearest grocery store, and how many carts have just been left in parking spots by people who think their shit doesn't stink.

I wonder how many of those people run local businesses or government departments.


> Newfound dislike of cobblestone streets

God... yes

> I often wonder if Americans are especially selfish.

I can only speak to America and visiting another popular Asian country. I don't think it is uniquely American. It seems more related to people struggling and thus how much they're in their own world.

I think about this a lot because it makes it a solvable thing. But maybe I'm just hopeful. I mean either way we live in a biased internal world, and if we're going to choose, I'll be optimistic in my pessimism (that things can be solve or significantly improved). At least that framework keeps me moving forward.

But also, these experiences make me think about how important it is to offer help. Even in small cases or just see if you can lighten someone's load. There's many situations where it's little to no cost to you (in time, effort, and/or money) but mean a lot to others. Even offering often can turn someone's bad day into a good one (unfortunately sometimes after you leave). So I try to remember the little things. Because it is the little things that get in the way and make our lives difficult, so it makes sense that little things can also improve them. You don't have to be wealthy or a superstar to change the world, you just have to be a friendly neighbor.


> It seems more related to people struggling and thus how much they're in their own world.

Yes, this is very well said and has been my experience as well. It's also been my experience that generally speaking we (the world and the US) are getting better and better at a11y. My cousin was in a wheel chair for decades before he passed away, and there were a lot of places we just flat could not go. It was a nightmare, but the worst enemy was ignorance, not selfishness.


Oh man I feel this... My big thing is observing and pointing out how few men's restrooms have diaper changing tables. Some places are awesome with it, or with private family restrooms for this purpose. For the other places... Let's just say that I'm quite used to changing diapers on the seat of the van.


I 100% believe you, but I don't recall ever having this particular problem as a father (my kid was last in a diaper 2 years ago). The worst situation I recall coming across was the changing table mounted to the wall in the entrance space - which was frankly viewable from the outside of the restroom. I understand why they did it. This was at the Minnesota fairgrounds and there was literally no room in that bathroom any other place. I'm glad I never came across a men's room that wasn't accommodating.

If you're not there yet, the next terror is desperately searching for a bathroom for your kid. It's especially hard in city centers where every place has put code locks on their restrooms "for customers only"... It's fine, I'll buy something, but my kid needs a bathroom right now!


Yeah, we actually ran into opposite problem a lot, namely that the changing tables were only in the mens restroom. In one organization who I won't name, they were actually very proud of that. I also learned very quickly that this is not something you're allowed to complain about in our current society.


Really similar to backups in this regard. People don't appreciate it, until they need it. Then it goes from "I don't care, leave me alone, inconvenience" to "life-saving essential thing, why doesn't everyone care about this all the time".


> Our entire world is built around and for people who see, hear, speak, walk, climb, and crawl.

As a parent, I would disagree with the world is built for those that crawl. New parents are told/suggested to crawl around their house just to get a closer eye-level exprience of what their toddler will have.


That's a fair point - I was thinking of how many times I've been able to crawl under my desk to get a thing I dropped, or plugged in a cable. But I hadn't thought of it in terms of being limited to crawling.


> As developers, I would say we're second only (maybe) to government in the ability to make the world accessible

This isn't something I've really considered, but it's both very true and very important. Thank you


I run into this issue a fair bit because I enable 'larger text' for the display zoom option on my iPhone. I do this because I find it is just more comfortable to do things on the screen with one hand when there are larger hit boxes.

I think 'accessibility' can be reframed as being more generally about flexible configuration and control for everyone to benefit from.

For such personal devices it's not just about about disability, it's about the freedom I want as a user to mold an interface to actually fit me and my usage style moment to moment. Sometimes I want a screen read to me or just a section of it. I'm not visually impaired, I just might not want to look at the screen.


The very community who needs this, is inclined to ask first sue second.

The ADA exists and is a powerful law. If you are willing to put in the work, generally you're going to get a pass.

I wrote a bunch of accessibility guides (with a lawyer looking over my shoulder) around 2000 for a F500. I have since worked with blind users to add accessibility to apps. If someone is asking, and you can help them do it. You will have a massive advocate for what ever it is your doing!


Yeah for a decent period of time, the accessibility of Dropbox's desktop app was entirely dependent on one passionate blind forum user who called us out (politely!) every time we messed something up. It was a great, productive relationship that led to us continuing to release test builds on the forums for longer than we would otherwise have done so.


Indeed. You can literally spend as little effort as physically possible working on accessibility, and you will still be doing better than way too many businesses, and people with disabilities will still give you props for your literal minimal compliance.


Your App is successful because you didn't spend time on useless things like a11y, i18n during the p-m-f stage. If you look at every successful product in history, they didn't focus on a11y or i18n right from the bat.

Now, that it is successful, you can think about it and spend resources.


This is a very common attitude; part of why I wrote this article was to demonstrate how easy it is to do the bare minimum!


Are you really going to use the word “useless” here?


Yes, if you offer something useful, people will jump through hoops to get it.

Remember all the original Download/Porn sites. Those had a11y issues even for regular users, yet it was popular. a11y matters only for useless websites because they can't afford for users to leave


It seems like quite an indictment of the tech sector to say that success happens because accessibility is ignored.


Once you make an interface accessible, it becomes much harder to change that interface and add new functionality while maintaining accessibility.

This is why tech first finds an interface that works and makes money, and then turns around and makes it accessible.


Succes requires quickly testing if something works at all. Those tests don't need accessibility to be accurate, so they don't have accessibility.

What is important is that, when you found that something works and you start profiting from it, that you make it accessible. incidentally, this is how the EU law works aswell.


I think it is safer to say that accessibility is an one of many edge cases. Not important ... until it suddenly is.

I had many tricks to "sell" accessibility to the various clients and one of them was "What percentage of your potential users would you like to immediately piss off?" "How comfortable are you with random lawsuits? [Then you have to talk about the Target lawsuit]"


And furthermore, that accessibility is useless.


Not really.

Solving a new problem / use case is going to help you be successful, accessibility isn't novel. It's a feature.


Now, this is why I like to see such things regulated with law. Because then a competitor, who spares the effort to care about, say, a11y, doesn't get ahead, but is instead punished.

It's not that a11y is a bad consideration, it's that creators are badly incentivized.


no. All it'll do is empower those who are in lead esp the big techs because now a startup has to spend a significant amount of time fighting a11y stuff. There's a reason most (successful) startups are not from Europe. Too much bureaucracy for little ones to innovate.

If you become really big, you get x amount of time to implement a11y. Good enough balance.


>If you become really big, you get x amount of time to implement a11y.

What's that if not regulation?


Just today, I was making a product landing page and wanted it to be accessible. Since we have Instagram, YouTube, and GitHub, I wanted to get the icons from those sources. I looked at how to ensure that with SVG and found this SO [1].

While YouTube does not supply SVGs, the SVGs from Instagram [2] and GitHub [3] did not include any a11y metadata. I was really surprised by this, given the massive user bases thereof, both consumer and developer. Maybe that's because it's not universal what should be there?

So I had to insert it myself. I was scared to make a repo sharing these changes, but I will drop the GitHub one here:

In `<svg>` element I added:

    role="img"
    aria-label="[title + description]"

Nested inside I put:

    <title>GitHub Octocat Logo</title>
    <desc>An Octocat shadow in front of a white circle</desc>

[1] https://stackoverflow.com/questions/4697100/accessibility-re...

[2] https://about.meta.com/brand/resources/instagram/instagram-b...

[3] https://github.com/logos


You don't really need to do that. The point of putting alt text on images is to users who use screen readers can still understand your website. Tabbing through in a screen reader hearing detailed descriptions of each social logo is probably a poor user experience.

Probably just "Github logo" or even "Github" would do just as well. If the image/logo is purely presentational (that is - if you remove the image do you remove information from the site?), just blank it out with an empty string.


Thanks for that feedback, I appreciate it. The road to bad UX is paved with good intentions.

Is the issue specifically the aria-label being too verbose? Like it's OK for the other metadata or even that's overkill?


It's probably overkill. The other way of looking at it is that if you put all that content in the visible text, does the page still read correctly? If the image is only used to convey the word "Github", then that's probably all your alt tag needs to be.

The best way to figure it out is to use the screen reader in your operating system. It's hard to judge usability without actually using it.

Aria-label, and the rest of the HTML (like just the text content, or label attributes, etc) all build up the accessibility tree which is what screen readers read out. All browser dev tools should have a way to view this. If putting a <title> inside an SVG doesn't result in that showing up in the accessibility tree, it's next to useless.


Thanks for taking the time to give this guidance =)


Fun fact: it's far more than 16% because people tend to forget the two super most obvious accessibility requirements: being able to read text, and being able to interact with elements. About half of the planet has a visual disability that's bad enough to require a corrective medical device, and over 10% of the planet is just plain old. Tiny UI elements and small text are easily overlooked, huge problems.


> About half of the planet has a visual disability that's bad enough to require a corrective medical device

Can you clarify how many people who merely need corrective lenses need to also rely on software accessibility features? The way you use "about half the planet" in your comment implies that every visual impairment is equal, and that all visual impairments result in increased accessibility needs.

My only accessibility need, funnily enough, is a high-DPI display, despite technically having impaired vision, because my vision at close distances (even corrected) is so much better than 20/20 that regular displays look distractingly pixelated to me.


The idea that "they don't need text controls because most people have glasses, so their vision isn't bad enough" is one of the reasons projects start thinking about a11y too late.


That may be true, but isn't what I said. I think you're misrepresenting the actual percentage of people who actually need to use text controls in saying that about half the population doesn't have perfect vision. You may notice that those are two different things.

It's like using the percentage of people without perfect control of their legs as a proxy for how many people actually need to use a wheelchair. Yes wheelchair accessibility is important, yes many people need to use one, but no not everyone without perfect control of their legs need to be in a wheelchair. Sometimes they only need crutches, etc.


No, it's like arguing that all people who are no longer in their prime need walk-on ramps or lifts in addition to stairs.

Which they do.

And accessibility-oriented architecture already knows that, and has been operating on that principle for decades. So in the exact same way: because half the planet needs glasses, no matter for how "trivial to correct" or actually bad their eyes are, your UI needs controls that allow people with any level of visual disability to compensate beyond what their glasses might correct for, if the medium your UI is presented in does not offer (adequate, because that's not a given) controls already.


> No, it's like arguing that all people who are no longer in their prime need walk-on ramps or lifts in addition to stairs.

That's basically exactly what I said yeah. Which isn't correct because plenty of people who are not in their prime still do not need those things. It doesn't help with making your point.

Instead I'd cite statistics on how many people actually use these accessibility features, and not some far more general group of "how many people are not perfect".

Also, in case it isn't clear, I'm not arguing against accessibility features at all, I just think this part of your argument was a bit misleading.


>1 in 6 people think your app is broken

>16% of people have some kind of accessibility requirement

16% is 4 in 25 people, also no guarantee you'll be able to accommodate their specific accessibility requirement, depending on the app, and depending on the requirement.

That's not to say the app shouldn't be accessible, more that, you should think about when you spend the money to implement things like this, and how that money may best be spent to accommodate the highest number of people. Figure out who those people are, then figure out what your revenue growth would be if you captured those people, then compare those numbers to how much you'll have to spend to accommodate their needs. That's no different than any feature upgrade really.

Where you'll likely arrive at is the same place many apps have, unfortunately, arrived at, which is to probably just get text scaling quasi working and leave it at that because anything more is throwing cash into a black hole.


As a person who uses accessibility features on his devices, this attitude is why we depend on regulation to ensure that we (disabled people) can do stuff. No company implements accessibility features out of the kindness of their heart.


If I'm putting out a free app as a single developer, I don't have the time or money to do everything. If it becomes popular, I can use metrics to improve the accessibility situation.

If government regulations are going to insist I have to put that investment in day 1, I'll just take up badminton or something.


I disagree with this take, most app frameworks do accessibility mostly right out of the box, it's just most developers never enabled voice over in their life, so they keep modifying the UI and messing up accessibility out of ignorance.

It's not that hard, and if every developer spent an afternoon looking into things, they'd realize how easy it is to get it right if the team is aware of it.

I'd not mind if like developers need to go through security and privacy training, they'd also go through accessibility training. A little investment would go really far.


If it's something like a game with a 100% from scratch engine I wrote, there's nothing at all out of the box.


Sure, but I'm talking about Compose, Swift UI, Flutter, React Native, Ionic, etc, you know like how the majority of the apps are actually written.

They all handle accessibility well, you just need to remember adding labels to your icon buttons, and you are good to go. If you don't reinvent the wheel thinking your buttons are soooo different that it needs to be rewritten from scratch, things just work.


Is it something like a game with a 100% from scratch engine?


I mean, isn't that kind of a false dichotomy, though? There's plenty of middle ground between "no required support" and "must fully support on day one".

For example, the ADA doesn't require employers to accommodate disability needs until a business has 15 employees.


I honestly think that this is a good answer. If one doesn't want to do it right, they are better off doing something else.

Of course, culture is a huge factor. The US wasn't built on "regulation, or else", it was built on "if you can, do". This makes business boom, but makes other concerns, like welfare, an afterthought. And it's up to debate which system is better to exist in. People dislike the rules, until it ends up benefiting them.


[flagged]


Bad analogy.

Preparing food unhygienically is bad for everyone at the picnic.

A more appropriate analogy is disallowing watermelon at the picnic because one person can't eat watermelon.

> Please go play badminton.

Love the irony of including this comment in a post about making your app inclusive


>> Please go play badminton.

> Love the irony of including this comment in a post about making your app inclusive

Why is that ironic? There's a broad gap between being unable to use an app due to a disability, and unwilling to write apps that will be usable to people with disabilities. One is an immutable characteristic of a person, and the other is a personal choice to be calous. Inclusivity doesn't mean you can't kick people out for being jerks.

And in this case, if I were to hire a developer for an app, and they were so dismissive of accessibility concerns, I would end their interview with abrupt and direct feedback and the law would be on my side.


If your co-worker is allergic to peanuts, are you going to moan that you're not allowed to bring in your famous peanut brittle? No. You're going to be sensible and realise that excluding people or risking them harm isn't nice.

And, yes, I'm with Popper. The "Paradox of tolerance" is real. It's OK to tell intolerant people that they're not welcome.


The theory is that the companies would do it for the +14% growth from users with disabilities, the reality is that they'll spend the effort on other things instead, and that disabled users would suffer through it because they needed to use the website.


Has anyone cracked the nut of making accessible 3D modeling software?

I haven't found anything in that vein and I'm curious if anyone's working on it.


I wouldn't say "no company", there do exist companies that are run by kind, thoughtful people. Never large companies granted, it seems the heart in something gets replaced by MBA grad nonsense past a certain size, but they very well do exist, and there's probably more of them than there are large companies that would just as soon put us all in a meat grinder if it helped their margins.

It's part of why I've really tried to stay employed with smallish businesses, because they're more human.


1/6 is 4/24 or 16.6%, I don't see why we have to be so pedantic.

That aside, the work of prioritizing accommodations is already done. Just read through the WCAG criteria, start with level A, then AA. They already determined what the most critical issues are to accommodate everyone who uses your app. I find it extremely callous to frame people's ability to use your product in terms of the revenue they have to offer you. A storefront has to build a ramp because everyone deserves basic human decency, not because they want wheelchair users to spend money inside.


I hope that this article can do some small work in changing that perception!

My apologies for the math inaccuracy is in the mail.


I think that pointing out there are easy (read: cheap) ways of baking in accessibility is a valuable thing Jacob, and, there's certainly wisdom in baking some of that in as part of your development process. Nothing's worse than pushing something into alpha for QA and immediately having it tossed back to the dev team because they have to rework something obvious. Big morale hit all around.

I wasn't really trying for pedantry, but, if the check's in the mail, thanks for 0.666% of a coffee ;)


There is a middle ground. There are Free widgets that you can install [0] that can add some accessibility features on top of any existing website/app. Not perfect but takes care of a lot of low hanging fruits.

https://userway.org/get/


I strongly discourage anyone to use such tools. More often than not they make the user experience even worse for users with disabilities, and they paint a huge target on your back that litigious users will take advantage of. The majority of a11y lawsuits target companies that use these overlays[1].

[1] https://www.accessibility.works/blog/avoid-accessibility-ove...


this is why i stick to gtk despite some very attractive looking new gui toolkits - gtk has solved its accessibility issues already, and the new toolkits mostly have it on the todo list.


Is it really that hard to type the word "accessibility" that we need to come up with a silly shorthand version of it?


It's in line with internationalization, shortened as 'I18n', while doing a cute play on world 'ally', not sure what the fuss is about.


Related: https://www.youtube.com/watch?v=j2BX4yw8Z4Y

This post reminded me of a video I found really cool from a couple years back where Masahiro Sakurai(creator of Kirby, Super Smash Bros) talked about the importance of accessibility options and how Japanese developers - at the time, were lagging behind their western counterparts. He shows examples from and references Sony/Naughty Dog's 'The Last of Us'.

I'm not sure if this is something that Sakurai influenced or not, though I have noticed larger Japanese AAA game studios adding more and more features in terms of accessibility in the last couple years from studios such as Ryu Go Gotoko(Yakuza series), Capcom(Resident Evil, Street Fighter), and FromSoft(Dark Souls, Elden Ring)


For software accessibility, I get the importance, but I personally have no idea where to start. Cross-platform windowing, graphics, fonts, and audio are already insanely difficult. How does one do cross-platform accessibility?


Every cross-platform GUI toolkit I've ever seen has accessibility support. You just need to learn how to use it.


But that required those platforms, such as Qt and Flutter, to figure it out in a bespoke manner. I am not aware of any existing cross-platform accessibility frameworks.


I think A11Y has been approached incorrectly. A11Y should be an additional standardized data feed that A11Y devices have to consume. Right now the requirements while helpful to everyone, also restrict the full potential of CSS/JS/the browser. With highly complex UIs it becomes almost impossible to be compliant. Right now any A11Y device has unique control over applications. In theory it seems like one could introduce a new product to market, claim a website does not support it, and then file a suit.


I was kinda shocked at how bad the UI framework broke down when the text size increased. I always thought iOS widgets seduced developers at the expense of users but here is the proof.


I like that this article was about solving the problem and not lecturing the person that they should have done it all up front before it was ever successful.


I think accessibility is probably one of the first things you should think about. Not because it is that important to you, but because when you decide to use this or that technology, this or that framework, accessability should be somewhere on the list of pros and cons for each choice.

Unless of course you're just experimenting and it seamlessly turns into a serious thing by accident, that is.



I have to fight with this sentence since 2010. It is often overseen and startet in the public sector


Is why you go native UI methods as much as possible(iOS) it comes with a lot of accessibility by default. Also fonts and colours if possible as they provide dynamic sizing and contrast.


Supporting speak text is especially difficult because you have to sequence the texts depending on your layouts.


Does anyone know a similarly good guide for testing / retro fitting a11y to a web app?

Asking for a friend…


everyone should be taking this stuff seriously. EU's accessibility act is set to be implemented in 2025 and the US congress also has a bill in the works that mandates greater accessibility across all governments.


I thought this would be a real story, not a hypothetical...


Many such cases exist; I’ve been the champion before


The universal good, and unappreciated reality, about accessibility is that it benefits everyone.

Wheelchair ramps aren’t limited to wheelchairs. I have above average hearing despite my advancing age and I choose to apply subtitles to digital movies about half the time because it provides me a better more enriching experience. Solving for color contrast limitations benefits everyone even when people have perfect vision.

There are no blind soldiers in the army yet all Army digital communications are required to conform to federal regulations that accounts for accessibility. The result is higher quality products with greater availability.

Usually the best argument opposing accessibility is that the authors/developers don’t know what they are doing. When they say accessibility is too expensive that’s what they really mean, and it’s not a good argument.


Developers often think about accessibility, or disabilities, as a stark binary. You're either completely "disabled" (whatever that means), or your not.

However reality is much more nuanced. We're all, at best, temporarily "abled". Whether you need glasses, or your fingers have raw chicken juice on them for cooking, or you started going to the gym and your muscles ache too much to walk, or have a newborn and can't turn the TV up too loud.

We all go through various levels of impairments over our lives that can make use of assistive technologies. "Accessibility" really is just usability, and building products for real people.


It is not universally true that accessibility efforts always benefit everyone. For example, implementing ARIA markup on HTML only benefits those using assistive technology.

If developers don't know how to make web services accessible, it IS expensive because it will take time to train them. Developer time is often a company's biggest expense.

Moreover, not every web product is simple to make accessible even by experts because eyes can process a lot of information very quickly across two dimensions, and UX designers often take this for granted. Translating complex experiences into comprehensible text-only applications often takes creativity and effort.

I'm not saying accessibility isn't important, but these kinds of arguments that it is always cheap and easy often actually make it harder for engineers to get the resources they need to implement it successfully.


> implementing ARIA markup on HTML only benefits those using assistive technology.

I'd argue that implementing ARIA markup properly also makes developers consider the general markup and structure of their product. Which in turn can lead to better UX in general, as it will lead to new insights. Yes, training developers does cost time so it is an expensive. That's often true for anything that will improve your product.

> Moreover, not every web product is simple to make accessible even by experts because eyes can process a lot of information very quickly across two dimensions, and UX designers often take this for granted.

Do you think that UX designers who take this for granted are good UX designers? I'd say that if they take it for granted that eyes can process more information, that they might need a refresher course on UX. Designs that lean heavily on visually cues and have a lot of them generally tend to be too complex and cause a visual overload.

A bonus benefit of ARIA markup is that if you have any automated UI tests they benefit from good ARIA markup and generally tend to be a bit more stable than tests using regular classes and IDs.


When I said "UX designers often take this from granted", what I meant was "literally every single UX designer I have ever worked with professionally has taken this for granted".


> ARIA markup on HTML only benefits those using assistive technology.

This specific case: ARIA labels also help search engine indexers find pages and extract information within pages more effectively. Excluding contemporary concerns about search engines intercepting advertising revenue by doing this, it is undoubtedly better for the able-sighted and blind user alike to have the option of finding an answer by visiting one page rather than two.

More philosophically: if accessibility makes things easier for people with a disability, that means it is easier for someone emulating a disability. For instance, whenever I'm holding something in one hand, I'm effectively emulating the abilities of a physically one-handed person, so if you make a design that works for one-handed people, you're also giving everyone else the extra opportunity to multitask.

> I'm not saying accessibility isn't important, but these kinds of arguments that it is always cheap and easy often actually make it harder for engineers to get the resources they need to implement it successfully.

Parent poster wasn't saying it is cheap and neither would I, but whilst the incidental benefit of accessibility improvements to able-bodied people might not seem obvious, it always exists.


Another thing to consider is that some design choices seem to be in contention whether they're accessible or not. Eg dark mode makes it harder to read with astigmatism and creates visual hallucinations afterwards (it looks as though you're looking through blinds). Others swear that light mode hurts their eyes.


I'm in that second group. I have an inherited, untreatable retinal disease that causes photophobia (light sensitivity) and contrast issues. When contrast is high enough for me to read text in light mode, total light emission from the screen is just way, way too high. When I can't wrangle something into dark mode, I usually wear sunglasses at my computer desk. I know of someone (my sister's friend) whose retinal disease makes her so light sensitive that she cannot comfortably look up at the moon when she's outside on a clear night with a full moon.

What accessibility demands all users have is neither light mode nor dark mode, but the ability to easily choose between them (and maybe other color or contrast options).

This is why accessibility is closely tied to hackability and customizability. There isn't one solution that works for everybody. Accessibility is about giving users flexibility and control in the way they access, consume, and produce content, etc., so that they can do so in ways that meet their specific needs. It's about user agency in the same sense as ye olde ’user agent'— and that's why it's something that should resonate with every hacker.


I do think training developers and designers on accessibility is a core part of having them ship professional quality work. Even if product people and designers aren't thinking about it, I think it's reasonable to expect competent front-end developers to understand how to implement designs to some professional standard that doesn't make the page unusable for people with disabilities and expose the company to lawsuits.

On the other hand I don't think the business really knows/cares what HTML you use, they just can reasonably trust people to implement stuff in the "right" way, which 90% of time is identify the correct HTML to represent the nature and structure of the design and build out from there. You'd expect things to "just work" when you are paying for front-end specialists.


I think the argument is more along the lines of "if you look after the pennies, the pounds look after themselves," not the slight straw man of "every single little accessibility improvement benefits every single user." If you have accessibilty at the heart of what you're doing then it will almost inevitably improve the product for everyone to some extent. My argument would be stronger, in that I think there's a very high probability that it will improve the product significantly for a large proportion of your audience.


Accessibility is not always cheap and easy. I am only saying it isn’t more expensive if you know what you are doing.

In my 15 year career as a JavaScript developer all the biggest failures were directly attributed to poor training and leadership qualifying low standards. At some point people would do themselves a huge service by admitting they are too lazy/inept to train their staff and they deliver shit as a result. I got tired of all the weak excuses so now I do something else for a living.


If the problem is needing more competent people, that tends to be an expensive problem to solve because competent people generally cost more to hire.


While that sounds logical it’s completely false in practice. Competent people need jobs just as much as incompetent people but it’s challenging to distinguish the two. Most employers are just happy to put bodies in seats and will adjust expectations accordingly.


> When they say accessibility is too expensive that’s what they really mean, and it’s not a good argument.

Disabilities can be conflicting which makes catering to all difficult.

Consider, for example, that someone who is deaf will usually use a flashing light to wake them up. However, if you are someone that's prone to seizures, that flashing light is now something that can trigger a medical emergency.

Now consider how fire alarms typically work, big flashing lights and loud sirens.

With accessibility you kind of can't please everyone. Not saying you shouldn't try, but there needs to be some level of "best effort" applied.


Notably, none of this matters if you aren't an entitled jerk and make accessibility features an option!!

There's been a new trend in modern videogames to show you a screen with a few accessibility options before the game even finishes starting. I am not disabled, and yet often feel like I benefit from some options or others.

Stop pretending you know better than your customers/users/visitors. Let them make the choices that make your product best for their usages. Stop treating users like children and we stop having these kinds of problems.


Hey bro, it's unnecessary to call people jerks. Assume they're ignorant at worse, or really incapable of juggling all plates. Running a small software shop, especially a startup, is extremelly hard and stressful. You're constantly struggling to survive financially. To a lot of folks, this alone already takes up everything they have to give.


I say this with full understanding of the situation you are describing: ignoring accessibility is not a reasonable cost saving measure, to a degree is immoral, and ignores that almost everyone will be temporary or permanently in need of accessibility at some point.

Not every object needs accessibility - a flashlight might not need braille - but this should be the absolute exception that proves a business is viable in its delivery.


I think it’s only immoral to ignore it if you know it’s an issue in the first place. I was never taught about it in undergrad. I knew that blind people existed, but hadn’t been around a blind person using a computer to appreciate what a pain in the ass it could be.

Whether it’s from disregard or ignorance, the end result for users is the same: lack of accessibility. I don’t think the well meaning but ignorant person is bad, though. I’m sure I’ve inadvertently made software that was challenging in ways I’d never have anticipated. “Click Cancel in the next 10 seconds to stop erasing your hard drive. 9. 8.” (Guy with ALS desperately tries to move the cursor over to the Cancel button.)

There are so many ways a person’s abilities can be different that the norm. Someone can be quite empathetic and still miss a lot of things they could be doing better.


It's not about saving costs. When you don't know how you're gonna pay next month salaries and bills, you don't have mental capacity to think about screen readers, font sizes or whatever


Agreed, despite your justifications being cost-driven. A business is supposed to deliver. Accessibility is part of that. Much like we wouldn't accept rotten food at a restaurant in whole or in part, we shouldn't be okay with leaving out accessibility to at least some standard. If a restaurant can't deliver and serves rotten food, we should be okay with it going out of business. This holds for software companies that view accessibility as technical debt/#todo items.

Especially web accessibility standards are so tenplatizable and test driven now, there really is no excuse.


Your comparison is flawed, in my opinion.

What you're saying is equivalent to a restaurant owner who doesn't serve meals adequate to allergic people is a jerk and should go out of business.


I disagree from a conceptual/philosophical perspective (broken accessibility is bad delivery, not just occasional mishap/edge case for some small set of customer) and from a practical perspective. It's not an occasional customer, it's a huge chunk of the marketplace. Here are some stats: https://themeisle.com/blog/web-accessibility-statistics/

I don't think software shop owners that are ignorant of or ignoring accessibility are necessarily jerks. Before being informed, they are transgressive to good sense; after being informed, immoral. How they act directly towards someone is what defines whether they are a jerk or not, and that, in my mind, is not really connected to the conversation.


As someone who's legally blind, this has always bugged me. It's like the trend of "dark mode", I've always found it easier to see white text on a black background but it seems like a relatively recent trend that it's becoming normal for apps/sites to actually be designed with that in mind.

Also as a slight tangent, public transportation! The US being so car dependant really hinders my independence, and better public transportation would benefit everyone (except car manufacturers, I suppose)


I don't get the last part of your comment. They can know what they are doing but the costs might be a problem. There are added costs to supporting accessibility, that's just a fact. No level of competency would make adding accessibility features not more expensive. I can bet you that whatever code you've ever written isn't fully accessible. That's impossible, as accessibility is a spectrum.

The question is which features are a must and a bare minimum and which of them are not. If your job doesn't care about accessibility (which is bad, don't get me wrong) and doesn't pay you for adding say, colorblindness support or TTS, that has nothing to do with being competent.

Accessibility is also in huge part related to cultural context. Sure, blind people and people in wheelchairs exist everywhere, but as an example where I'm from literacy is not universal. People can read for the most part but some have a very hard time reading, and TTS doesn't solve the issue in my experience. Does your website support that? Does it support a lot of visual elements/videos instead of text? Or a simplified version of the language? Does it make you incompetent, and does it make sense to add a completely different UI mode for them? That's what I mean with it being a spectrum.


In what world is cost not a good argument?

In fact, assume cost is not a good argument – then why should it even be legal to compile programs that aren’t universally accessible? It’s always beneficial, and just a matter of cost after all.

Or are you perhaps being completely one-sided and unreasonable?


“Cost is not a good argument [to not do it]” is the actual line taken with the ADA for public accommodations (which includes most private businesses). There is a reasonable accommodation rule as to how an accessibility function may be implemented, but not if, and the rule scales with the resources of the provider.

The result of which is, in the USA, a person in a wheelchair can enter nearly every business, use many public restrooms, and generally participate in life on their own.


Right, but the ADA is not held accountable to the cost. They get their federal budget chunk whether or not Main St, USA can afford to stay in business.

They may not be the best authority on the question of whether cost is a good enough argument.


ADA unfortunately doesn't have the authority to decide what constitutes a good argument or not. That being said, they do have the authority to enforce rules that exist in spite of the excellent arguments against them.


You're shoving the strawman down the slippery slope. That is not an honest/genuine question.



I don't get where the strawman is, the parent comment said:

>Usually the best argument opposing accessibility is that the authors/developers don’t know what they are doing. When they say accessibility is too expensive that’s what they really mean, and it’s not a good argument.

There's no slippery slope either. If lack of accessibility is just a matter of incompetence and not cost, then there's no downside or cost to adding it everywhere. I don't get the point of not acknowledging that there are costs to accessibility. I get that it's not a good justification in most cases, but there's no benefit in denying that it has costs too. It just discredits the rest of the argument imo.


> The universal good, and unappreciated reality, about accessibility is that it benefits everyone.

I think there are many cases where it benefits everyone, but probably many more cases where it has no positive OR negative effect for the median user. It doesn't improve the UX in a way that makes a difference to them.

The question in this, as in all things, is whether enough of your users will benefit from accessibility improvements to justify the marginal cost of implementing them versus not implementing them. And, at a more granular level, which improvements can be made to get the most benefit for the least cost.

You could probably more accurately say that accessibility never hurts anyone. But even that might get an objection, because there is a cost to implementing it, compared to working on new features, or polishing old ones.


That’s your experience/opinion but it’s a step too far to claim ADA reqs should be applied universally and are an unalloyed good. For instance, some badly needed housing has routinely been denied because it’s too often impossible to make, say, accessory dwelling units wheelchair friendly. These ADA requirements thus limit supply, in turn raising rents, and causing real harm to younger, poorer people who are without affordable homes. Your example about contrast correction reeks of entitlement as well. I am also older, and bought a pair of reading glasses instead of expecting to push the cost onto society as a whole.


As someone with an architecture, building science and accessibility background I challenge that.

Done well, building new affordable housing with appropriate accessibility does nothing to cut into profit margins for builders. The tax breaks and other pubic dollars almost always deliver more than the cost of ensuring common areas are accessible and a few units have slightly varied doors and bathrooms (mostly.)

That builders don't want to build more affordable housing is its own problem, but not because of ADA requirements. In general, the ADA doesn't say much about low income housing except explicitly government owned and managed housing, BTW. The ADA is overwhelmingly concerned with public accommodations (businesses open to the public) and government and public spaces, not private home construction.)

It's almost exclusively the lower profit margins for price capped construction and not the minimal a11y requirements easily covered for anyone taking public money and who is building affordable housing and not taking government money, that are the root of our affordable housing shortage.

Accessibility is an unalloyed good and your bogus attempt at providing an alternative example is easily shot down. Pick an example you actually know something about and try again.


> Solving for color contrast limitations benefits everyone even when people have perfect vision.

I saw another IRL example of this in yet another football match over the weekend where one team was in a blue jersey with the other team in a black jersey. I'm not even color blind, yet it was hard for me to immediately distinguish players. I really miss the old days of home team in their club's color, with the away team in a predominately white jersey.

So not even remotely UI/front-end related to a tech forum, but color contrast is a basic way humans separate things. It is not nice to mess with that for normal things.


Am I the only person who finds that subtitles often detract from the experience rather than enhance? I mostly watch either comedy shows or quiz shows, and am a fast reader. I find that the subtitles often come up too early and mess with the timing. Bad for the comedy; inexcusable for the quizzes.


What I dislike about all the comments here saying something similar is that it suggests that empathy only go in one direction. I sometimes run into situations where society isn’t set up for my needs in a particular way (for personal reasons, I won’t go into specific details). But my reaction isn’t “society should do whatever it takes to remove this issue I’m experiencing, no matter the cost.” I know that doing more to improve my personal situation is going to insure a cost that means that others are going to have less of something. None of this is free.

Where that line gets drawn is open for debate, but a lot of comments seem to be livid that people are suggesting the line should be drawn somewhere. Life is about compromise, and trying to do the most with finite resources. Understanding that tradeoffs exist is a basic requirement for creating a functioning society.


> But my reaction isn’t “society should do whatever it takes to remove this issue I’m experiencing, no matter the cost.”

I think few people have that reaction, and it's invidious to treat the statement "everyone should always think about accessibility" (true, for a properly charitably interpretation of "everyone" and "always") as equivalent to the statement "everyone's product should be equally accessible to everyone" (false and impossible).

The problem usually isn't that a reasonable, good-faith effort at accessibility isn't a perfect solution, but rather that no effort at accessibility is made at all, and that it's often regarded as an acceptable response to tell people that acknowledging their existence is too inconvenient. That's what's outrageous, and it should be made as universally socially unacceptable as any other societal taboo.


I had some big life events bring a lot of this to my attention this year. I've always cared about accessibility, but never had to deal with it personally before[0]. Luckily I'm not in charge of anything that has real impact here. There are just so many little things that you might think are actually helpful but aren't. This can be something like the slope of a ramp, making it essentially useless for a wheelchair. You can tell that this was made by someone who referenced a manual which was created by some bureaucrat and there was probably no actual handicapped person involved. Or similarly gaps on the subway, she'd have to roll herself, get stuck, and wait for someone to help. OR because she _can_ walk, get out of her wheel chair, push it over the gap, and then sit back down, with everyone looking at her thinking she's a fraud. There's no winning. Sometimes to get to elevators we have to walk/roll past several flights of stairs...

Even a lot of phone UXs. The one that really infuriates me is when apps still zoom by sliding your finger up and down on the screen. It sucks as a normal person, it's impossible as a disabled person.

But the things we've noticed, is that essentially the things she struggles with are no different than what older people struggle with. Reduced grip, reduced hand mobility, getting tired more easily, difficulties walking, etc. She's still recovering and we're hopeful she'll keep increasing mobility, but it still gave us insight we'd never have seen without it.

Here's the thing, the world is just fucking complex and nuanced. We're never upset when we hit a piece of friction where we can tell someone was thinking but that the implementation was just incorrect, or where environments disrupt the implementation, or just when things are difficult to accommodate. I have a very "fit it" mindset (and used to be a traditional engineer, so do try to too).[1]

And here's the thing we've also found. Anything that helps us helps the elderly. Anything that helps us ALSO HELPS NORMAL PEOPLE. Most of the issues -- and certainly the most difficult to overcome -- look like they were implemented that way to save a few cents or because they were just rushing. Move fast and break things is a great strategy for getting to learn how something works and get prototypes, but it is not a good strategy for even moderately mature products. So move fast, break things, but make sure you come back and clean up and fix things. It is easy to push off because you're trying to get to the next thing, but I promise you that actually going back and fixing things will make your whole product develop faster. Think about how much of your time is spent rewriting your coworkers' code, or fixing things that should have never been done, or hacking around things (compounding the issue) because you can't directly access the thing you need. A significant amount of this is also reduced. Having a different mentality is needed to think about accessibility but if you focus on thinking deeply and about nuances of issues you'll automatically capture a lot of things that help disabled people too! e.g. the gap in the rail can be motivated for many reasons: things falling in between, people pushing strollers over, rolling bags, etc. If you had thought clearly about any of these issues you would have also helped the person in the wheelchair without having ever thought about them. Making an app more usable for the visually impaired helps normal people see from farther away, when they're sleepy, or hell, even drunk. So you don't need to spend hours thinking about every single possible disability, just think about the nuance of things and think about your tech illiterate family members. If you remember how complex the world is and just keep that in mind (you don't have to address everything!) you will be going above and beyond. The bar is low.

[0] Long story short, my partner had some amputations (we're only a tad over 30) because of a freak accident. Lost a thumb and partial movement in that index finger. Also has foot damage and so walking is hard. But other than that, she looks absolutely normal and strangely, this is problematic. She's been shoved by old people when she's trying to sit on the subway because they think she's just being a lazy young person. Or just realizing how many stairs there are... especially outside the US.

[1] On the other hand, we also get very excited when we see well implemented things. And the joy we get to see how people thought things through, even if it is something that is more helpful to disabilities we (she) doesn't face. Disabled people are well aware that the world isn't made for them, and most people aren't expecting the world to bend to fit them, but of course every person is frustrated when they experience unique frictions (especially when you're going through the shock of change).


It's amazing how many people in this thread are seriously suggesting that these a11y features are not important. Do HN readers not understand that someday they will grow old, and their eyesight will fail, and they will find themselves increasing the font size on their devices?


I used to bring up accessibility concerns quite a lot on HN. I have stopped however, because it is always the same story. It doesn't seem to matter how nice I am about it, or how accommodating I am towards people just hacking. I never want to stop people's creative spirit. Ever. But I'm one of those people who uses a screen reader. If your app does not work with them, it will not work for me. The amount of weirdly hostile responses I get really puts me off commenting here, so I just don't do it anymore. That doesn't make the issue go away, but it also just does not help. This isn't entirely unique to HN. It is very easy to dismiss accessibility concerns if you're not affected by them, or don't have anyone close that is. I try not to take it personally, but when many people chime in with comments like it's OK that you can't use this app, you're a minority, your burdens aren't anybody elses, and don't listen to them and go make a cool thing without regard, (not an exaggeration it's all in my comment history) it's a bit hard not to be put off by it. If I was able to change one or two minds with my little comments, then I'm very happy about that because maybe it means I get to use your next cool app too. I'm just not going to look for it here, and if I find an accessibility flaw, HN will definitely not be where I comment about it. I've gotten some genuinely good responses too. Some of you also tried to defend my point of view. Like Sam. And I'm very grateful for that. Sadly it's the same fight every single time, and I'm a little bit exhausted by it.


This is what gets me -- almost everyone who reaches old age will eventually be disabled. Some folks just get there faster.


> Some folks just get there faster.

From my observation, most folks get there temporarily or faster in their own specific way.

I have friends who lost their hearing early for a variety of reasons.

There are lots of ways to have imperfect eyesight, or lose it temporarily. You can lose your glasses or not be able to wear contact lenses for a while.

Lots of folks with laser surgery eventually regress. Also the surgery itself has visual side-effects.


Look, accessibility* is great and important to many people, and if you can afford to prioritize it early on in your product development, that's great - but it is not productive to treat commercial products like critical infrastructure, ignore the costs of implementing accessibility features (common tooling and standardization make it much easier, thankfully), and exaggerate the benefits.

The article starts off with the over-cited and misunderstood 1/6 figure, which comes from the WHO's claim that 1/6 of the world suffers from a "significant disability". I couldn't find a breakdown of what the WHO considers a significant disability in the first place, but the CDC in the US lists the following six disability categories in one of its studies: hearing, vision, cognitive, mobility, self-care, and independent living. How many of these are actually relevant in software? I have never once heard calls to make software more accessible to people with cognitive disabilities, and mobility/self-care/independent living categories are simply irrelevant to the overwhelming majority of software use cases. So no, you're not growing your audience by 1/6 by implementing screen-reader support for your website. If your product is growing, you're better off focusing on internationalization (which, technically, is a form of accessibility, but obviously not the subject of the article).

* Do we really need to abbreviate "accessibility" everywhere? It's just nine more characters than "a11y" and - speaking of accessibility - is more readable!


Disability accommodations tend to also strongly benefit everyone else. I know this isn't a code thing, but the most useful one I can think of is curb cuts.

All of this affects all of us.


Speaking of curb cuts, recently in my town, they ripped up the sidewalks with already existing curb cuts, and added a new yellow pad with raised bumps in addition to new curbs (with the cuts). I was going to ask what this was for, but a quick search indicates that it is likely for blind users to feel the end of the sidewalk with a cane.

https://www.simplemost.com/sidewalk-bumps/?utm_partner=gray_...


Those also have good traction. On a winter morning before anyone gets around to shoveling, those pads might be the only good surfaces on my entire commute. The street corner where cars are turning is a pretty good spot not to be slipping.


There is also a code angle. You can automate around graphical programs easier thanks to accessibility APIs.


I personally like closed captions and subtitles

(Though I don't understand the tech and how converting media frequently loses this)


Not sure why this comment is being downvoted. Thinking about accessibility is likely to positively impact your product or service's user experience. Not everyone has low/no vision or uses a switch device, but keeping those users in mind will allow abled folks to benefit from your design choices as well. Have you ever used a UI and complained that elements provide ideal contrast, or that you're able to use your keyboard for interactions?


> readers not understand that someday they will grow old, and their eyesight will fail, and they will find themselves increasing the font size on their devices?

let's reverse that, did you as a youth give much thought to what the olds went through on a daily? obviously, depending on age, the olds might not have been using computers to the extent we are today, but it still holds. the hubris of youth is part of growing up. until you personally experience something, it is hard to fully grok it. sure, we can know somethings without experience like not drinking bleach is a good idea. there are other things that are just so outside of the normal experience, it is hard to fathom. for a lighter example, have you ever tried walking in a pair of high heels even if not stilettos? it's painful, and i was on platform heels. i would fall down in 3 seconds flat with stilettos. after several hours, i was complaining about my feet hurting in the shoes. so after walking a mile in another person's shoes, I will never be frustrated if someone in my group needs a break from their shoes during a long night out ever again.


Its not that they arent important when looked at by itself, but it just isnt as important as other things. Nobody cares if a car has poor ui if it doesnt actually work. Get it to run first, then make the ui nice. IIRC theres a phrase for this: make it work, make it right, make it fast.


Except you're not getting it to run first any more than the restaurant that opens with a "no blacks" sign got it to run first for whites. You're discriminating, excluding people based on things they have no control over because you couldn't get over your own self absorbed privilege not unlike operators of diners or busses or taxis in the US South 65 years ago.


No, they don't understand. This isn't a forum of hackers any more, it's a forum of get rich quick capitalists trying to make bank on the latest popular trade. Accessibility is for losers, that's how sociopaths operate and Silicon Valley is a nest of them.


Almost nobody is suggesting this and you can reply to whoever you think is wrong about something. It says 'sneer' in this thing but those are the values of 'sneer' that include 'harangue':

Please don't sneer, including at the rest of the community.

https://news.ycombinator.com/newsguidelines.html


Isn't it quite ironic to use a numeronym like a11y for the word accessibility?


Amusingly: you'd think, but by being a uniquely new "word", it's actually far more discoverable.

Searching for "a11y" will find you results for accessibility specifically as it relates to web/app technologies, whereas searching for "accessibility" will find you results relating to everything. Of course that only works if everyone agrees to use it, but thankfully, everyone agreed to use it.


It reminds me of the MAD Magazine parody claiming that "Hooked on Phonics" used the phone number "1-800-ABCDEFG" as a means to filter out the really difficult to teach people.


Wasn't it chosen because it reads "ally" in leetspeak? Agree it's not incredibly accessible.


That's probably a factor in its popularity, but it's in the category of "numerical contractions" like i18n [internationalization] or l10n [localization]. Numerical contractions were already very popular in the space of "making things work correctly for more people" [accessibility, localization, internationalization...].


Sometimes, when I read these contractions too much, I’m starting to think I should short my first name as “T1m”.


Except that they don't really 'work correctly' in screen readers. They get read out rather awkwardly.


No, it is just a numeronym[0], just like K8s for Kubernetes, g11n for globalisation, i18n for internationalisation, or L10n for localisation.

[0] https://en.wikipedia.org/wiki/Numeronym


I know that, but I thought the double meaning (numeronym reading like the word "ally") contributed to its success.


I've honestly always wondered if that might be the joke.


I couldn't get past the over usage of a11y


That's fair, I couldn't stomach typing the full word out an extra 46 times


f6x t3s


You'll need to explain this one to me!


fortysix times


Thank you


>>>>> We’re going to look at a dead simple, cat-themed, companion app I created especially for this article. <<<<<

Reading that sent me a chill. So now people are creating new app for each article! Reading further, I understand why it had to be done for this article, but just imagine. Now a days even one-off events have dedicated APP for visitors management. What next, one for each booth of the event.


I’ve done it before where I have a big sample project for multiple articles, but tbh it’s a lot easier for me as well to keep everything independent




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: