Author

Aaron Gustafson is a white man with long red-brown hair and a short red & silver beard. He wears glasses and is pictured in a "newsie" hat and a flannel shirt.

Aaron Gustafson

As would be expected from a former manager of the Web Standards Project, Aaron Gustafson has been working to make the web more equitable for nearly three decades now. He is a Principal Accessibility Innovation Strategist at Microsoft. In a prior role, he worked on the Edge browser team with a focus on Progressive Web Apps and developer-focused user experiences. He penned the seminal book on progressive enhancement, Adaptive Web Design, and has been known to have some opinions, many of which he shares at aaron-gustafson.com.

Also from this author

Opportunities for AI in Accessibility

Microsoft's Accessibility Innovation Strategist discusses AI's potential for accessibility, emphasizing the need for responsible use and diverse teams to mitigate harm and promote inclusion for people with disabilities.

Request with Intent: Caching Strategies in the Age of PWAs

Caching media files, especially images, seems like an obvious way to improve performance, but should we? To provide a more performant UX without abusing users’s network connections or hard drives, Aaron Gustafson puts a spin on classic best practices, experiments with media caching strategies, and shares smart Cache API tricks.

From URL to Interactive

When we think about it, our whole industry depends on our faith in a handful of "black boxes" few of us fully understand: browsers. We hand over our HTML, CSS, JavaScript, cross our fingers, and hope they render the experience we have in our heads. But knowing how they work can really get you out of a jam when things go wrong. That's why we've assembled a handful of incredibly knowledgeable authors to take us under the hood in this four-part series. Join us on this trip across the web, into the often foggy valley between code and experience.

Conversational Semantics

Semantic markup has always mattered, but with voice interfaces rapidly becoming the norm, it now matters more than ever. Aaron Gustafson shows us how simple HTML tags can have a huge impact with voice interfaces.

The Illusion of Control in Web Design

We think of our job as controlling the user’s experience. But the reality is, we control far less than we imagine. And that’s by design: it’s how the web, and the networks that serve it, are supposed to work. ALA’s Aaron Gustafson shows the many ways our medium conspires to break our carefully crafted experiences, and shares solid advice on what we can do about it.

The Story of CSS Grid, from Its Creators

Designers have used grids for centuries. And after more than 20 years of waiting, they are finally here for the browser. This is the story of CSS Grid. It took a lot of people in the right place and at the right time to make it happen.

Yes, That Web Project Should Be a PWA

A Progressive Web App (PWA) is a website with special powers. Despite what you might have heard, most websites—and, more importantly, their readers—can benefit from becoming PWAs. And it’s so easy! New A List Apart editor-in-chief Aaron Gustafson explains.

Interaction Is an Enhancement

The web has an endless supply of single-point-of-failure horror stories, where sites serve up blank and blocked pages to dumbstruck users. But the fault is not with JavaScript and other technologies—it’s with how we use them, banking on them alone instead of diversifying how we deliver our experiences. In this excerpt from Chapter 5 of Adaptive Web Design, Second Edition, Aaron Gustafson explains why understanding and working within limitations is the key to building resilient websites.

Now You See Me

Showing and hiding content using JavaScript-based page manipulations for tabbed interfaces, collapsible elements, and accordion widgets is a common development pattern. Learn how your choice of hiding mechanism can influence content accessibility in assistive technologies like screen readers in an excerpt from Adaptive Web Design.

Stop Forking with CSS3

You may remember when JavaScript was a dark art. It earned that reputation because, in order to do anything with even the teensiest bit of cross-browser consistency, you had to fork your code for various versions of Netscape and IE. Today, thanks to web standards advocacy and diligent JavaScript library authors, our code is relatively fork-free. Alas, in our rush to use some of the features available in CSS3, we've fallen off the wagon. Enter Aaron Gustafson’s eCSStender, a JavaScript library that lets you use CSS3 properties and selectors while keeping your code fork- and hack-free.

Progressive Enhancement with JavaScript

Our introductory series on progressive enhancement and the ways it can be implemented concludes with a look at the mindset needed to implement PE in JavaScript, and a survey of best practices for doing so.

Progressive Enhancement with CSS

Organize multiple style sheets to simplify the creation of environmentally appropriate visual experiences. Support older browsers while keeping your CSS hack-free. Use generated content to provide visual enhancements, and seize the power of advanced selectors to create wondrous (or amusing) effects. Part two of a series.

Understanding Progressive Enhancement

Steven Champeon turned web development upside down, and created an instant best practice of standards-based design, when he introduced the notion of designing for content and experience instead of browsers. In part one of a series, ALA’s Gustafson refreshes us on the principles of progressive enhancement. Upcoming installments will translate the philosophy into sophisticated, future-focused design and code.

Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8

For seven years, the DOCTYPE switch has stood designers and developers in good stead as a toggle between standards mode and quirks mode. But when IE7, with its greatly improved support for standards, "broke the web," it revealed the flaw in our toggle. The quest was on to find a more reliable ensurer of forward compatibility. Is version targeting the answer?

If I Told You You Had a Beautiful Figure…

Laying out images consistently within a design is difficult, especially when you hand the keys over to someone else to fill in the content. ALA Staffer Aaron Gustafson demonstrates how a little clever JavaScript goes a long way toward resolving inconsistencies in image layout.

Ruining the User Experience

Anticipating your users' needs is the key to making a good impression; it's the little things that matter most. ALA technical editor Aaron Gustafson explains why progressive enhancement means good service.

Getting Started with Ajax

In this excerpt from O'Reilly's Web Design in a Nutshell, 3rd Edition, ALA's production editor would like to take you aside for a little chat about the birds and the bees. Or maybe about Ajax.

Improving Link Display for Print

Some time ago, Eric Meyer showed you how to add URIs to the printed version of your pages using print styles. Sometimes, though, too many inline URIs can make pages hard to read. Aaron Gustafson comes to the rescue with a JavaScript add-on that'll have you loving your linkage again.

Let Them Eat Cake

A growing debate pits accessibility against usability. From our point of view, it’s like pitting peanut butter against jelly. This article helps you create a page that is both usable and accessible, saving readers the trouble of scrolling with a little help from JavaScript and the Document Object Model.