The Best of the Internets

Reframing Accessibility for the Web

Lots of great stuff here from Anne Gibson:

We need to change the way we talk about accessibility. Most people are taught that “web accessibility means that people with disabilities can use the Web”—the official definition from the W3C. This is wrong. Web accessibility means that people can use the web.

Not “people with disabilities.” Not “blind people and deaf people.” Not “people who have cognitive disabilities” or “men who are color blind” or “people with motor disabilities.” People. People who are using the web. People who are using what you’re building.

We need to stop invoking the internal stereotypes we have about who is disabled.

Anne goes on to offer a lot of practical and helpful advice around how to change the way you think about accessibility and how to act upon that change. You should definitely read it.

For similar content on this site, see my keynote from A11yQC and my post on egalitarianism.

You’re Missing the Point of Server-Side Rendered JavaScript Apps

I agree with Tom Dale. Yup, you read that right: I agree with Tom Dale. Well, he finally said something sensible:

Say what you will about server-rendered apps, the performance of your server is much more predictable, and more easily upgraded, than the many, many different device configurations of your users. Server-rendering is important to ensure that users who are not on the latest-and-greatest can see your content immediately when they click a link.

You might remember Tom as the guy who declared progressive enhancement dead in late 2013. He’s apparently seen the light and has been hard at work to get Ember ready for server side rendering.

I’m shocked, but glad he finally came around. Progressive enhancement FTW!

Power of the Platforms

This is a great post from Simon St. Laurent on how isolated Web “platforms” have come and go while the “tangled mess” that is HTML, CSS, and JavaScript soldiers on. It’s a must read.

The web bends with the wind, supporting incredibly diverse use cases across a wide variety of environments. Your code should, too.

Emulating Failure

Another beautifully-eloquent post about the potential perils of Web Components:

HTML has a problem. As implemented in browsers many interactive elements cannot be styled as desired by web developers, or developers as directed by designers, marketing or any of the numerous others whose wishes code cutters must abide by.

Now in 2015 we have web components re-inventing native HTML buttons, radio buttons and checkboxes, for relief from the scourge of divitis, perpetrated upon us by the as shipped inability to style a native HTML element as desired.

Is it just me, or are new web UI technologies continuing to try to solve the wrong problems?

Now, the Shadow DOM (and associated pseudo-elements) should allow us to control the style of these elements. The deeper problem is functionality. Take the datalist for predictive typing. What if you want fuzzy search instead of initial search when someone types. That’s not supported. This is where Web Components get interesting.

Accessible Timeout Notifications

I’m not generally a fan of session timeouts, but if you have to do it, Léonie Watson has outlined a pretty good route to go. My only nit might be using a role of “alert” or “alertdialog” instead of “group”, but that’s because it would trigger an audible chime and get read by assistive tech. But that’s pretty minor.

Pay particular attention to the keyboard focus stuff too.


Great post from Jeremy on Web components. I couldn’t agree more:

I was looking forward to getting really stuck into Web Components and figuring out ways of creating powerful little extensions that I could start using now. But if Web Components turn out to be an all-or-nothing technology—a “platform”, if you will—then I will not only not be using them, I’ll be actively arguing against their use.

Thoughts on Pagination

Pagination is pretty arbitrary. Could it be better? Probably.

For example, take your average photo site that displays the content in a reverse chronological order: that is, newest to oldest. Let’s say your friend has posted 2000 photos to this site. The site shows the viewer 10 things per page. With our prolific user, this gives us 200 pages.

Going to the middle of this content takes us to page 100. What does this mean, beyond we’re at the middle? Not much.