I remember going as a kid with my parents when they would pick out a new car. My parents didn’t want to spend a ton so we usually looked for something basic that would work.
The car, of course, had to have certain features. A way to steer. Brakes. An engine. Doors. These were things all cars had and all cars had to have if anyone was going to ever consider purchasing them.
From there you decided on the bells and whistles. Did you want power windows and power locks? Did you want a built-in CD player or would a cassette player and radio work just as well? Did you want a sunroof?
We often did without most of those add-ons. They were the extras. They were what drove the cost of a car higher and higher. They were nice to have, but a car would work without these things.
I worry that we have it backwards on the web. We ask questions like: How much does accessibility cost? How much does progressive enhancement cost? Meanwhile we’re shipping sites that support only the most “modern browsers”. We ship sites built specifically to achieve some fancy effect.
Then we say that we’ll get to accessibility later. We’ll make it faster later. We’ll worry about those less-capable devices later. And that’s in the best of cases. More often those “features” are not acknowledged at all. If it’s not a priority at the beginning of a project, why would we expect it to be a priority later?
Yes, there’s a cost associated with building things well (there’s also a cost of not building things well). Building something that is stable and robust always costs more than building something that is brittle and fragile.
The problem is not that there is a cost involved in building something that works well in different contexts than our own. The problem is that we’re treating that as an option instead of a given part of what it means to build for the web.
How did access get to be optional?