Dispatches From The Internets

Fullscreen Video and Iframes Made Easy

Adding fullscreen capabilities to videos and embedded iframes shouldn’t require wrestling with prefixed APIs or managing focus states. The fullscreen-control web component handles all of that for you — just wrap it around the element. The component handles the rest as a discrete progressive enhancement.


Dynamic Datalist: Autocomplete from an API

HTML’s datalist element provides native autocomplete functionality, but it’s entirely static—you have to know all the options up front. The dynamic-datalist web component solves this by fetching suggestions from an API endpoint as users type, giving you the benefits of native autocomplete with the flexibility of dynamic data.


Lazy Loading Images Based on Screen Size

Native lazy loading and srcset are great, but they have a limitation: they always load some variant of the image. The lazy-img web component takes a different approach—it can completely skip loading images when they don’t meet your criteria, whether that’s screen size, container size, or visibility in the viewport. This is particularly valuable for mobile users on slow connections or limited data plans. If an image is only meaningful on larger screens, why waste their bandwidth loading it at all?



Forrester Research: As technology has evolved, so has the need for accessibility

A recent paper from Forrester (commissioned by Microsoft, my employer), has confirmed my anedotal experiences are not outliers:

This new study, based on a 2025 online survey of 3,901 US consumers, confirms what many of us know: accessible technology empowers everyone. And with the rise of AI, we’re entering a new era of possibility.

One of the stats that’s likely to be surprising to many people is that people who identify as having disabilities and those who don’t both use assistive technology features at nearly the same rate.

Full details of the research report are here: Oh, The Things We Can Do Together — How Assistive Technology Is Unlocking Human Potential In The Era Of AI


Creating a more accessible web with ARIA Notify

I just saw this very exciting announcement on the Edge Dev Blog:

ARIA Notify is an ergonomic and predictable way to tell assistive technologies (ATs), such as screen readers, exactly what to announce to users and when.

In its simplest form, developers can call the ariaNotify() method with the text to be announced to the user.

Here’s what it looks like:

// Dispatch a normal priority notification
document.ariaNotify("Background task completed", { priority: "normal" });

I’m particularly excited by this because of how much it simplifies the update process for engineers. Previously they needed to manage upates to an aria-live DOM node with the appropriate announcement level and hope for the best. This approach was plagued with issues ranging from lag — because, DOM manipulation — to confusion between whether “polite” or “assertive” was the right choice.

The ARIA Notify proposal is clear, concise, and far more likely to get used and — more importantly — used properly.

It’s currently in Origin Trial. Please give your feedback so we can get this into every browser sooner rather than later.


Optimizing Your Codebase for AI Coding Agents

A cute red robot is adrift in a choppy, foggy sea. A lighthouse on a cliff in the distance is beaming light across the sea, creating a safe, clear path to a nearby shore. The robot is steering the boat toward shore, following the path through the fog created by the lighthouse. Vintage travel poster aesthetic.

I’ve been playing around a bit with GitHub Copilot as an autonomous agent to help with software development. The results have been mixed, but positive overall. I made an interesting discovery when I took the time to read through the agent’s reasoning over a particular task. I thought the task was straightforward, but I was wrong. Watching the agent work was like watching someone try to navigate an unfamiliar room, in complete darkness, with furniture and Lego bricks scattered everywhere.



Default Isn’t Design

When one approach becomes “how things are done,” we unconsciously defend it even when standards would give us a healthier, more interoperable ecosystem. Psychologists call this reflex System Justification. Naming it helps us steer toward a standards-first future without turning the discussion into a framework war.

This whole piece is an excellent discussion about how tools can become an identity and why that’s a bad thing.


Identifying Accessibility Data Gaps in CodeGen Models

A pop-art style illustration of a wide chasm. On the left side of the chasm stands a small, cute, red robot, gazing to the right, across the abyss. On the right side of the chasm is his destination: a finish line flag. The flag reads “Accessible.”

Late last year, I probed an LLM’s responses to HTML code generation prompts to assess its adherence to accessibility best practices. The results were unsurprisingly disappointing — roughly what I’d expect from a developer aware of accessibility but unsure how to implement it. The study highlighted key areas where training data needs improvement.