10 Jul 25
07 Apr 25
Complete, approachable guide to sensemaking
30 Nov 24
In practice, the only thing that makes web experiences good is caring about the user experience — specifically, the experience of folks at the margins. Technologies come and go, but what always makes the difference is giving a toss about the user.
02 Oct 24
There are no words to describe the opposite sensations of being at-our-job and being not-at-our-job even if we know the feeling of crossing that threshold by heart. But the most essential quality that makes a job a job is that when we are at work, we surrender the power to decide the worth of what we do. At-job is where our labour is appraised by an external meter: the market. At-job, our labour is never a means to itself but a means to money; its value can be expressed only as a number—relative, fluctuating, out of our control. At-job, because an outside eye measures us, the workplace is a place of surveillance. It’s painful to have your sense of worth extracted. For Marx, the poet of economics, when a person’s innate value is replaced with exchange value, it is as if we’ve been reduced to “a mere jelly.”
09 Aug 24
Firefox has an interesting features for developers, its ability to connect a Firefox developers tools to a remote Firefox instance. This can really interesting in the case of a remote kiosk display for instance.The remote debugging does not provide a display of the remote, but it gives you access to the developer tools for tabs opened on the remote.
07 Aug 24
In the world of digital projects, ensuring clear roles and responsibilities is crucial for success. One effective tool for achieving this is the RACI matrix, which stands for Responsible, Accountable, Consulted, and Informed. This framework helps teams define who is involved in specific tasks and what their level of involvement is. Let’s explore how a RACI matrix can be applied to digital accessibility projects.
06 Aug 24
Now to be fair, I’ve dunked on shadow DOM a bit in the past myself… such as when it’s used as a container for piles of JavaScript-generated HTML that would be better off in the page from the start. But the more I’ve worked with web components, the more I’ve come to see that shadow DOM (and slots in particular) may still play an interesting role in the HTML Web Components story.
05 Aug 24
For years now, though, I’ve been using Tachometer for most browser-based benchmarks. It’s featured in this blog a few times, although I’ve never written specifically about it. Tachometer doesn’t make benchmarking totally foolproof, but it does automate a lot of the trickiest bits. What I like best is that it:
23 Jul 24
A collection of advice when looking for a job in tech
This will serve as a collection of whatever I’ve learned, for whatever it’s worth. I’ll do my best to keep it up to date as the months and years roll on, but this is everything I know (or at least, am pretty sure I know) right now.
29 May 24
The analogy I’ve been using is that this is like jumping from a tall 130 kilobyte-story building (ReactDOM) right into the zero kilobyte sewers of web components. If you take anything from this post, please understand this: web components (most likely) weren’t designed for you. Not to dissuade you from using them, but they were purposefully designed to be a low-level bare metal primitive for library authors to build on; they were designed to be used with a library, a thin layer of abstraction butter on top.
23 May 24
In the Importance Game, participants jockey for position. This usually works by way of casual references to wealth, talent, accomplishment or connections, but there are many variants. I can, for instance, play this game by pretending to eschew it: “Let’s get straight down to business” can telegraph my being much too important to waste time with such games; or your being so unimportant as to render the game otiose.The other game is the Leveling Game, and it uses empathy to equalize the players. So I might performatively share feelings of stress, inadequacy or weakness; or express discontent with the Powers that Be; or home in on a source of communal outrage, frustration or oppression.
31 Jan 24
As smartphone ownership and use grow, the front ends we deliver are ever-more mediated by the properties of those devices. The inequality between the high-end and low-end, even in wealthy countries, is only growing. What we choose to do in response defines what it means to practice UX engineering ethically.
29 Jan 24
convert from curl to a bunch of other formats
26 Jan 24
A pre-made spreadsheet for running accessibility audits
13 Dec 23
Claims that a website can be made fully compliant without manual intervention are not realistic, since no automated tool can cover all the WCAG 2.1 level A and AA criteria.
04 Dec 23
Supporting keyboard-only interaction is one of the most important principles of web accessibility. However, the scope of the Web Content Accessibility Guidelines (WCAG) in relation to keyboard accessibility is often misunderstood.
30 Nov 23
When you’re designing and developing for accessibility, performing manual testing using a screen reader is important to catch and fix accessibility issues that cannot be caught by automated accessibility testing tools. In this article, which is a modified, text-only excerpt from the Practical Accessibility course, we’re going to walk through the process of setting up your screen reader testing environment, from downloading virtualization software if you need it, to installing screen readers, and setting up keyboard configuration. We’ll also learn what screen reader and browser combinations are most relevant for your testing work.
28 Nov 23
Accessibility annotations help capture design intent that cannot be conveyed through visual design alone. This can help prevent many accessibility issues earlier and create more usable digital experiences.After 2 years of testing with over 65 design teams at CVS Health®, we’re releasing our Web Accessibility Annotation Kit to the public. It’s made specifically for web-based experiences. Additional resources will be published soon, including an extensive iOS Accessibility Annotation Kit.
PDFKit is a PDF document generation library for Node and the browser that makes creating complex, multi-page, printable documents easy. The API embraces chainability, and includes both low level functions as well as abstractions for higher level functionality. The PDFKit API is designed to be simple, so generating complex documents is often as simple as a few function calls.