Skip to content

Back to the catalog

A crocheted doll of Aaron Gustafson beside his website address.aaron-gustafson.com
jsonEnglish

Aaron Gustafson:

Aaron Gustafson · aaron-gustafson.com · English

Hi there, I’m Aaron and I work on the Web.

json

Open the feed

https://www.aaron-gustafson.com/feeds/all.json

Last post
Nov 11, 2026
Posts in 24 h · 7 days · 30 days
0 · 2 · 10
Our last check
Answering
Served from
Brazil
Site title
Hi!
Text score
4,828
Format
json

Posts

What our queue read from this feed. Open one to read it here, or go to the site that published it.

  1. ✍🏻 Build faster without leaving accessibility behind
    Nov 11, 2026 · original
    When accessibility questions come up, not every team has someone who can help answer them. Without that resource, teams can miss how their decisions affect people with disabilities—and leave barriers in place until someone encounters them. AI-assisted development makes that gap more pressing. If the tools helping us build software don’t account for how people with disabilities use technology, they can repeat those mistakes across more interfaces, faster. We need to bring that understanding into the work while decisions are still being made. Today, my team is open sourcing the Accessibility Considerations Toolkit (ACT) to help close that gap.
  2. ✍🏻 System Colors Need to Work Together
    Nov 9, 2026 · original
    While testing out a recent web component , I discovered the demo I’d built made active buttons totally inaccessible, but only on Android in dark mode. I was baffled because I intentionally use system colors in all my web components and their demos. In the browsers I’d been testing, the pair looked great in both dark and light themes, but over on my phone it was a different story. In Chrome’s dark mode on Android, HighlightText is a mid-tone grey. Highlight is a mid-tone blue. The contrast was abysmal—a mere 1.98:1, failing all five contrast thresholds in the Web Content Accessibility Guidelines (WCAG). I wish I could say it was the first time I’d stumbled on this kind of issue. A week or so earlier, a user reported similar trouble in my tabbed interface demo with Windows in forced-color mode . I’d mistakenly thought forced-color mode was the primary issue. It wasn’t. In both cases, I’d e
  3. ✍🏻 Theme Switching Made Easy
    Nov 5, 2026 · original
    If you’ve used the theme switcher on this site, you may notice it works a little differently now. There’s been a lot of discussion lately about whether theme controls should offer two states or three. Bramus has made the case for three states , while Lea has argued that two are enough . That discussion prompted me to revisit the way I’ve been managing themes on this site. I’d supported two themes—dark and light—and neglected the system setting entirely. I wanted to rectify that and felt the urge to build a web component to make it reusable: theme-switcher .
  4. ✍🏻 There Can Be Only One, Redux
    Nov 4, 2026 · original
    Back in 2022, I wrote “There can be only one: Options for building ‘choose one’ fields” for HTMHell . The interaction sounds simple—pick one option from a list—but choosing the right HTML control involves a few tradeoffs. A select is compact, but you generally need to open it to see the available choices. Radio buttons put all the options in front of you, making them easier to scan and compare, but the group typically requires more screen real estate. What if we could maintain visibility while presenting the choices in a more compact way? That’s where form-multi-switch comes in. It presents a radio group as connected segments: all the options remain visible, but a short set of labels can fit neatly into a single row. Under the hood, they’re still native radio buttons, retaining their accessibility and UI affordances.
  5. 🔗 Long Alt
    Nov 2, 2026 · original
    Wherein Adrian Roselli tests an overstuffed image description with browsers and screen readers…
  6. 🔗 ARIA live timing
    Oct 29, 2026 · original
    Russ Weakley separates the browser’s delivery of live-region updates from a screen reader’s speech queue, helping explain why announcement timing varies.
  7. 📄 Prompt and Circumstance: Evaluating Accessibility in LLM-Generated HTML Form Components
    Oct 24, 2026 · original
    Co-authored with Yumeng Ma, Jacob O. Wobbrock, Joe Devon, Michael Fairchild, Jennifer Mankoff, and Venkatesh Potluri. We introduce PACE (Prompt Accessibility Controlled Evaluation), a testbed for evaluating accessibility in HTML form components generated by large language models. Across 26,100 outputs, the study examines how accessibility varies with the model, component, prompt construction, and evaluation measure.
  8. ✍🏻 Prompt and Circumstance
    Oct 23, 2026 · original
    Back at Ability Summit, I moderated a conversation about shifting accessibility left in the age of AI . During that discussion, Yumeng Ma described a problem she’d encountered in her research: there wasn’t a magical prompt that made generated code accessible. The component mattered. The model mattered. And what we chose to measure mattered too. That research is the subject of a paper I co-authored with Yumeng Ma, Jacob O. Wobbrock, Joe Devon, Michael Fairchild, Jennifer Mankoff, and Venkatesh Potluri: “Prompt and Circumstance: Evaluating Accessibility in LLM-Generated HTML Form Components” , for ASSETS ’26, the ACM SIGACCESS Conference on Computers and Accessibility.
  9. ✍🏻 Accessibility Assistant for Figma v53: From Design Decisions to Handoff
    Oct 22, 2026 · original
    In an internal analysis of accessibility bugs, a colleague found that roughly half could be traced back to design decisions. These were issues we should have caught earlier, before those decisions became codified in code and long before anyone encountered them in a shipped product. That’s one of the reasons I started working on Accessibility Assistant for Figma . I wanted to help designers catch issues while they worked and help them build their accessibility knowledge along the way. Version 53 brings more of that work together, organizing annotations, assessments, issues, and handoff around projects.
  10. ✍🏻 I’ve Changed My Mind About CSS Variables
    Oct 19, 2026 · original
    A while back, Eric Meyer emailed to ask about my old post arguing that CSS variables were a bad idea . Did I still feel that way? No. I’ve changed my mind.
  11. ✍🏻 Sortable Tables with Progressive Enhancement
    Oct 12, 2026 · original
    Many years ago, I made a little jQuery plugin called Easy Sortable Tables . It works exactly as promised: point it at a table and it upgrades the UI so a reader can sort the rows by clicking a column heading. The functionality is still useful, but I can’t even remember the last time I added jQuery to a site. The web platform’s changed quite a bit since I wrote that plugin, so I decided to modernize it as a web component: table-sortable .
  12. ✍🏻 WebMCP Should Prioritize People over Agents
    Oct 9, 2026 · original
    Apple’s WebKit team recently opposed the WebMCP proposal , arguing that it creates a separate semantic layer for agents when we should instead improve the shared layers people, assistive technology, and agents already use. Jason Grigsby’s post led me to Apple’s comment, and I share the concerns raised in both. In fact, I’d made a similar case over email back in April, when I first learned about WebMCP .
  13. ✍🏻 Tabbed Interface: The Web Component
    Oct 7, 2026 · original
    I keep coming back to tabbed interfaces.
  14. 🔗 “AI, make the website good”—zachleat.com
    Oct 6, 2026 · original
    I’ve spent the better part of the last 2 years both using coding models and trying to help these models deliver higher quality code and I honestly could not agree more with Zach here: I will continue to make the argument that craft defined as caring about the quality of output (independent of the tools used to generate the output) is more important than ever. Caring about what you ship will always have real-world value to visitors/consumers/users real people.
  15. 🎧 Aaron Gustafson pokes the fire
    Sep 16, 2026 · original
    I joined Steve Faulkner to talk about my path from music journalism to Microsoft, progressive enhancement, web standards, and making AI-generated code more accessible.
  16. 🔗 LLM biased against accessible code (Claude Code issue #56079)
    Jun 18, 2026 · original
    Making accessibility a project requirement and still having the coding model treat a11y fixes as optional? It’s not you. It’s the model.
  17. ✍🏻 Can Your AI Pass the Accessibility Test?
    Jun 10, 2026 · original
    Last week at Microsoft Build, Jessie Lorenz , Carie Fisher , and I gave a short talk on a question every AI-enabled product team should be asking: can your AI pass the accessibility test? The core point was straightforward: AI does not fix a broken process; it accelerates whatever process you already have. If accessibility is already in the workflow, AI can help scale inclusion. If it’s not, AI will scale the same barriers teams are already shipping.
  18. 📢 Can Your AI Pass the Accessibility Test?
    Jun 2, 2026 · original
    At Microsoft Build 2026, Jessie Lorenz, Carie Fisher, and I explored how to embed accessibility across the software development lifecycle so AI scales inclusion rather than exclusion.
  19. ✍🏻 Fixing Accessibility After the Fact Is Too Late
    May 29, 2026 · original
    At Ability Summit 2026, I moderated a panel on a question that feels more urgent by the day: how do we prevent accessibility defects before they get baked into AI-assisted workflows and shipped at scale? As AI accelerates how software and content are created, accessibility risks emerge earlier and propagate faster than traditional testing and remediation can handle. This panel explores what “shifting left” means in the age of AI, from evaluating foundation models and code generation for accessibility, to embedding inclusive intent directly into design and development workflows. Panelists discuss how AI-assisted design tooling, automated scanning, and remediation in engineering pipelines can work together to prevent defects before they ship. Drawing on internal and external perspectives, the session presents a closed-loop view of accessibility that spans creation, evaluation, and remediat
  20. ✍🏻 Easy Data-entry Verification with a Web Component
    May 25, 2026 · original
    Sometimes the simplest form pattern is the one you repeat ad infinitum : “Type it once, then type it again.” We do it for password confirmations, email verification, and any flow where a typo creates expensive follow-up work. I released a small web component to handle that pattern cleanly: form-matching-fields .

Found by rss-feed-index, which checks each feed once a month at most.

Same record as JSON: https://api.agentalog.com/api/feeds/fd_aaron_gustafson_com_2cd8e88ea9a5668c. More from this site: aaron-gustafson.com in the Feeds tab.

Looking for something else?QuestionsContact