Tech is political: The people under attack in Palestine 🇵🇸, Iran 🇮🇷, and Lebanon 🇱🇧 are people like us. They’re our brothers and sisters, too. Read up on their history, scrutinize what you’re told, and demand that they be respected and included. Hide

Frontend Dogma

News and Tools for Web Developers, 1990s to Now (3)

→ Stay up-to-date on all topics by various RSS feeds (main feed with exclusive news: only $1/month), on Mastodon, and on Bluesky

Entry (Sources) and TopicsDate#
Vitest vs. Jest 2026: The Migration Guide With Real Benchmarks20,467
guides, migrating, vitest, jest, comparisons
Tailwind CSS v4: Container Queries and the Death of Media Queries20,466
tailwind, container-queries, media-queries, css
Suffering From Bugs: How I Almost Deleted My Entire Project20,465
bugs, lessons
Fastest Frontend Tooling for Humans and AI20,464
tech-stacks, tooling, typescript, developer-experience, optimization
Claude Sonnet 4.6 vs. GPT-5: The 2026 Developer Benchmark20,463
claude, anthropic, openai, ai, comparisons, metrics, programming, documentation
“border-shape”: The Future of the Non-Rectangular Web (una)20,462
css, shapes, borders
An In-Depth Guide to Customising Lists With CSS (ric/pic)20,461
guides, css, lists
A Web Revival: The Internet Didn’t Die, You’re Just Not on It20,460
videos, indieweb, web
8 Things You Didn’t Know About Code Mode (bla)20,459
ai
Sometimes the Best Accessibility Fix Is a Usability Fix20,458
accessibility, usability
Why You Need to Close Open Objects When Users Navigate Away20,457
accessibility, wcag
Why Separate Guest and Logged in States Create Accessibility Barriers20,456
accessibility, authentication
When Accessibility Demand Letters Land on Your Desk: A Framework for Strategic Response (dec)20,455
accessibility, strategies
Distinguishing “Components” and “Utilities” in Tailwind (zel/css)20,454
tailwind, terminology
Analyst Reactions: How AI Is Reshaping Engineering Organizations20,453
ai, engineering-management
AI Is Giving Tech Companies Power That Once Belonged to Governments (res)20,452
ai, economics
5 CSS Fouls That I See Way Too Often (kev)20,451
videos, css
Europeans Are Dangerously Reliant on US Tech—Now Is a Good Time to Build Our Own (joh/the)20,450
economics, politics, google, microsoft, amazon
Editor Improvements: Smooth Caret Animation and New Selection Behavior (jet)20,449
code-editors, jetbrains
Web Rewind20,448
websites, web, history
The Future of Design Is Code and Canvas (zoi/fig)20,447
figma, design, outlooks
Preserving the Web Is Not the Problem—Losing It Is (tec)20,446
web, ai
Igalia’s Eric Meyer and Ujjwal Sharma Chat With Designer, CSS Developer, and Illustrator Lynn Fisher (lyn+/iga)20,445
podcasts, interviews, css, design
Frontend Memory Leaks: A 500-Repository Static Analysis and Five-Scenario Benchmark Study20,444
memory, react, vuejs, angular, studies
From Random Chunks to Real Code—Wiring Up Next.js Source Maps in Sentry (get)20,443
nextjs, source-maps
Designing for Transparent Screens20,442
design, transparency+opacity, readability
Design Docs Considered Harmful20,441
documentation, software-design
Building Typographic Scales in CSS With “:heading()”, “sibling-index()”, and “pow()” (stu)20,440
css, functions, math, typography
Web Development Is More Than Frontend and Backend (Here’s What Actually Matters)20,439
programming, career
We Cut Node.js’ Memory in Half (mco/pla)20,438
nodejs, v8, javascript, memory, metrics
Spiral Scrollytelling in CSS With “sibling-index()” (css)20,437
css, functions, scrolling, gsap
Selectors Level 5 (fan+/w3c)20,436
css, selectors, standards
Interop 2026 (geo/css)20,435
interoperability, web-platform, browsers, support, link-lists
Europe Is Ready to Ditch US Tech for Private Alternatives (pro)20,434
tooling, privacy, security, metrics
5 Source Map Best Practices for Frontend Production Deployments (ele/des)20,433
guest-posts, source-maps, javascript, best-practices
The Hidden Cost of AI Prototypes That Are Made to Die20,432
prototyping, ai, design, product-management
Agentic UX: 7 Principles for Designing Systems With Agents20,431
ai-agents, ai, design, principles
Why We Hate AI (fal)20,430
ai
Here’s How to Instruct a LLM to Reference the ARIA Authoring Practices Guide (eri)20,429
how-tos, ai, aria, accessibility
Angular Bindings: What Are They and How Do I Use Them? (ato)20,428
angular
Anchored Menus and a Lesson in Scoping (chr/fro)20,427
css, anchor-positioning, scope, lessons
Why It’s Important to Manually Test for Accessibility20,426
accessibility, testing
Style Headings Using the CSS “:heading” Pseudo-Class (stu)20,425
headings, css, selectors
How “Liquid Design” Broke the iPhone and Forced Apple’s Great Reset (web)20,424
design, usability, readability, liquid-glass, apple
Why Your CEO Acts Like a Clown: The Tribal Myths of Leadership20,423
leadership, culture, engineering-management
AI Is Accidentally Making Documentation More Accessible (ger)20,422
ai, accessibility, documentation
Why WebAIM’s Report Only Found 6 Issues on a Million Pages20,421
videos, accessibility, webaim
We Scanned 250 Node.js Repos for Blocking I/O: 76% Had It—and the Benchmarks Explain Why That Matters20,420
nodejs, file-handling, performance, metrics
How Fast Is Fast Enough? Rethinking Web Performance in Pragmagical Terms (tam/spe)20,419
performance, user-experience, concepts
Justifying “text-wrap: pretty”20,418
css, typography
Quick and Dirty Linting (sto)20,417
linting, typescript, javascript, biome
A Programmer’s Loss of a Social Identity (rat)20,416
programming, career, community
JS-Heavy Approaches Are Not Compatible With Long-Term Performance Goals (ser)20,415
javascript, frameworks, performance, prioritization
Fun With TypeScript Generics (ada/fro)20,414
typescript, generics
Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents? (ves+)20,413
studies, research, ai, ai-agents, agentsmd
Are We Having the Wrong AI Dreams? (jet)20,412
ai, outlooks
The EU Moves to Kill Infinite Scrolling (egr)20,411
social-media, scrolling, legal
Interop 2026: Continuing to Improve the Web for Developers (rac)20,410
interoperability, web-platform, browsers, support
How to Debug the “@starting-style” At-Rule in Polypane (pol)20,409
how-tos, debugging, css, animations, polypane, browsers
You Might Not Need “role="presentation"” (stv/pic)20,408
html, aria, accessibility
Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev)20,407
html, tables, scrolling, performance, react
State of React 2025 [Results] (sac/dev)20,406
surveys, metrics, react
Mastering Dialog Accessibility20,405
accessibility, modals, html, aria
Launching Interop 2026 (jaf/moz)20,404
interoperability, web-platform, browsers, support
The 80% Job: How Design Leads Are Using AI—and It’s Not About Mockups20,403
design, ai, prototyping, communication, leadership, product-management, link-lists
The Beautiful Web (j9t)20,402
web, indieweb
Accessibility Contractors Have Their Place-but It’s Not Everywhere20,401
accessibility, business-relations, processes
Radix UI vs. Base UI (sha)20,400
react, libraries, radix, comparisons
What It Really Costs to Run a WordPress Website in 202620,399
wordpress, economics
Re-Creating a Pantone Color Deck in CSS (sto)20,398
css
Life After Figma Is Coming (and It Will Be Glorious) (jon)20,397
design, ai, tooling, figma
How to Create a CSS-Only Elastic Text Effect (css/fro)20,396
how-tos, css, effects
Designing for Agentic AI: Practical UX Patterns for Control, Consent, and Accountability (sma)20,395
design, user-experience, design-patterns, ai-agents, ai
ChatGPT Has 12% of Google’s Search Volume but Google Sends 190× More Traffic to Websites (ahr)20,394
traffic, search, chatgpt, google, metrics
Announcing TypeScript 6.0 Beta (dan/typ)20,393
typescript
The Natural Design Process20,392
design, processes
You Know What? Just Don’t Split Words Into Letters (aar)20,391
accessibility, html, screen-readers, support
Container Timing: Measuring Web Components Performance (jda/iga)20,390
performance, web-components, chromium
The Software Sovereignty Scale (dri)20,389
foss, licensing, legal
The 2026 Frontend Dogma Survey (fro)20,388
frontend-dogma, surveys
Shades of Halftone (max)20,387
effects, halftone
Polypane 28: Project Improvements, Elements Panel Updates, and Chromium 146 (pol)20,386
release-notes, polypane, browsers
It’s About to Get a Lot Easier for Your JavaScript to Clean Up After Itself (wil/pic)20,385
javascript, garbage-collection
Does Your Navigation Need an ARIA Menu? Probably Not (pop)20,384
accessibility, navigation, aria, keyboard-navigation
Building an Endless Procedural Snake With Three.js and WebGL (suj/cod)20,383
threejs, webgl, javascript
Emotional Design: Let’s Design for Silence20,382
design
Designing Useful Ads20,381
design, monetization, ai
Fast by Default (den)20,380
performance, architecture, tooling, code-reviews, processes
WebSocket Penetration Testing: A Complete Guide to CSWSH20,379
guides, security, websockets, testing
Webspace Invaders (mat)20,378
ai, traffic
“Design Courage”20,377
design
Vite, Rust, and the Future of JavaScript Tooling (eva+/bet)20,376
videos, interviews, vuejs, rust, javascript, oxc, bundling, tooling, ai
Trying to Make the Perfect Pie Chart in CSS (mon/css)20,375
css, html
Modern CSS Code Snippets20,374
websites, css, examples, comparisons
Design Is Dead, It’s All Evolution Now (ily)20,373
design, processes
Background Patterns With CSS “corner-radius” (pre/fro)20,372
css, backgrounds, effects, examples
AI Fatigue Is Real and Nobody Talks About It20,371
ai, code-reviews
Underlining Links With CSS (stu)20,370
css, links
Large Tech Companies Don’t Need Heroes (sea)20,369
processes, engineering-management, career
Definitive Guide to Multi-Threaded Rendering on the Web (hac)20,368
guides, dom, rendering
Why Your Brain Rebels Against Redesigns—Even Good Ones20,367
design, redesigning, link-lists
The Return of the Intuitive Designer in the Age of AI20,366
design, user-experience, ai
Your Design System Needs an Enforcer (nng)20,365
design-systems, processes
Why JavaScript Needs Structured Concurrency20,364
javascript, concurrency, asynchronicity
What to Expect in Angular 2220,363
angular
The CSS Selection (ven/pro)20,362
css, metrics, studies, research
The Browser Hates Surprises (fro)20,361
browsers, performance
Interop 2025: A Year of Convergence (stu/web)20,360
interoperability, web-platform, browsers, retrospectives, metrics
How Generative AI Is Redefining Brand Identity Systems20,359
ai, branding, design
How (and Why) to Stop Users From Selecting Text on Your Website20,358
css
A New Meta Tag for Respecting Text Scaling on Mobile (mat)20,357
accessibility, metadata, scaling
Minifier Benchmarks (j9t)20,356
minification, tooling, metrics, comparisons, swc, html-minifier, htmlnano
CSS “@scope”: An Alternative to Naming Conventions and Heavy Abstractions (sma)20,355
css, scope, naming
Why Designers Secretly Love Constraints (Even When We Complain About Them) (web)20,354
design
What’s New in ViteLand: January 2026 Recap (man/voi)20,353
release-notes, vite, vitest, rolldown, oxc
Quick Tip: Do Not Replicate OS Behavior (nat)20,352
accessibility, tips-and-tricks
Measuring SVG Rendering Time (sto)20,351
svg, png, images, rendering, performance, web-vitals, metrics
How to Write Alt Text for News (sta/the)20,350
how-tos, alt-text, accessibility, images
How to Use the “Auto” Value With “clamp()” (css)20,349
how-tos, css, functions
How to Improve Your HTML Game (j9t)20,348
how-tos, html, conformance, learning, career
Git’s Magic Files (and)20,347
git, configuration
Clarity Is Not the Enemy of Depth (the)20,346
content, writing, accessibility
Accessibility Conformance Testing (ACT) Rules Format 1.1 (wil+/w3c)20,345
accessibility, compliance, testing, documentation
You Probably Shouldn’t Be Annotating Focus Order (eri)20,344
accessibility, focus, forms, annotations
[Webpack] Roadmap 2026 (eve)20,343
webpack
AI Will Eliminate the Need for Accessibility Professionals? I Think Not20,342
ai, accessibility, testing, career
Stop Installing Libraries: 10 Browser APIs That Already Solve Your Problems20,341
javascript, libraries, apis, web-platform
Introduction to the New HTML Element “<geolocation>” (mat)20,340
introductions, html, geolocation
CSS Properties That Solve Annoying Problems (kev)20,339
videos, css
From Basic Adoption to Meaningful Measurement: How Design System Metrics Evolve (zer)20,338
design-systems
State of JavaScript 2025 [Results] (sac/dev)20,337
surveys, metrics, javascript
Nice Select (arg)20,336
forms, css
Introducing Deno Sandbox (tin/den)20,335
deno
How to Shoot a Screen Using a Board of Keys (mwi)20,334
screenshots, keyboard-shortcuts, history, apple
How Eleventy Survived: Funding, Growth, and Open Source Reality (zac+/fon)20,333
podcasts, interviews, eleventy, foss
Elastic/Bouncy Text Effect (css)20,332
css, effects
Deno Deploy Is Generally Available (lca+/den)20,331
deno
Combobox vs. Multiselect vs. Listbox: How to Choose the Right One (vit/sma)20,330
how-tos, forms, design-patterns, comparisons
Building Bulletproof React Components20,329
react, components
A Percise Parser (rem)20,328
javascript, parsing
Accessible Inline Collapsible (eri)20,327
accessibility, html, disclosure-widgets
Accessibility Progress and Healthy Engineering Teams (hbu)20,326
accessibility, technical-debt, web-platform, prioritization
What’s Missing From the Web Platform? (wes+/syn)20,325
podcasts, web-platform, wish-lists
What Is JPEG XL: Do We Really Need Another Image Format? (aar/deb)20,324
jpeg-xl, images, quality, performance, metrics
Stop Asking “Is This on Brand?”—It’s Killing Your Creativity (web)20,323
design, branding, creativity
Release Notes for Safari Technology Preview 236 (jon/web)20,322
release-notes, safari, apple, browsers
Performance-Optimized Video Embeds With Zero JavaScript (stf/fro)20,321
multimedia, performance
Node.js Path Traversal: Prevention and Security Guide (loi)20,320
guides, nodejs, security
Limiting Work in Progress Is a Superpower20,319
project-management, processes, productivity, agile, scrum
Implementing the Temporal Proposal in JavaScriptCore (you/iga)20,318
javascriptcore, javascript-engines, time
HTML Minifier Next 5, a Quick Upgrade Guide (j9t)20,317
guides, html-minifier
Explicit Resource Management in JavaScript20,316
javascript
Building an RSS Aggregator With Astro (ray)20,315
astro, rss, syndication, functionality
Accessible Design Is Digital Infrastructure (ann)20,314
accessibility, design
Tim Cook Sold Apple’s Soul (kev)20,313
apple
The Indie Web Is Not Defined by Its Enemies (khu)20,312
indieweb, ai
Selfish AI (cre)20,311
ai
Google Helped Israeli Military Contractor With AI, Whistleblower Alleges (was)20,310
google, ai, ethics, privacy
When Design Stops Asking Why and Starts Asking, “Can AI Do It?”20,309
design, ai, processes, quality
The Too Early Breakpoint (sha)20,308
css, layout, breakpoints
Tickering With Node.js Core on ARM64 Windows (joy)20,307
nodejs, building, windows, microsoft
Repeatable Form Fields Made Simple (aar)20,306
forms, html, web-components
My Opinionated ESLint Setup for Vue Projects (ale)20,305
eslint, configuration, vuejs
A Broken Heart (api)20,304
performance, fonts, emoji
New to the Web Platform in January (rac)20,303
release-notes, web-platform, browsers, firefox, mozilla, chrome, google
“WCAG Is Difficult to Read, Don’t Read It” Is a Self-Fulfilling Prophecy (yat)20,302
wcag, standards, accessibility
React’s “ViewTransition” Element (chr/fro)20,301
react, view-transitions
Practical Use of AI Coding Tools for the Responsible Developer (ska/sma)20,300
ai, tooling, prompting
How the Same Content Always Has Multiple Different Versions20,299
accessibility, content, comparisons
Announcing Rspress 2.020,298
release-notes
AI Agents Explained (tre)20,297
ai-agents, ai
Vibe Prototyping Is a Double-Edged Sword (edd)20,296
prototyping, vibe-coding, ai, design
Understanding Hydration in Frontend Frameworks: Definition, Challenges, and Optimization Strategies (ele/des)20,295
guest-posts, frameworks, hydration, optimization, concepts, strategies
The Design System Paradox: How Abstraction Can Hollow Out Quality (pjo/zer)20,294
design-systems, quality, training
OpenJS Foundation Security Program: Annual Report 2025 (ope)20,293
openjs, security
Is Learning CSS a Waste of Time in 2026?20,292
css, learning, career, discussions
How to Make an HTTP Request in Node.js (loi)20,291
how-tos, nodejs, http
Cryptography Usage in Web Standards (w3c)20,290
standards, cryptography, security
llms.txt and robots.txt: Optimizing for AI Bots and Answer Engines20,289
ai, optimization, aiso, robotstxt, llmstxt, comparisons
Why I Use Kirby CMS (jon)20,288
kirby
Making Interesting Borders With CSS “corner-shape” (cas)20,287
css, borders
Why I Don’t Call Myself an Accessibility Expert20,286
accessibility, career
The Next Decade of UX: Why Psychology Matters More Than Ever (tbf/nng)20,285
videos, interviews, user-experience, design, outlooks
Introducing ReliCSS: A Tool for Front-End Archaeology (stu)20,284
introductions, tooling, css, auditing
How to Style the New “::search-text” and Other Highlight-y Pseudo-Elements (dxn/css)20,283
how-tos, css, selectors
How to Design Great Alt Text: An Introduction (deq)20,282
how-tos, introductions, alt-text, images, accessibility
How Rolldown Works: High-Performance Code Splitting With Bitset Logic (atr)20,281
rolldown, bundling, code-splitting, performance
How an Accessibility Designer Adds Keyboard Shortcuts to a Web App (eri)20,280
web-apps, keyboard-shortcuts, accessibility
Are We Doing UX for AI the Right Way? (cxo)20,279
user-experience, design, conversational-design, ai, link-lists
AI’s Text-Trap: Moving Towards a More Interactive Future20,278
ai, interaction-design, user-experience
7 Learnings From Anders Hejlsberg: The Architect Behind C# and TypeScript20,277
lessons, scalability, typescript, foss, ai, collaboration
We’re Creating a Knowledge Collapse and No One’s Talking About It20,276
ai, documentation, learning, career
Unstacking CSS Stacking Contexts (sma)20,275
css, positioning
Try Text Scaling Support in Chrome Canary (jos)20,274
chrome, google, browsers, scaling, accessibility
Some Notes on Starting to Use Django (b0r)20,273
django
Solving Shrinkwrap: New Experimental Technique (kiz)20,272
css, techniques
On the Need for Neutral Maintained Minifier Metrics (j9t)20,271
minification, tooling, html-minifier, htmlnano
More Invoker Commands, and More Reasons Not to Use JavaScript Please (paw)20,270
html, examples
How AI Is Redefining the Way We Find Content (cle)20,269
ai, crawling, search, content, seo
A Year of Creator Wins: Highlights From the JetBrains Content Creators Program 2025 (jet)20,268
jetbrains, community
How Web Performance Impacts User Experience (mat/deb)20,267
performance, user-experience, web-vitals, metrics
Why the Future of Design Is Less Flash and More Thought20,266
design, outlooks
There Is No Need to Trap Focus on a “dialog” Element (zel/css)20,265
modals, focus, accessibility
Supporting Open Source in 2026: Why It Matters More Than Ever ($50,000) (mar/fro)20,264
foss, web-platform
Improving Single Executable Application Building for Node.js (joy)20,263
nodejs
Drawing Connections With CSS Anchor Positioning20,262
css, anchor-positioning
Design Systems Checklist (tyc)20,261
design-systems, checklists
Density vs. Clarity: The Core Tension in Modern UI Design (web)20,260
design, information-design, minimalism, comparisons, figma
Claude Code for Designers: A Practical Guide20,259
guides, design, claude, anthropic, ai
A Security Checklist for Your React and Next.js Apps20,258
security, react, nextjs
9 Reasons to Choose Sketch in 2026 (fre/ske)20,257
sketch
SPAs Are a Performance Dead End (yeg)20,256
single-page-apps, html, performance
How to Implement Rate Limiting in nginx (naw/one)20,255
how-tos, servers, nginx, rate-limiting, security
Porting 100k Lines From TypeScript to Rust Using Claude Code in a Month (vje)20,254
migrating, typescript, rust, claude, anthropic, ai
Vibe Prototyping Isn’t Solving Any Problems—but It’s Creating Many New Ones (pav)20,253
prototyping, design, ai, vibe-coding
Using Maturity Models to Build Accessibility That Lasts (ted)20,252
accessibility
npmx (dan/npm)20,251
websites, npmx, npm, packages
Software Design Principles That Matter20,250
software-design, principles, examples
Responsive Hexagon Grid Using Modern CSS (css/css)20,249
css, functions, math, responsive-design
How to Use Font Ligatures20,248
how-tos, typography, fonts, tooling, adobe, figma, microsoft, css
Figma Slots for Repeating Items (nat)20,247
figma, components
Anchor Interpolated Morph (AIM) (arg)20,246
css, animations, techniques
6 Ways to Set Better Content Accessibility Goals in 202620,245
accessibility, processes
The Context Collapse Problem20,244
ai, documentation
Why Webflow Isn’t the Future—Yet (web)20,243
webflow, low-and-no-code
When Will CSS Grid Lanes Arrive? How Long Until We Can Use It? (jen/web)20,242
css, grids, masonry, layout
Understanding the Fundamentals of CSS Layout (pol)20,241
fundamentals, css, layout, grids, flexbox, positioning
The Conditionally Open Web (cor)20,240
open-web
Names Are Hard but They Don’t Have to Be (col)20,239
internationalization, naming, validation
Handling Breaking Changes in a Design System Without Causing Chaos (sha/zer)20,238
design-systems, maintenance, semver, communication
Do We All See the Same Colors? (tba)20,237
colors, color-blindness, accessibility
CTA Hierarchy in the Wild (jim)20,236
user-experience, buttons, youtube
CSS Scope and Mixins (chr+/odd)20,235
videos, interviews, css, scope, mixins
CSS Optical Illusions (alv)20,234
css, effects, examples
Claude’s New Constitution (ant)20,233
claude, anthropic, ai
Barriers From Links With ARIA (aar)20,232
accessibility, links, html, aria
10 Tips for Effective User Experience Evaluation20,231
user-experience, usability, content, design, testing, tips-and-tricks
10 Digital Accessibility Predictions for 2026 (ons)20,230
accessibility, outlooks, wcag, career, ai, legal, assistive-tech
What Makes Generated UI Worth Keeping?20,229
design, ai, branding, tooling
How to Diagnose Lighthouse Score Discrepancies Between Tools (mat/deb)20,228
how-tos, performance, lighthouse, google, tooling
Floating Action Buttons Are Bad, and What to Do Instead (eri)20,227
buttons, usability, material-design, google
Mobile App Accessibility Under EN 301 549 v4.1.020,226
accessibility, mobile, standards
Why Light-Weight Websites May One Day Save Your Life (mah)20,225
performance, accessibility, print, frameworks
The Accessibility Manager Moment No One Warns You About20,224
accessibility, leadership, legal, communication
Securing npm Is Table Stakes (nza+/cha)20,223
podcasts, interviews, npm, security, ai
I Learned the First Rule of ARIA the Hard Way (css)20,222
accessibility, aria, semantics, html
How to Favicon in 2026: Three Files That Fit Most Needs (sit/evi)20,221
how-tos, images, favicons
Demystifying Screen Reader Use for Manual Testing: Deneb Pulsipher and Kosi Asabere20,220
videos, accessibility, testing, screen-readers
CSS in 2026: The New Features Reshaping Frontend Development (log)20,219
css, functions
Accessibility 101 and Core Concepts (kno)20,218
videos, accessibility, introductions, concepts
View Transitions and Playing Video (chr/fro)20,217
javascript, view-transitions, multimedia
Some Thoughts on the Open Web (mno)20,216
open-web, web
Rethinking “Pixel Perfect” Web Design (ami/sma)20,215
design, quality
Node.js 16 to 25 Performance Benchmarks20,214
nodejs, performance, metrics, comparisons
Lowering the Specificity of Multiple Rules at Once (mat)20,213
css, cascade
Inside Turbopack: Building Faster by Building Less (she+)20,212
turbopack, performance
Faking a Fieldset-Legend (tyl/clo)20,211
html, forms, css
Developing Trustworthy Information (jma)20,210
writing, content, ai
Designing Beyond the Happy Path in Design Systems (ste/zer)20,209
design-systems, design
Animating Responsive Grid Layout Transitions With GSAP Flip (cod)20,208
css, grids, layout, animations, gsap, plugins
AI’s Missing Ingredient (cwo)20,207
ai, vibe-coding, creativity, design
A Brief History of Programming… (fir)20,206
videos, programming, history
Design Tokens With Confidence (luk)20,205
design-tokens, json, css
What Figma Got Wrong About Design Systems (web)20,204
figma, design-systems
The State of WebAssembly—2025 and 2026 (uno)20,203
webassembly, retrospectives, outlooks
What Design Leaders Must Unlearn to Lead in an AI-First World20,202
design, leadership, ai
Design in Code, Get Praise (ada)20,201
design, processes, communication
“Code Only” Props in Figma (nat)20,200
figma, props
Vercel vs. Netlify vs. Cloudflare: Serverless Cold Starts Compared20,199
vercel, netlify, cloudflare, serverless, comparisons, metrics
jQuery 4.0.0 (tim/jqu)20,198
jquery, release-notes
How to Build a WordPress Block Theme20,197
how-tos, wordpress, theming
ASCII Characters Are Not Pixels: A Deep Dive Into ASCII Rendering20,196
deep-dives, ascii, rendering
AdonisJS v7 Is Feature-Complete and Entering Final Validation (vir/ado)20,195
release-notes, adonisjs
The Astro Technology Company Joins Cloudflare20,194
astro, cloudflare
Beyond Compliance: 5 Surprising Ways the UVAC Framework Turns Accessibility Into a Brand Powerhouse (wil)20,193
accessibility, processes, concepts
When Design Kills Usability—Meet the Custom Cursor (mal)20,192
videos, design, usability, cursors
State of UX 2026: Design Deeper to Differentiate (nng)20,191
user-experience, design, outlooks, career, ai
Security (vik+/htt)20,190
web-almanac, studies, research, metrics, security, tls, certificates, cookies, csp, http-headers, apis, sanitization, configuration
PWA (htt)20,189
web-almanac, studies, research, metrics, progressive-web-apps, web-apps, web-workers
Ecommerce (htt)20,188
web-almanac, studies, research, metrics, ecommerce, tooling, performance, web-vitals, lighthouse
CMS (htt)20,187
web-almanac, studies, research, metrics, content-management, tooling, wordpress, user-experience, performance, web-vitals, lighthouse, apis
Chrome 145 Adds Experimental Support for Vertical Tabs (bra)20,186
chrome, google, browsers
Better Defaults for Popovers (mat)20,185
pop-overs, css, resets
Usability Heuristics and Competition in Games20,184
usability, heuristics, design, aesthetics
The Incredible Overcomplexity of the Shadcn Radio Button (pau)20,183
html, forms, shadcn, complexity
Why Designers Are the New Bureaucrats (web)20,182
design, processes
WebAssembly (htt)20,181
web-almanac, studies, research, metrics, webassembly
Using “100vw” Is Now Scrollbar-Aware (in Chrome 145+, Under the Right Conditions) (bra)20,180
css, units, scrolling, chrome, google, browsers
Third Parties (htt)20,179
web-almanac, studies, research, metrics, embed-code
The Missing Link for Web Components (kin/fro)20,178
web-components, typescript, json, mcp, ai, tooling
StyleX vs. Tailwind: Meta’s Take on CSS-in-JS Maintainability (ric)20,177
tailwind, comparisons, css-in-js, maintainability, css, javascript
Software as Fast Fashion (tan)20,176
programming, ai, sustainability, economics
SEO (htt)20,175
web-almanac, studies, research, metrics, seo, robotstxt, llmstxt, links, content, structured-data, amp, html, internationalization
Privacy (htt)20,174
web-almanac, studies, research, metrics, privacy, legal, consent-management, do-not-track
Performance (25p+/htt)20,173
web-almanac, studies, research, metrics, performance, web-vitals, hints, speculation
Page Weight (bar+/htt)20,172
web-almanac, studies, research, metrics, performance, web-vitals, lighthouse, google
On Coding Agents and the Future of Design (jef)20,171
ai, ai-agents, design, outlooks
Generative AI (chr+/htt)20,170
web-almanac, studies, research, metrics, ai, robotstxt, llmstxt
Fonts (htt)20,169
web-almanac, studies, research, metrics, fonts, performance, css
Cookies (htt)20,168
web-almanac, studies, research, metrics, cookies
CDN (htt)20,167
web-almanac, studies, research, metrics, content-delivery, http, performance, http-headers, compression, tls, hints
Building a Scroll-Driven Dual-Wave Text Animation With GSAP (cod)20,166
gsap, animations, scrolling
Accessible Faux-Nested Interactive Controls (eri/pic)20,165
accessibility, conformance, html, nesting
Accessibility (bog+/htt)20,164
web-almanac, studies, research, metrics, accessibility, colors, contrast, zooming, scaling, internationalization, keyboard-navigation, skip-links, forms, labels, placeholders, multimedia, images, aria, overlays, ai
The Unhinged World of Tech in 2026… (fir)20,163
videos, outlooks, ai, javascript
The “Senior Developer” Is Now the New “Entry Level”20,162
career, ai
So You Think Your Website Is Doing Great (cit)20,161
html, javascript, css, quality
Smashing Animations: Theming Animations Using CSS Relative Colour (mal/sma)20,160
animations, colors, theming, css
Node.js January 2026 Security Release: What Changed and Why It Matters (nod)20,159
nodejs, security
Making GitHub Actions Suck a Little Less20,158
github-actions
Live Region Support (aar)20,157
accessibility, live-regions, support, screen-readers, nvda, jaws, voiceover
Everything You Need to Know About Ruby 4.0 (hon)20,156
ruby
EPUB and HTML—Survey Results and Next Steps (rei/w3c)20,155
surveys, epub, html
Beyond Manual Audits: How Automation Strengthens Accessibility (equ)20,154
accessibility, auditing, automation, wcag
How to Use OpenCode: A Practical Guide and Builds20,153
guides, opencode, ai, mcp, tooling, installing
Introducing the “<geolocation>” HTML Element (tom+)20,152
introductions, html, geolocation, chrome, google, browsers
Tuesday, January 13, 2026 Security Releases (nod)20,151
release-notes, nodejs, security
Traditional Code Review Is Dead: What Comes Next?20,150
code-reviews, ai, processes, infrastructure, scalability
The Invisible Work (hvp)20,149
leadership, productivity, processes
Simulating Crop Marks (chr/fro)20,148
css
Mitigating Denial-of-Service Vulnerability From Unrecoverable Stack Space Exhaustion for React, Next.js, and APM Users (mco+/nod)20,147
nodejs, security, vulnerabilities, react, nextjs, tooling, monitoring, performance
Just the Browser (cor)20,146
websites, browsers, chrome, google, firefox, mozilla, edge, microsoft
Astro 6 Beta (mat)20,145
release-notes, astro
ARIA Roles Can Remove Their Children’s Semantics (ste)20,144
html, aria, semantics, accessibility
18 Predictions for 202620,143
outlooks, ai, usability, user-experience
Aspire for JavaScript Developers (dav)20,142
tooling, javascript, typescript
Stop Turning Everything Into Arrays (and Do Less Work Instead)20,141
javascript, methods, arrays
Solid.js Best Practices (bre)20,140
solidjs, best-practices, examples
OpenCode vs. Claude Code (bui)20,139
opencode, claude, anthropic, ai, comparisons
Manufacturing as Code Is the Future, and the Future Is Now20,138
programming, outlooks
Is There Too Much Design in Design Systems? (sha)20,137
design, design-systems
Don’t Start With AI, Start With the Problem (cal/nng)20,136
videos, ai, processes
Design Systems and Shareable Browser Support (rob)20,135
design-systems, browsers, browserslist, support
A Polyfill for the HTML “switch” Element (tom)20,134
html, forms, polyfills
SVG Filters Are Just Amazing (ami)20,133
svg, filters
Comments Considered Harmful in the Age of LLMs (yeg)20,132
comments, ai, maintainability
Stop Using MySQL in 2026, It Is Not True Open Source (ott)20,131
mysql
On Abbreviating Accessibility (ons)20,130
accessibility, microcontent
How Wrong Can a JavaScript Date Calculation Go? (phi)20,129
javascript, time, apis
Focus Rings With Nested “contrast-color()”? (dav)20,128
css, selectors, functions, focus, contrast
Don’t Fall Into the Anti-AI Hype (ant)20,127
ai, career
What Is the Minimum Markup Needed to Create a Modal? (rus)20,126
modals, minimalism, html, css, accessibility
Prompt Engineering Won’t Fix Your Architecture20,125
architecture, ai
Not All Browser APIs Are “Web” APIs (pol)20,124
apis
How to Steal Any React Component20,123
react, components
How Markdown Took Over the World (ani)20,122
markdown, web
Death to Scroll Fade (dbu)20,121
scrolling, effects, performance
Beyond the Mouse: Animating With Mobile Accelerometers (ami/fro)20,120
mobile, javascript, animations
Brief Note on Application Keyboard Shortcuts (aar)20,119
accessibility, keyboard-shortcuts, screen-readers
Your Brand Just Evolved: The Rise of AI-Generated Identities (web)20,118
design, branding, ai
What Makes a Good Tech Meet-Up?20,117
discussions, community
Very Good Components (bee)20,116
websites, components, html
Popover Context Menus With Anchor Positioning (chr/fro)20,115
css, tooltips, pop-overs, anchor-positioning
Node.js Package Configuration Guide (nod)20,114
guides, packages, dependencies, configuration, commonjs, esm
Judging Severity in Accessibility Issues (joe)20,113
accessibility
A Data Model for Git (and Other Docs Updates) (b0r)20,112
git
Getting Started With Mistral Vibe CLI and Exploring Devstral 2 Small—Best Local Model?20,111
videos, introductions, mistral, ai
Software Is Culture (fig)20,110
culture
Profiling With React Performance Tracks20,109
videos, react, profiling, performance
Modern Emails Using React20,108
videos, email, react
Exploring React Performance (en-)20,107
videos, react, performance
Designing Page Transitions20,106
videos, design, transitions, effects
Date Is Out, Temporal Is In (wil/pic)20,105
javascript, time
Common Misconceptions About Testing Accessibility (tet)20,104
accessibility, testing
Async React20,103
videos, react, asynchronicity
2026 Accessibility Hiring Looks Busy, Yet the Patterns Show Underlying Weakness20,102
accessibility, career
Ethical and Resilient Blog Hosting (pad)20,101
hosting, blogging, ethics
Web Dependencies Are Broken—Can We Fix Them? (lea)20,100
dependencies, javascript, import-maps, web-platform
npm to Implement Staged Publishing After Turbulent Shift Off Classic Tokens (sar/soc)20,099
npm, dependencies, security, github
4 CSS Features Every Front-End Developer Should Know in 2026 (arg)20,098
css, functions, scrolling
Designing With AI-Readable Design Systems in Cursor20,097
design, design-systems, ai, cursor, code-editors
5 Accessibility Checks to Run on Every Component (hdv/zer)20,096
accessibility, components, testing, keyboard-navigation, design-tokens, microcontent, zooming, screen-readers
Google Broke My Heart (per)20,095
google, search, licensing, legal
2025 JavaScript Rising Stars20,094
javascript, frameworks, libraries, react, vuejs, tooling, ai, mobile, desktop, state-management, css-in-js, testing, static-site-generation, graphql, retrospectives
We Fixed a 6-Year-Old JavaScript Memory Leak (mat/deb)20,093
javascript, memory
The Text Mode Lie: Why Modern TUIs Are a Nightmare for Accessibility20,092
accessibility, command-line, ai, gemini, nvda, vi+vim, unix-like
How to “@scope” CSS Now That It’s Baseline (dxn/fro)20,091
css, scope, examples
Streaming JSON in Just 200 Lines of JavaScript20,090
streaming, json, javascript
Kai Wong’s Predictions for the Future of Accessibility20,089
accessibility, outlooks
JavaScript Frameworks—Heading Into 2026 (rya/thi)20,088
javascript, frameworks, outlooks, ai
How to Create a Pixel-to-Voxel Video Drop Effect With Three.js and Rapier (cod)20,087
how-tos, javascript, effects, tooling, gsap, threejs
How I Evaluate an ACR (VPAT) (aar)20,086
accessibility, compliance, vpat-acr, processes
Eric Bailey’s Predictions for the Future of Accessibility (eri)20,085
accessibility, outlooks
Damian Sian’s Predictions for the Future of Accessibility20,084
accessibility, outlooks
Claude Devs Complain About Surprise Usage Limits, Anthropic Blames Expiring Bonus (tho/the)20,083
claude, anthropic, ai
Anna Thielke’s Predictions for the Future of Accessibility20,082
accessibility, outlooks
The Nine Levels of JavaScript Dependency Hell (and)20,081
javascript, dependencies, maintainability
Pre-Tenuring in V8 (win)20,080
v8, javascript-engines
WASI 1.0: You Won’t Know When WebAssembly Is Everywhere in 202620,079
webassembly, components, standards
The Next Two Years of Software Engineering (add)20,078
programming, career, outlooks, ai
I Built an App in Every Frontend Framework20,077
frameworks, libraries, react, vuejs, svelte, angular, lit, marko, jquery, alpinejs, solidjs, astro, qwik, comparisons
How GitHub Monopoly Is Destroying the Open Source Ecosystem (plo)20,076
foss, github, microsoft
V7: Typographic Scales and Technical Pens20,075
design, typography, css, case-studies
TIL: Why ARM Has a JavaScript Instruction20,074
javascript
Sounds on the Web20,073
web, multimedia
How Browsers Work (dmy)20,072
websites, guides, browsers, urls, http, tcp, html, dom
Being a Colourblind Designer (wpa)20,071
videos, accessibility, color-blindness, colors, design
21 Lessons From 14 Years at Google (add)20,070
lessons, google, career
Web Development Is Fun Again20,069
ai, creativity
The Package Management Landscape (and)20,068
dependencies, tooling, overviews, link-lists
10 UX Design Shifts You Can’t Ignore in 202620,067
design, user-experience, ai, outlooks
The Code Review That Cost $2 Million20,066
code-reviews, economics, ai
Managing Infrastructure Across Multiple Environments20,065
infrastructure, dev-ops, maintenance
Building a JavaScript Runtime in One Month (the)20,064
javascript, runtimes, functionality
Security Basics for Vibe-Coders (owe/pro)20,063
fundamentals, security, vibe-coding, ai
2026: The Year of My Website (the)20,062
indieweb, social-media
JavaScript’s “for…of” Loops Are Actually Fast20,061
javascript, loops, performance
A Website to Destroy All Websites (hen)20,060
web, indieweb
“!important” and CSS Custom Properties (chr/fro)20,059
css, custom-properties, cascade
On Using IndieWeb Protocols Like Webmentions and Keeping Your Website Separate From Social Media (pat)20,058
indieweb, webmentions, social-media
How Can You Tell What’s Allowed Inside Each HTML Element? (rus)20,057
html, conformance
What’s !important: Conditional View Transitions, CSS/SVG Text Effects, the Best of CSS Bluesky, and More (dxn/css)20,056
css, retrospectives, view-transitions, design-systems, firefox, svg
What Happened to WebAssembly (emn)20,055
webassembly
Teaching Agents About Performance Insights (web/per)20,054
performance, ai, ai-agents
More Efficiency, More Demand20,053
efficiency, ai, career
Chrome DevTools Features I Use All the Time (and Why You Should Too) (kee/per)20,052
dev-tools, chrome, google, browsers, performance, accessibility, lighthouse, network, embed-code
Building the Brain of Your Accessibility AI (ted)20,051
accessibility, ai
Touch Targets and Web Accessibility20,050
accessibility, touch
The Curious Case of the Shallow Session SPAs (sli/per)20,049
performance, single-page-apps, javascript, frameworks, metrics
Testing Methods: Status Messages (dec)20,048
accessibility, testing, wcag, notifications, link-lists
From Theory to Tiny: Implementing Compression Dictionaries (rya/per)20,047
performance, compression, content-delivery
8 Predictions for 2026: What Comes Next in AI? (phi)20,046
ai, outlooks
“require(esm)” in Node.js: From Experiment to Stability (joy)20,045
nodejs, esm
HTML Content Categories (rus)20,044
html, semantics
“Why Do You Code?”—a Surprisingly Hard Question20,043
discussions, programming, career
Why Developers Are Ditching Frameworks for Vanilla JavaScript20,042
frameworks, javascript, apis, performance, micro-frontends, architecture
The 8 Trends That Will Define Web Development in 2026 (log)20,041
trends, outlooks, ai, frameworks, tanstack, typescript, edge-computing, presentational-html
Testing Methods: Name, Role, Value (dec)20,040
accessibility, testing, wcag, aria, link-lists
Introducing Flint (jos)20,039
introductions, tooling, linting
How to Design for (and With) Deaf People (vit/sma)20,038
how-tos, design, accessibility
7 Steps of a Web Performance Journey (ser/per)20,037
performance, processes
7 Real Predictions for Web Design in 2026 (web)20,036
design, outlooks, ai, aesthetics
Reliability by Design20,035
design, ai, link-lists
Why AI-Generated UX Still Feels Off20,034
user-experience, ai
Opening and Closing Dialogs Without JavaScript Using HTML Invoker Commands (sch)20,033
modals, html
Third Parties and Single Points of Failure (pau/per)20,032
performance, embed-code, metrics
The Final Nail in the HTML5 Document Outline Coffin (tem)20,031
html, headings, accessibility
Testing Methods: Accessible Authentication (Enhanced) (dec)20,030
accessibility, testing, wcag, authentication, security
pnpm in 2025 (koc/pnp)20,029
pnpm, retrospectives
How to Dynamically Install Custom Elements (hey)20,028
how-tos, web-components, naming, javascript
How I Write Custom Elements With “lit-html” (fro)20,027
web-components, lit
Tests for CSS Generated Content Alternative Text (rus)20,026
css, generated-content, alt-text, accessibility, support, voiceover, nvda, jaws, screen-readers
The Fall of JavaScript (yeg)20,025
javascript, typescript, programming
Tips for Making the Performance Panel Less Overwhelming (duf/per)20,024
performance, dev-tools, browsers, chrome, google, tips-and-tricks
Testing Methods: Accessible Authentication (Minimum) (dec)20,023
accessibility, testing, wcag, authentication, security
Eight Quick Things to Remember When Using “aria-owns” (rus)20,022
accessibility, aria, dom, assistive-tech
You Can’t Design Software You Don’t Work On (sea)20,021
software-design, architecture
Trends That Defined JavaScript in 2025 (low)20,020
javascript, trends, retrospectives, react, frameworks, tooling, ai
Testing Methods: Redundant Entry (dec)20,019
accessibility, testing, wcag, forms
JavaScript Creator Warns Against “Rushed Web UX Over Native” as Windows 11 Leans Harder on WebView2 and Electron (win)20,018
windows, microsoft, web-apps, electron
Chrome DevTools for Debugging Web Performance (nuc/per)20,017
performance, debugging, dev-tools, chrome, google, browsers
The Most Dangerous Person on Your Team Is “Dave” (and He Just Quit) (hac)20,016
collaboration, documentation, ai, prompting
Testing Methods: Error Prevention (All) (dec)20,015
accessibility, testing, wcag, errors
Revisiting HTML Streaming for Modern Web Performance (per)20,014
performance, html, streaming
The Cost of Consistency: Avoiding Design System Bottlenecks (omi)20,013
design-systems, consistency, lessons, angular
Testing Methods: Help (dec)20,012
accessibility, testing, wcag
Ruby Turns 30: A Celebration of Code, Community, and Creativity (jet)20,011
ruby, ruby-on-rails, history, anniversaries
How to Stay Ahead of AI as an Early-Career Engineer (gwe/iee)20,010
how-tos, career, ai
Chasing BFCache Navigations (per)20,009
performance, bfcache, caching
Nobody Knows How Large Software Products Work (sea)20,008
programming, software-design, complexity, maintainability
TTFB Doesn’t Mean What You Think It Means (pro/per)20,007
performance, concepts, http
The Three Semantics of HTML (mat)20,006
html, semantics
Node.js in 2026 With Rafael Gonzaga (raf)20,005
podcasts, interviews, nodejs, outlooks
Why Object of Arrays (SoA Pattern) Beat Interleaved Arrays: A JavaScript Performance Rabbit Hole20,004
javascript, performance, arrays
Fixing TypeScript Performance Problems: A Case Study (vig)20,003
typescript, performance, case-studies
Web Components Are the Comeback Nobody Saw Coming20,002
web-components, frameworks, developer-experience
The AI Divide20,001
ai, studies, research
Testing Methods: Error Suggestion (dec)20,000
accessibility, testing, wcag, errors, link-lists
For the Love of “<details>” (dev/mat)19,999
disclosure-widgets, html
Fixing the URL Params Performance Penalty (tun/per)19,998
performance, urls, caching, http-headers, examples
Why “role="button"” on a “<button>” Does Nothing (rus)19,997
html, buttons, attributes, aria
The Two Most Important Tools for HTML Developers19,996
tooling, html, conformance, minification, html-minifier, htmlnano, swc
Five Accessibility Trends to Watch in 202619,995
accessibility, trends
Testing Methods: Labels or Instructions (dec)19,994
accessibility, testing, wcag, labels, forms, link-lists
The HTML Elements Time Forgot (val/mat)19,993
html, history
“text-decoration-inset” Is Like Padding for Text Decorations (dxn/css)19,992
css
Optimizing for 75% Is Fine—Optimizing for 90% Is Where It Gets Interesting (jor/per)19,991
performance, web-vitals, optimization
A Year of Vibes (mit)19,990
ai, retrospectives, wish-lists
2026 Predictions: The Next Big Shifts in Web Accessibility (web)19,989
accessibility, outlooks, ai, wcag, html
Did You Know Some ARIA Roles Remove Child Semantics? (rus)19,988
html, aria, semantics, accessibility
Testing Methods: Error Identification (dec)19,987
accessibility, testing, wcag, errors, link-lists
Styling by Language: Using the “lang” Attribute for Multilingual Design (mat)19,986
html, internationalization, css
Insights From 100 Site Speed Reviews in 2025 (per)19,985
performance, retrospectives
The Many Lives of the Page Title (kat/mat)19,984
html, user-experience, accessibility, wcag
Testing Methods: Consistent Help (dec)19,983
accessibility, testing, wcag, consistency
Optimizing CLS for Infinite Scroll and Load More (ver/per)19,982
performance, web-vitals, scrolling, optimization
8 PostgreSQL Tricks (kem)19,981
postgresql, databases, tips-and-tricks
Design Wrapped 202519,980
design, retrospectives
Top 3 Qodana 2025.3 Release Highlights (jet)19,979
qodana, jetbrains
Tech Talk: Improving Window Resize Behavior (ele)19,978
electron, resizing, debugging, case-studies
The Anatomy of an Accessible Text Field (ink)19,977
forms, accessibility, html, labels
Testing Methods: Change on Request (dec)19,976
accessibility, testing, wcag, link-lists
Targeting by Reference in the Shadow DOM (mey)19,975
shadow-dom, html, javascript
Semantics Beyond the Tag Name (kno/mat)19,974
html, attributes, aria, semantics, accessibility
Masonry Layout Is Now Grid-Lanes (sun/css)19,973
css, layout, masonry
Introducing CSS Grid Lanes (jen+/web)19,972
introductions, css, masonry, layout
Early Signs of EAA Enforcement Across Europe (deq)19,971
accessibility, eaa, legal, compliance
Accessibility Is Personal (css)19,970
accessibility, html
A Short History of Performance Engineering (per)19,969
performance, history
5 Terminal Commands That Saved Me Hours of Clicking19,968
command-line, productivity