This week’s reading from Web Directions
Last week, we launched the programmes for three upcoming conferences:
- Our Developer Summit, which focuses on significant trends in front-end engineering
- Next, a relatively new conference which focuses on product design and product management
- Enqueue, a brand new conference for professional web WordPress developers
All have a very healthy dose of AI and large language models because, whether we like it or not, whether we’re ready or not, those technologies are transforming how we do our job and the things that we build.
So if you’re a front-end developer, a product designer, product manager, or a WordPress developer, make a small investment at this critical time to help orient yourself and your team well for the transformations that are already occurring and which will have profound effects over the coming 18 months or so.
For quite some time now, I’ve been working on a big piece that draws together my thoughts on how large language models are impacting how we build for the web. I’ll be publishing that piece next week, and that thinking has been having a very significant impact on how we’ve been programming our developer summit.
But since one of my daughters is graduating from high school this week, and if you’ve ever been in that position yourself, you’ll know how busy you get, that’s all we’ve got time for this week. Well, that and a whole bunch of links from articles and more that have caught our interest in the last week or so.
If you’d like extra special pricing as well as, of course, all this great reading delivered weekly to your inbox, just sign up to our weekly newsletter.
Accessibility & Standards
An Accessible Guide to WCAG 3.3.8: Authentication Without Frustration
a11y accessibility authentication

Logging in can be tough for users with cognitive disabilities. WCAG’s Success Criterion 3.3.8, “Accessible Authentication,” provides guidance.
Source: An Accessible Guide to WCAG 3.3.8: Authentication Without Frustration
No doubt all of us have, at some stage, probably frequently been immensely frustrated by a sign-up or sign-in process. It turns out WCAG has considered this issue, and there is success criteria for authentication as part of WCAG 3. Here Ramona Schwering looks at how we can improve the accessibility of authentication and no doubt the user experience for everyone, whether they have cognitive disabilities or not, based on these criteria.
Screen Readers Do Not Need to Be Saved by AI

Imagine listening to your favourite podcast. You rewind it to go over something you missed, but each time you replay it, it’s somehow different. This sounds frustrating, right? But, it’s likely this is what would happen if we just stuffed large language models into screen readers, in a lazy attempt to avoid having to publish accessible content.
Source: Screen readers do not need to be saved by AI – craigabbott.co.uk
One of the use cases we often hear about for AI is when it comes to accessibility. After all, a lot of the images on the web do not even have the most basic alt text associated with them. Now, as we have been quite open about, we use large language models extensively for this purpose, not only with the images associated with stories like this, but in particular with the feature we have where we take the slides from presentations and turn them into structured semantic HTML. This is something that we did initially by hand. We would convert all the text from images to text. We would provide descriptions of images, graphs, charts, and other visual content. And then we would turn it all into structured HTML. We slowly iterated on this to use large language models for part and then pretty much all of the process. But it’s one thing when that content is fixed and can, as in our case, be edited by humans. When it comes to screen readers and providing them with this functionality, then it is a very different situation, as Craig Abbott discusses here.
CSS to Speech: Alternative Text for CSS-Generated Content

While making an update to a course chapter that includes the use of CSS-generated content in the accessible name computation of an element, I noticed that browser support for providing alt text in CSS using the slash syntax has improved since I gave a talk about CSS and accessibility at CSS Day last year. So I thought it’s time to do a proper (long overdue) writeup. This is a 101 post on when and how to use the slash content property syntax in CSS to provide alt text for CSS-generated content, and why it is important.
Source: CSS to speech: alternative text for CSS-generated content
For years, we’ve been able to include generated content via CSS in our web pages, but this has not always been great for accessibility. Here Sara Soueidan looks at how we can now make this content accessible with relatively new features of CSS.
CSS & Frontend Development
The “Most Hated” CSS Feature: cos() and sin()

This shocks me, if I’m being honest. Are really trigonometric functions really that hated? I know “hated” is not the same as saying something is “worst”, but it still has an awful ring to it. And I know I’m being a little dramatic here, since only “9.1% of respondents truly hate trigonometry.” But that’s still too much shade being thrown for my taste.
Source: The “Most Hated” CSS Feature: cos() and sin() | CSS-Tricks
In the recent State of CSS survey, the answer to the most hated CSS features were trigonometric functions like sin and cos. Now, why anyone would be hating on any features of a programming language is kind of a little beyond me, but there you go. However, I think this taps into a deeper anxiety about mathematics that is widespread in our society. As someone who studied mathematics at university many many years ago, and has raised four children, again and again I have noticed an instinctive negativity toward mathematics. So it kind of makes sense that these very mathematical features of CSS would be those that CSS developers are least comfortable with. But fear not. Juan Diego Rodríguez is here to help you understand at least the basics of trigonometry and how you might use these functions in your CSS.
Is it Time to Un-Sass?

By my count, I have been using Sass for over 13 years. I chose Sass over Less.js because I thought it was a better direction to go at the time. And my bet paid off. That is one of the difficult things about working in the technical space. There are a lot of good tools but some end up rising to the top and others fall away. I have been pretty fortunate that most of the decisions I have made have gone the way that they have. All the agencies I have worked for have used Sass.
Source: Is it Time to Un-Sass? | CSS-Tricks
The last 15 years or so of web development has been about adding layers of abstraction to help tame the complexity of the underlying languages and APIs. When I say that you’re probably thinking about something like React or Angular, but this has also happened with the world of CSS. Sass probably took hold even earlier than libraries and frameworks like React, and it has been a staple in many professional developers’ stacks for a decade or more now. Sass was always about helping manage complexity of CSS and introduced many concepts that have now been absorbed into standard CSS (to name just a couple). Just as the implementation of features from jQuery like QuerySelector and Fetch meant we increasingly didn’t need jQuery, is the same happening with Sass as well?
Styling Siblings with CSS Has Never Been Easier: Experimenting with sibling-count and sibling-index

If I were to divide CSS evolutions into categories, then last year was probably the year that ended with animations and colors getting better; This year, the end of the year seems to be about those ease-of-life features. We had one of those not that long go with :has(), but with things such as sibling-count, sibling-index, functions, and conditionals, the way we write CSS might just change for the better once again. In this article, I want to dip my toe in sibling-index() and sibling-count(), while also carefully adding some functions in the mix.
Years ago, CSS introduced the adjacent sibling selector, but it was limited in that it could only select an element that follows another element as its sibling. Sibling selection has got more sophisticated in recent times, and here we can learn all about sibling selection in CSS today.
JavaScript & Programming
React Won by Default – And It’s Killing Frontend Innovation
architecture front end development react
React is no longer winning by technical merit. Today it is winning by default. That default is now slowing innovation across the frontend ecosystem. When teams need a new frontend, the conversation rarely starts with “What are the constraints and which tool best fits them?” It often starts with “Let’s use React; everyone knows React.” That reflex creates a self-perpetuating cycle where network effects, rather than technical fit, decide architecture.
Source: React Won by Default – And It’s Killing Frontend Innovation | Loren Stewart
A critical look at where we are at in terms of frontend frameworks, how we got here, and where we might go next.
Making Your Fetch Requests Production-Ready with ffetch

Your app is ready. You have a backend that does some magical things and then exposes some data through an API. You have a frontend that consumes that API and displays the data to the user. You are using the Fetch API to make requests to your backend, then process the response and update the UI. Simple and straightforward, right?
Well, in development, yes. Then, you deploy your app to production. And strange things start to happen. Most of the time all seems fine, but sometimes requests fail. The UI breaks. Users complain. You wonder what went wrong.
Source: Making Your Fetch Requests Production-Ready with ffetch
Fetch when introduced was a revolutionary API for the browser, simplifying a previously very kludgy way to implement client-server interaction from web applications. But while simple in principle, putting into practice can come with some complexities and edge cases as explored here.
40 Years Later, Are Bentley’s “Programming Pearls” Still Relevant?
computer science software engineering

In September 1985, Jon Bentley published Programming Pearls. A collection of aphorisms designed to reveal truths about the field of programming.
It’s 40 years later – long enough to see several revolutions in the field – so surely these are obsolete, right? They belong in the same category as “always carry a bundle of hay for the horses” or “you won’t always have a pocket calculator with you” or “tie an onion on your belt to stay stylish”.
Ah, my sweet summer child! Plus ça change, plus c’est la même chose. You’ll find nearly everything in here depressingly relevant. Before we dive in, a word for Bentley on the provenance of this collection:
Source: 40 years later, are Bentley’s “Programming Pearls” still relevant? – Terence Eden’s Blog
I have to admit, I had never come across this 40-year-old publication before. It’s well worth a few minutes’ reading, if you’re a software developer, to see what wisdom from forty years ago still persists and what is no longer relevant.
AI & Development Tools
Programming Deflation
The genies are out of the bottle. Let’s take as a given that augmented coding is steadily reducing the cost, skill barriers, and time needed to develop software. (Interesting debate to be had—another day.) Will this lead to fewer programmers or more programmers? Economics gives us two contradictory answers simultaneously. Substitution. The substitution effect says we’ll need fewer programmers—machines are replacing human labor. Jevons’. Jevons’ paradox predicts that when something becomes cheaper, demand increases as the cheaper good is economically viable in a wider variety of cases. Both can’t be right. Or can they?
Source: Programming Deflation – by Kent Beck
Some very worthwhile thoughts on the impact of the seemingly ever-falling cost of producing software.
The Agentic Web: How AI Agents Are Shaping the Web’s Future
Berners-Lee created the web in 1990 and in 1994 founded its governing body, the World Wide Web Consortium (W3C). Although he’s stepped back from leadership at the W3C (he’s now listed as “Emeritus Director”), he’s still contributing ideas. In a design note published on W3C’s website and updated in January, Berners-Lee describes a personal AI assistant his company Inrupt is building, called “Charlie.” In an op-ed for the Financial Times in March, Berners-Lee describes Charlie as “my vision for a new interface between users and the web — the evolution from ChatGPT, Gemini, Pi and DeepSeek.”
Source: The Agentic Web: How AI Agents Are Shaping the Web’s Future – The New Stack
Agents are coming to the web—already here and likely only to become more significant over time. So, what can developers do to make their content more accessible for agents as well as humans? Here The New Stack looks at a new W3C community group focused on this issue and a set of open protocols and projects that may form the foundation for this next evolution of the web.
I Think “Agent” May Finally Have a Widely Enough Agreed Upon Definition to Be Useful Jargon Now
AI AI Engineering autonomous agents LLMs

Tools in a Loop to Achieve a Goal
An LLM agent runs tools in a loop to achieve a goal. Let’s break that down. The “tools in a loop” definition has been popular for a while—Anthropic in particular have settled on that one. This is the pattern baked into many LLM APIs as tools or function calls—the LLM is given the ability to request actions to be executed by its harness, and the outcome of those tools is fed back into the model so it can continue to reason through and solve the given problem. “To achieve a goal” reflects that these are not infinite loops—there is a stopping condition.
Source: I think “agent” may finally have a widely enough agreed upon definition to be useful jargon now
We frequently cite Simon Willison here at Elsewhere. He has for years now been one of the leading voices on AI engineering. So when someone as experienced as Simon has expressed reservations about a term like “agent,” we should really pay attention. He has finally decided on a definition he feels comfortable with, and here he explores the term “agent” in detail.
AI Agents Will Transform the Online Economy
“The agentic Web is going to change everything,” says Wang, predicting that people will increasingly rely on agents as proxies to navigate the Web on their behalf. And in a recent position paper posted on the preprint server ArXiv, he and colleagues outline how this could lead to a new “agent attention economy” where advertisers increasingly jockey to be noticed by agents rather humans.
Source: AI Agents Will Transform the Online Economy – IEEE Spectrum
Some form of autonomous agent is increasingly replacing our individual interaction with the web, at least in part? That’s certainly what many people are speculating. What impact would that have on the online economy, which to date is largely dependent on advertising attracting human attention? I think the answer is far from clear, but certainly worth considering.
Why Engineering Isn’t Just Coding (and AI Won’t Change That)
AI Native Dev software engineering

AI can write code quickly, and leadership teams everywhere are having the same thought, they think they’ve cracked the secret to faster, cheaper software development. “Why do we need all these engineers when AI can just… write the code for us?”
It’s the same energy as thinking you can replace a chef with a microwave because both of them heat up food.
Source: Why engineering isn’t just coding (and AI won’t change that) | by Gemma Croad
Hot on the heels of our Engineering AI conference a couple of weeks ago, one of the attendees has written this piece. Here Gemma Croad reminds us that software engineering is far more than simply generating code. Something that developers know, but it’s perhaps far less obvious to folks outside the practice of software engineering.
Design Systems & Development Process
Where AI is Failing Design Systems, and Where We Are Failing AI

For a design system program where the goal is often stable, high quality, durable output, how much instability, lack of quality, or impermanence can we tolerate in our tools? That’s the question Nathan Curtis and I asked the design system community for Episode 060 of The Question.
On August 21, 2025, Nathan and I facilitated a deep dive discussion into the data we gathered from 95 design system practitioners. We only asked two questions:
- Where, in your daily work, is AI too imprecise for your needs—where is it failing you?
- Is there an expectation in your organization that digital interface production will be done with AI in the near future?
Source: Where AI is failing design systems, and where we are failing AI – bencallahan.com
Ben Callahan and Nathan Curtis here discuss what they learned asking nearly a hundred experienced design systems practitioners how their work with AI and design systems is going.
Design & User Experience
You Don’t Need Animations
When done right, animations make an interface feel predictable, faster, and more enjoyable to use. They help you and your product stand out.
But they can also do the opposite. They can make an interface feel unpredictable, slow, and annoying. They can even make your users lose trust in your product.
So how do you know when and how to animate to improve the experience?
Step one is making sure your animations have a purpose.
Source: You Don’t Need Animations
We’ve long been advocates for animation in the web interface. Indeed we’ve written many articles and developed tools for helping people to do that. And you can find numerous presentations going back years here on Conffab about the subject. Here Emil Kowalski doesn’t really advocate for removing animations, but focuses on some very specific use cases and how animations can be designed to communicate better.
Web Platform & Browser Engineering
How Modern Browsers Work
Browser Engineering browser engines

This article dives into how modern browsers work – focusing on Chromium’s architecture and internals, while noting where other engines differ. We’ll explore everything from the networking stack and parsing pipeline to the rendering process via Blink, JavaScript engine via V8, module loading, multi-process architecture, security sandboxing, and developer tooling. The goal is a developer-friendly explanation that demystifies what happens behind the scenes.
Source: How modern browsers work – by Addy Osmani – Elevate
Knowing how a modern browser works—how it downloads resources, how it parses HTML, JavaScript, and CSS, how it renders the DOM and then paints to the screen—all of these things have a significant impact on the performance of our site. Having an understanding of how modern browsers work can really help us improve the quality of what we build.
Internationalization & Environmental Impact
Right-to-Left Styling
i10n internationalization writing

Over 292 million people around the world speak Arabic as their first language. Arabic (al-Arabiyyah, pronounced /al ʕarabijja/, /ʕarabiː/) is my native language, and I sometimes build websites that need to support both left-to-right (LTR) and right-to-left (RTL) styles.
Introduction To RTL Styling
The default page direction in CSS is LTR. If you check the browser of your choice and inspect the browser’s default agent styles for the html element, you will notice that ltr is the default value for the dir (or “direction”) property. Below is a basic example to show the difference between an LTR and an RTL layout.
Source: Right-to-left Styling
Hundreds of millions of people use languages that read from right to left. Which doesn’t simply mean that text flows in the direction opposite to what readers of European languages expect, but pages are oriented differently from what we expect as well. Ahmad Shadeed has become one of the most comprehensive and valuable voices in CSS, web design, and development in recent years. Absolutely everything he writes or publishes is worth your attention. A very comprehensive guide to right-to-left styling for the web that even if that’s not something you do often, if at all, is worth at least having a basic understanding of.
How To Minimize The Environmental Impact Of Your Website

As responsible digital professionals, we are becoming increasingly aware of the environmental impact of our work and need to find effective and pragmatic ways to reduce it. James Chudley shares a new decarbonising approach that will help you to minimise the environmental impact of your website, benefiting people, profit, purpose, performance, and the planet.
Source: How To Minimize The Environmental Impact Of Your Website — Smashing Magazine
Computers (whether it’s your laptop, your desktop, your phone, or the servers that serve websites) consume power. That power has to be generated often by burning fossil fuels. It uses water for cooling, particularly on the server side. In recent years, we’ve begun to think about the environmental impact of the sites that we build. There are a few presentations on Conffab that look at this issue. Most recently, a fantastic one from Hidde de Vries at CSS Day. But here James Chudley addresses specifically the question of how we can minimize the environmental impact of our websites.
Great reading, every weekend.
We round up the best writing about the web and send it your way each Friday.