Accessibility
Why Keyboard Users Can't Scroll Your Overflow Containers
When a keyboard user Tabs into the table, its focus lands on a cell. Then they press the arrow keys to read across the row but nothing happens. Your screen reader users never noticed because they navigate the accessibility tree, not the scroll container.
CSS
CSS math-random() in Production: Native Randomness Without JavaScript
For years, front-end developers have relied on a patchwork of hacks to introduce randomness into CSS — preprocessor loops, JavaScript injection, and nth-child tricks. The CSS random() function eliminates the need for all of them, offering declarative, per-element randomness evaluated natively by the rendering engine.
The <selectmenu> Element: Stop Using JavaScript Dropdown Libraries
The <select> element has been part of HTML since the earliest days of the web, and for nearly all of that time, it has remained one of the most frustrating elements to work with. The appearance: base-select CSS property, now shipping in Chrome 133+, finally changes that equation. This article covers the new native approach that eliminates most of those costs: how appearance: base-select works, how to implement it step by step, and when a JavaScript dropdown library is still the right call.
Callout UI with CSS Offset & Border
A callout UI typically has a leader line (or “tail”) with a text box at one end. It is often used as a visual highlight and to add annotations in a casual layout. Let’s look at one way to design a callout like this using CSS offset and borders.
An Interactive Image Slider/Carousel
I am combining the technique of making an infinite marquee animation with the speed control trick to create a responsive image slider with button controls. A CSS-only implementation that works with any number of images. Powered by modern CSS features such as shape(), sibling-index()/count(), animation-composition, etc.
HTML
Exploring the HTML-in-Canvas Proposal
The HTML-in-Canvas proposal aims to enable <canvas> to render real HTML content directly, while preserving key DOM benefits like layout, accessibility, and CSS styling.
The API introduces three main primitives:
- A
layoutsubtreeattribute that opts canvas children into layout - A
drawElementImage()method that renders a child element into the canvas - A
paintevent that fires whenever a canvas child changes
Install web apps with the new HTML install element
Installing web apps has always required JavaScript. When you use the beforeinstallprompt event, the installation flow lives entirely in script. The new <install> element changes that: drop a single HTML element into your page and the browser renders a trusted install button for you, with no JavaScript required.
The Microsoft Edge team, in collaboration with the Chrome team, implemented the <install> element in Chromium. It's now available for you to test behind a flag in Chrome or Edge from version 148, and as an origin trial which you can use in both browsers starting with 148 and ending with 153.
Try it, and learn how it compares to the imperative Web Install API (navigator.install()), which has its own origin trial.
JavaScript
ReactUse - 110+ Essential React Hooks Library for TypeScript
ReactUse (@reactuses/core) is an open-source library of 110+ custom React Hooks for building production applications. It provides TypeScript-first, tree-shakable, and SSR-compatible hooks covering browser APIs, state management, DOM observation, side effects, and third-party integrations. ReactUse supports React 16.8 through React 19 and works with Next.js, Remix, and other server-side rendering frameworks.
The Modern React Stack Explained for 2026
A complete guide to the modern React ecosystem in 2026, covering frameworks, forms, state management, UI libraries, testing, and developer tooling.
Soon We Can Finally Banish JavaScript to the ShadowRealm
The proposed ShadowRealm API introduces a new kind of realm specifically designed for isolation, and only that. A ShadowRealm does not have an execution context of its own — code offloaded to a ShadowRealm will exist in a pseudo-realm with its own global and built-in objects. That code continues to run on the same thread as the code where the ShadowRealm is created; we’re not forced to communicate and share resources back and forth between two separate threads in limited ways. In short, a script is executed the way it would if limited to a single realm, but quarantined away from that outer realm’s intrinsic objects, APIs, global object, and anything our script has done to that global object.
I keep tripping over "true, false, true"
createUser(user, true, false) works. It's also surprisingly hard to read. Here's why I've stopped writing APIs like this in JavaScript.
From React to native web with nanotags: a migration that saved 100 KB
Most marketing sites ship a SPA framework just to toggle a sidebar. Here's how we migrated an Astro site from React and Ark UI to native Web Components: 100 KB less JavaScript, no functionality lost, and a tiny library called nanotags that makes Custom Elements enjoyable to write.
SVAR Releases Calendar Component for React, Svelte & Vue
Native calendar components for React, Svelte, and Vue. Build Google Calendar‑style schedulers with drag‑and‑drop, multiple views, TypeScript support, and a PRO edition for advanced scheduling.
Wunphile - Simple, imperative JavaScript-based static site generator, compatible with Node.js, Deno (2.0+), and Bun
Wunphile (pronounced "one file") allows you to build your site as if it was an Express-like app, but generate a nice, static bundle.
Miscellaneous
3dsvg — The easiest way to turn SVGs into 3D
Turn any SVG into interactive 3D objects. Animate and export as 4K image or video. 100% free, no account or subscription needed.
GitHub repo here.