Life is about deciding who you are: Join us and decide to be for environmental protection, free education and generous social security, human rights and international law, and, of course, action against oppression and violence (starting with helping the people of occupied Palestine 🇵🇸)! Hide

Frontend Dogma

News and Tools for Web Developers, 1990s to Now

Updated daily

Articles and videos and books, people and projects and processes, tools and tips and tricks from the world of web development and design.

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

Entry (Sources) and TopicsDate#
Why Aren’t AI Productivity Gains Higher?20,345
ai, productivity, engineering-management
Edge.js: Running Node Apps Inside a WebAssembly Sandbox (was)20,344
tooling, nodejs, webassembly
Anime vs. Marvel/DC: Designing Digital Products With Emotion in Flow (sma)20,343
design, user-experience
Flexbox Masonry Layout (Explained With Math) (fro)20,342
css, flexbox, layout, math
GitHub Copilot’s Effect on Collaboration Has Stunned Researchers (the)20,341
studies, research, ai, github-copilot, github, productivity, metrics
AI Content Wasn’t Good Enough—Now It Is (thi/ahr)20,340
content, writing, ai, quality
EU-Funded AI Systems “Exacerbate” Human Rights Violations in the Arab Region (the)20,339
ai, ethics
There Is No “Wrong” in CSS (j9t)20,338
css
The Perfect CSS Stylesheet Should Be… (alv)20,337
css
4 Reasons That Make Tailwind Great for Building Layouts (zel/css)20,336
tailwind, layout
Every UI/UX Concept Explained in Under 10 Minutes20,335
videos, design, user-experience, concepts
SVG Favicons That Respect Theme Preference (paw)20,334
svg, favicons, images, dark-mode
How Can Governments Pay Open Source Maintainers? (ede)20,333
foss, economics
What Is Content Decay? (And How to Fix It Before It Tanks Your Traffic) (lou/ahr)20,332
how-tos, content, maintenance, seo
Supply-Chain Attack Using Invisible Code Hits GitHub and Other Repositories (dan/ars)20,331
security, github, dependencies
The Emerging AI Agents War20,330
ai-agents, ai, scraping, amazon, ecommerce
Avoiding “z-index” (don)20,329
css, positioning
The 49 MB Web Page20,328
performance, user-experience, embed-code
What Is SERP Volatility and What Should You Do About It?20,327
search, seo, google
The Dark Side of AI No One Talks About (jam/moz)20,326
ai, seo, robotstxt
Useful CSS Properties That Don’t Get Enough Attention (kev)20,325
videos, css
Abusing Customizable Selects (pat/css)20,324
forms, html, css, functions
AI Productivity Gains Are 10%, Not 10×20,323
ai, productivity, studies, research, metrics
Nominal Types in WebAssembly (win)20,322
webassembly, types
Source Maps: Shipping Features Through Standards (jon/blo)20,321
source-maps, javascript
What’s New in DevTools (Chrome 146) (mat/dev)20,320
release-notes, dev-tools, chrome, google, browsers
Building Dynamic Forms in React and Next.js (sma)20,319
forms, react, nextjs, javascript
Amazon Calls Engineers for a “Deep Dive” Internal Meeting to Discuss “GenAI”-Related Outages (the)20,318
amazon, aws, ai, quality
How Much Do Keywords Matter in 2026? (moz)20,317
keywords, seo, search, google
Too Much Color (kei)20,316
colors, oklch, css
The Enforced Accessibility of the “geolocation” Element (chr/fro)20,315
html, geolocation, accessibility
How We Rewrote 130K Lines From React to Svelte in Two Weeks20,314
migrating, react, svelte
Persuasive Design: Ten Years Later (sma)20,313
design, hci, retrospectives
The Value of “z-index” (ami/css)20,312
css, positioning
Do AI-Enabled Companies Need Fewer People? (sel)20,311
ai, hiring, economics, metrics, link-lists
View Transitions Can Swoop‽ (arg)20,310
css, view-transitions, effects
AI Agents vs. Traditional Automation: How Small Teams Can Choose the Right Approach20,309
ai, ai-agents, automation, comparisons
My First Git Commit (ddb)20,308
git
Accessibility and AI Agents20,307
accessibility, ai-agents, ai
Statistical Significance Isn’t the Same as Practical Significance (nng)20,306
concepts, user-experience
How Internet Sovereignty Is Reshaping Company Tech Stacks20,305
web, tech-stacks
What Are Secondary Keywords? (And How to Use Them) (ahr)20,304
how-tos, keywords, seo
Hardening Firefox With Anthropic’s Red Team (moz)20,303
firefox, mozilla, browsers, ai, anthropic
The Big Gotcha of Anchor Positioning (chr/fro)20,302
css, anchor-positioning
The Real Skill in Programming Is Debugging—Everything Else Is Copy–Paste20,301
programming, debugging
You Don’t Know HTML Tables20,300
html, tables, javascript
Labor Market Impacts of AI: A New Measure and Early Evidence (ant)20,299
ai, studies, research, metrics
AdonisJS 7 Transformers: A Deep Dive (mez)20,298
deep-dives, adonisjs, type-safety
Product Ethics Have Never Mattered More (uxd)20,297
product-management, ethics, ai, anthropic, openai, link-lists
Request for Developer Feedback: “focusgroup” (jac/dev)20,296
html, attributes, chromium, browsers
A GitHub Issue Title Compromised 4,000 Developer Machines20,295
security, github, ai
One CSS Property That Makes Numbers Look Instantly Better (ami)20,294
css
The Different Ways to Select “<html>” in CSS (dxn/css)20,293
html, css, selectors
[SolidJS] v2.0.0 Beta—the “<suspense>” Is Over Pre-Release (rya/sol)20,292
release-notes, solidjs
“display: green;”—Applying the Web Sustainability Guidelines (hdv/per)20,291
videos, sustainability
How to Steal npm Publish Tokens by Opening GitHub Issues (nec)20,290
npm, github, security, ai
Building a New Flash20,289
flash, tooling
Big Tech’s War on Democracy20,288
ai, anthropic
Announcing the Node.js LTS Upgrade and Modernization Program (ope)20,287
nodejs
Date Math in Javascript: The Hidden Trap You’ll Eventually Hit (phi/hac)20,286
javascript, time, math, apis
It’s 2026 and Google Search Is Totally Broken20,285
google, search, seo, foss, ai
Nobody Gets Promoted for Simplicity (ter)20,284
simplicity, complexity, career
W3C Accessibility Guidelines (WCAG) 3.0 (ala+/w3c)20,283
w3c, accessibility, guidelines, wcag
OpenAI Alters Deal With Pentagon as Critics Sound Alarm Over Surveillance (kev+/nbc)20,282
ai, openai, privacy, legal
What I Like About WCAG 3.0 (kar)20,281
accessibility, wcag
Eleventy Is Now Build Awesome (zac/11t)20,280
eleventy
Proxying Fetch Requests in Server-Side JavaScript (nza)20,279
javascript, data-fetching, nodejs, deno, bun, cloudflare
Seven Years to TypeScript: Migrating 11,000 Files at Patreon20,278
migrating, javascript, typescript, case-studies
Finding an Accessibility-First Culture in npmx (abb/pic)20,277
accessibility, culture
Get Features Faster With Chrome’s Two-Week Release Cycle (dev)20,276
chrome, google, browsers
1995: From Batman Forever’s Cinematic Design to HTML Tables (ric)20,275
web, history, design, netscape, mosaic, browsers, tables, layout, html, wysiwyg, code-editors
Google’s Chrome Browser Moves to a Two-Week Release Cycle (fre/the)20,274
chrome, google, browsers
Getting Started With the Popover API (sma)20,273
introductions, pop-overs, tooltips, apis, javascript
Microsoft Banned the Word “Microslop” in Its Copilot Discord Server, Then Began Restricting Access After Users Started Posting “Microsl0p” and Other Funnies (pcg)20,272
microsoft, ai, slop
Sticky Grid Scroll: Building a Scroll-Driven Animated Grid (the/cod)20,271
tutorials, css, grids, layout, scrolling, gsap
MCP Servers and the Return of the Service Account Problem (aem)20,270
servers, mcp, ai, security
Web Sustainability Guidelines Update (tzv/w3c)20,269
videos, w3c, sustainability, guidelines
A11y 101: 2.5.2 Pointer Cancellation (nat)20,268
introductions, accessibility
Palestinians Call for Increased Pressure on the Tech Companies Powering Israel’s Occupation and Gaza Genocide That Also Enable ICE Violence in the US (bds)20,267
privacy, ethics, microsoft, google, amazon
The Odometer Effect (Without JavaScript) (pre/fro)20,266
css, functions, effects
January 2026 Baseline Monthly Digest (mal/dev)20,265
browsers, support, web-platform, css, view-transitions, javascript, web-workers, apis, units
Why React 19’s Compiler Changes Everything for Senior Devs20,264
react, compiling
Get Your War On: AI Chatbots in the Kill Chain (dav)20,263
ai, anthropic, openai
External Import Maps, Today (lea)20,262
javascript, import-maps
How OpenAI Caved to the Pentagon on AI Surveillance (hay/ver)20,261
openai, ai, privacy
Popover API or Dialog API: Which to Choose? (zel/css)20,260
pop-overs, modals, apis, accessibility, javascript
Expose Your Design System to LLMs (hvp)20,259
design-systems, ai
Figcaptions Versus Alt Text (tem)20,258
html, images, alt-text, accessibility, comparisons
Quick Tip: Hosting HTML/CSS/JS Demos From Source Code on GitHub Pages (cod)20,257
hosting, github-pages, tips-and-tricks
JavaScript DRMs Are Stupid and Useless20,256
javascript, drm
The Most-Seen UI on the Internet? Redesigning Turnstile and Challenge Pages (clo)20,255
cloudflare
Configuration Collapse (nat)20,254
figma, components, configuration, props
Define the Theme Color for Safari 26 (gro)20,253
safari, apple, browsers, css
Claude Code vs. Cursor: Which AI IDE Wins for Real Development Work?20,252
claude, anthropic, cursor, ai, code-editors, comparisons
Yet Another Way to Center an (Absolute) Element (mon/css)20,251
css, centering
I Set Up My Own Web Server and Here’s What I Learned About nginx20,250
servers, nginx
What Claude Code Actually Chooses20,249
ai, claude, anthropic, studies, research
Eleventy: How to Work Around the “Git Last Modified” Performance Bottleneck (j9t)20,248
how-tos, eleventy, git, performance
Why Is WebAssembly a Second-Class Language on the Web? (eqr/moz)20,247
webassembly
A Design Turn20,246
design, ai, career
Release Notes for Safari Technology Preview 238 (jon/web)20,245
release-notes, safari, apple, browsers
When Building Is Free, What’s Worth Building? (uxd)20,244
ai, vibe-coding, prototyping, user-experience, usability
New to the Web Platform in February (rac/dev)20,243
release-notes, web-platform, browsers, chrome, google, firefox, mozilla, safari, apple
Lessons Learned From Failed Demos: Pure CSS Nav Thumb Flip on Scroll (ana/fro)20,242
lessons, css, effects
CSS Snapshot 2026 (fri+/w3c)20,241
css, standards
Create Pages From JSON Files With Eleventy (san)20,240
eleventy, json, static-site-generation
The Pentagon Is Making a Mistake by Threatening Anthropic (bin)20,239
ai, anthropic
An Exploit… in CSS?! (css)20,238
css, security
When Is a Link Not a Link? (dec)20,237
html, links, semantics, accessibility
AdonisJS v7 Is Here (vir/ado)20,236
release-notes, adonisjs
“Harmless” Website Updates Can Create Serious Problems for Your Users—Here’s How It Happens20,235
maintenance, accessibility
Accessibility Considerations for Off-Site Navigation and Downloads20,234
accessibility, navigation
16 Modern JavaScript Features That Might Blow Your Mind20,233
javascript
A Complete Guide to Bookmarklets (val/css)20,232
guides, bookmarklets, javascript, link-lists
The Rise of “Micro-Backends”: Why Frontend Devs Are Adopting Hono20,231
hono, express, comparisons, backend-for-frontend, architecture
Developer Experience at Scale—Lessons From Dropbox20,230
interviews, developer-experience, productivity, tooling, ai, lessons
CSS Masonry Layout Is Finally Coming: Native Grid Support Explained20,229
css, masonry, layout, examples
20,000 (fro)20,228
frontend-dogma
Rewriting a 12-Year-Old JavaScript Library in TypeScript20,227
refactoring, javascript, typescript
Writing a Good AGENTS.md (phi)20,226
ai, documentation
Goodbye “innerHTML”, Hello “setHTML”: Stronger XSS Protection in Firefox 148 (moz)20,225
javascript, methods, xss, security, firefox, mozilla, browsers
If Code Is Cheap, Intent Is the Currency20,224
ai-agents, ai, code-reviews, documentation
How We Rebuilt Next.js With AI in One Week (sou/clo)20,223
nextjs, ai, cloudflare, deploying
The React Foundation: A New Home for React Hosted by the Linux Foundation (mat/rea)20,222
react, facebook+meta
Best Practices for CSS Scope in Angular Applications (ale)20,221
css, scope, angular, best-practices
Oxfmt Beta (bos+)20,220
release-notes, formatting, tooling
x86 CPU Made in CSS (reb)20,219
css, programming, functionality
Firefox 148 Brings Central AI Control and New Web Standards (hei)20,218
firefox, mozilla, browsers
How I Setup Production-Grade Deployment for My (Somewhat) Vibe-Coded App (mar/fro)20,217
deploying, aws
Web AI: Everything You Need to Know About On-Device AI for the Web20,216
ai
A Designer’s Guide to Eco-Friendly Interfaces (sma)20,215
guides, design, user-experience, sustainability
Design Systems Are Platform Problems, Not Feature Problems (sha)20,214
design-systems
Virtual Scroll-Driven 3D Scenes (fro)20,213
css, scrolling, animations
“aria-haspopup” Might Not Do What You Think It Does (mat)20,212
html, aria, attributes, navigation, accessibility
On Software Quality (nic/pxl)20,211
quality, apple
Breakpoints (css)20,210
design, accessibility, mobile, css
AI as Art Director: Can Machines Develop Taste? (web)20,209
ai, design, aesthetics
Loading Smarter: SVG vs. Raster Loaders in Modern Web Design (hol/css)20,208
images, svg, progress-indicators, performance
How to Publish to npm From GitHub Actions (bah)20,207
how-tos, npm, github-actions
Dictionary Compression Is Finally Here, and It’s Ridiculously Good (pim/htt)20,206
compression, performance, javascript
From “instanceof” to “Error.isError”: Safer Error Checking in JavaScript20,205
javascript, errors
Upskilling in the AI Age (dac)20,204
ai, tooling, learning
Getting Started With the Vercel AI SDK in Node.js20,203
introductions, nodejs, ai, vercel
Matt May Speaks (mat+)20,202
videos, interviews, accessibility, html, standards
Stop Using “/init” for AGENTS.md (add)20,201
ai, configuration, documentation
Sprites on the Web (jos)20,200
css, images, sprites, techniques
Native HTML Components Don’t Guarantee Good UX (ada)20,199
html, components, user-experience
Standard HTML Video and Audio Lazy-Loading Is Coming (sco)20,198
html, multimedia, lazy-loading, standards, performance
Wasm vs. Javascript: Who Wins at a Million Rows? (the)20,197
webassembly, javascript, comparisons, performance
ACCESSIBILITY.md (mgi)20,196
accessibility, documentation
Why AI Is Exposing Design’s Craft Crisis20,195
ai, design, craft, figma, link-lists
My Malware Story Gets Stolen; Yet Another Argument for the IndieWeb (bre)20,194
malware, indieweb, licensing
“Made in EU”—It Was Harder Than I Thought20,193
privacy, hosting, tooling, tech-stacks
Everything You Never Wanted to Know About “visually-hidden” (dbu)20,192
html, css, hiding, accessibility
Lil’ Fun Langs (sur)20,191
programming, overviews, link-lists
Git Is the New Code (nec)20,190
ai, git, command-line, code-reviews
The Software Development Lifecycle Is Dead (bor)20,189
processes, ai, ci-cd
Weird Issues With CSS Calculations in Safari 26.2 (cit)20,188
css, functions, safari, apple, browsers
Potentially Coming to a Browser “:near()” You (dxn/css)20,187
css, functions
WordPress 7.0 Beta 1 (wor)20,186
release-notes, wordpress
Big Tech Still Dreams of Mass Surveillance—Now People Are Pushing Back (tro/sal)20,185
privacy, amazon, google, ai
An Official* Logo for HTML (zac)20,184
html
A Considered Approach to Generative AI in Front-End Development (cle)20,183
ai, processes
Notes on Relying on the ARIA Authoring Practices Guide (ste)20,182
aria, accessibility, html
Design Systems Can’t Automate Away All of Your Accessibility Considerations (eri/zer)20,181
design-systems, components, automation, accessibility, aria
Using the Browser’s “<canvas>” for Data Compression20,180
canvas, compression
A Web Revival: The Internet Didn’t Die, You’re Just Not on It20,179
videos, indieweb, web
An In-Depth Guide to Customising Lists With CSS (ric/pic)20,178
guides, css, lists
8 Things You Didn’t Know About Code Mode (bla)20,177
ai
Fastest Frontend Tooling for Humans and AI20,176
tech-stacks, tooling, typescript, developer-experience, optimization
Suffering From Bugs: How I Almost Deleted My Entire Project20,175
bugs, lessons
“border-shape”: The Future of the Non-Rectangular Web (una)20,174
css, shapes, borders
Vitest vs. Jest 2026: The Migration Guide With Real Benchmarks20,173
guides, migrating, vitest, jest, comparisons
Tailwind CSS v4: Container Queries and the Death of Media Queries20,172
tailwind, container-queries, media-queries, css
Claude Sonnet 4.6 vs. GPT-5: The 2026 Developer Benchmark20,171
claude, anthropic, openai, ai, comparisons, metrics, programming, documentation
Sometimes the Best Accessibility Fix Is a Usability Fix20,170
accessibility, usability
When Accessibility Demand Letters Land on Your Desk: A Framework for Strategic Response (dec)20,169
accessibility, strategies
Why Separate Guest and Logged in States Create Accessibility Barriers20,168
accessibility, authentication
Why You Need to Close Open Objects When Users Navigate Away20,167
accessibility, wcag
AI Is Giving Tech Companies Power That Once Belonged to Governments (res)20,166
ai, economics
5 CSS Fouls That I See Way Too Often (kev)20,165
videos, css
Distinguishing “Components” and “Utilities” in Tailwind (zel/css)20,164
tailwind, terminology
Analyst Reactions: How AI Is Reshaping Engineering Organizations20,163
ai, engineering-management
Frontend Memory Leaks: A 500-Repository Static Analysis and Five-Scenario Benchmark Study20,162
memory, react, vuejs, angular, studies
From Random Chunks to Real Code—Wiring Up Next.js Source Maps in Sentry (get)20,161
nextjs, source-maps
Design Docs Considered Harmful20,160
documentation, software-design
The Future of Design Is Code and Canvas (zoi/fig)20,159
figma, design, outlooks
Building Typographic Scales in CSS With “:heading()”, “sibling-index()”, and “pow()” (stu)20,158
css, functions, math, typography
Igalia’s Eric Meyer and Ujjwal Sharma Chat With Designer, CSS Developer, and Illustrator Lynn Fisher (lyn+/iga)20,157
podcasts, interviews, css, design
Designing for Transparent Screens20,156
design, transparency, readability
Web Development Is More Than Frontend and Backend (Here’s What Actually Matters)20,155
programming, career
Selectors Level 5 (fan+/w3c)20,154
css, selectors, standards
5 Source Map Best Practices for Frontend Production Deployments (ele/des)20,153
guest-posts, source-maps, javascript, best-practices
Europe Is Ready to Ditch US Tech for Private Alternatives (pro)20,152
tooling, privacy, security, metrics
Europeans Are Dangerously Reliant on US Tech—Now Is a Good Time to Build Our Own (joh/the)20,151
economics, policies, google, microsoft, amazon
We Cut Node.js’ Memory in Half (mco/pla)20,150
nodejs, v8, javascript, memory, metrics
Interop 2026 (geo/css)20,149
interoperability, web-platform, browsers, support, link-lists
Spiral Scrollytelling in CSS With “sibling-index()” (css)20,148
css, functions, scrolling, gsap
Why We Hate AI (fal)20,147
ai
Angular Bindings: What Are They and How Do I Use Them? (ato)20,146
angular
Agentic UX: 7 Principles for Designing Systems With Agents (uxd)20,145
ai-agents, ai, design, principles
Anchored Menus and a Lesson in Scoping (chr/fro)20,144
css, anchor-positioning, scope, lessons
Here’s How to Instruct a LLM to Reference the ARIA Authoring Practices Guide (eri)20,143
how-tos, ai, aria, accessibility
The Hidden Cost of AI Prototypes That Are Made to Die (uxd)20,142
prototyping, ai, design, product-management
How “Liquid Design” Broke the iPhone and Forced Apple’s Great Reset (web)20,141
design, usability, readability, liquid-glass, apple
Why It’s Important to Manually Test for Accessibility20,140
accessibility, testing
Style Headings Using the CSS “:heading” Pseudo-Class (stu)20,139
headings, css, selectors
Why Your CEO Acts Like a Clown: The Tribal Myths of Leadership (uxd)20,138
leadership, culture, engineering-management
Why WebAIM’s Report Only Found 6 Issues on a Million Pages20,137
videos, accessibility, webaim
We Scanned 250 Node.js Repos for Blocking I/O: 76% Had It—and the Benchmarks Explain Why That Matters20,136
nodejs, file-handling, performance, metrics
How Fast Is Fast Enough? Rethinking Web Performance in Pragmagical Terms (tam/spe)20,135
performance, user-experience, concepts
Justifying “text-wrap: pretty”20,134
css, typography
Quick and Dirty Linting (sto)20,133
linting, typescript, javascript, biome
A Programmer’s Loss of a Social Identity (rat)20,132
programming, career, community
JS-Heavy Approaches Are Not Compatible With Long-Term Performance Goals (ser)20,131
javascript, frameworks, performance, prioritization
Fun With TypeScript Generics (ada/fro)20,130
typescript, generics
Are We Having the Wrong AI Dreams? (jet)20,129
ai, outlooks
The EU Moves to Kill Infinite Scrolling (egr/pol)20,128
social-media, scrolling, legal
How to Debug the “@ starting-style” At-Rule in Polypane (pol)20,127
how-tos, debugging, css, animations, polypane, browsers
Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev)20,126
html, tables, scrolling, performance, react
State of React 2025 [Results] (sac/dev)20,125
surveys, metrics, react
You Might Not Need “role="presentation"” (stv/pic)20,124
html, aria, accessibility
Interop 2026: Continuing to Improve the Web for Developers (rac/dev)20,123
interoperability, web-platform, browsers, support
Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents? (ves+)20,122
studies, research, ai, ai-agents, documentation
Mastering Dialog Accessibility20,121
accessibility, modals, html, aria
Launching Interop 2026 (jaf/moz)20,120
interoperability, web-platform, browsers, support
Accessibility Contractors Have Their Place-but It’s Not Everywhere20,119
accessibility, business-relations, processes
The Beautiful Web (j9t)20,118
web, indieweb
Radix UI vs. Base UI (sha)20,117
react, libraries, radix, comparisons
The 80% Job: How Design Leads Are Using AI—and It’s Not About Mockups (uxd)20,116
design, ai, prototyping, communication, leadership, product-management, link-lists
What It Really Costs to Run a WordPress Website in 202620,115
wordpress, economics
Life After Figma Is Coming (and It Will Be Glorious) (jon)20,114
design, ai, tooling, figma
Designing for Agentic AI: Practical UX Patterns for Control, Consent, and Accountability (sma)20,113
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,112
traffic, search, chatgpt, google, metrics
How to Create a CSS-Only Elastic Text Effect (css/fro)20,111
how-tos, css, effects
Re-Creating a Pantone Color Deck in CSS (sto)20,110
css
Announcing TypeScript 6.0 Beta (dan/typ)20,109
typescript
Container Timing: Measuring Web Components Performance (jda/iga)20,108
performance, web-components, chromium
You Know What? Just Don’t Split Words Into Letters (aar)20,107
accessibility, html, screen-readers, support
Does Your Navigation Need an ARIA Menu? Probably Not (pop)20,106
accessibility, navigation, aria, keyboard-navigation
The Natural Design Process (uxd)20,105
design, processes
Building an Endless Procedural Snake With Three.js and WebGL (suj/cod)20,104
threejs, webgl, javascript
Shades of Halftone (max)20,103
effects, halftone
Polypane 28: Project Improvements, Elements Panel Updates, and Chromium 146 (pol)20,102
release-notes, polypane, browsers
The Software Sovereignty Scale (dri)20,101
foss, licensing, legal
It’s About to Get a Lot Easier for Your JavaScript to Clean Up After Itself (wil/pic)20,100
javascript, garbage-collection
The 2026 Frontend Dogma Survey (fro)20,099
frontend-dogma, surveys
Fast by Default (den)20,098
performance, architecture, tooling, code-reviews, processes
Webspace Invaders (mat)20,097
ai, traffic
“Design Courage”20,096
design
Modern CSS Code Snippets20,095
websites, css, examples, comparisons
Design Is Dead, It’s All Evolution Now (ily)20,094
design, processes
Designing Useful Ads (uxd)20,093
design, monetization, ai
Emotional Design: Let’s Design for Silence (uxd)20,092
design
Background Patterns With CSS “corner-radius” (pre/fro)20,091
css, backgrounds, effects, examples
Vite, Rust, and the Future of JavaScript Tooling (eva+/bet)20,090
videos, interviews, vuejs, rust, javascript, oxc, bundling, tooling, ai
Trying to Make the Perfect Pie Chart in CSS (mon/css)20,089
css, html
Large Tech Companies Don’t Need Heroes (sea)20,088
processes, engineering-management, career
Underlining Links With CSS (stu)20,087
css, links
Definitive Guide to Multi-Threaded Rendering on the Web (hac)20,086
guides, dom, rendering
Why JavaScript Needs Structured Concurrency20,085
javascript, concurrency, asynchronicity
Interop 2025: A Year of Convergence (stu/web)20,084
interoperability, web-platform, browsers, retrospectives, metrics
Why Your Brain Rebels Against Redesigns—Even Good Ones (uxd)20,083
design, redesigning, link-lists
How Generative AI Is Redefining Brand Identity Systems20,082
ai, branding, design
How (and Why) to Stop Users From Selecting Text on Your Website20,081
css
The Browser Hates Surprises (fro)20,080
browsers, performance
The CSS Selection (ven/pro)20,079
css, metrics, studies, research
What to Expect in Angular 2220,078
angular
A New Meta Tag for Respecting Text Scaling on Mobile (mat)20,077
accessibility, metadata, scaling
Your Design System Needs an Enforcer (nng)20,076
design-systems, processes
The Return of the Intuitive Designer in the Age of AI (uxd)20,075
design, user-experience, ai
Git’s Magic Files (and)20,074
git, configuration
How to Use the “Auto” Value With “clamp()” (css)20,073
how-tos, css, functions
Accessibility Conformance Testing (ACT) Rules Format 1.1 (wil+/w3c)20,072
accessibility, compliance, testing, documentation
Minifier Benchmarks (j9t)20,071
minification, tooling, metrics, comparisons, html-minifier, htmlnano
CSS “@ scope”: An Alternative to Naming Conventions and Heavy Abstractions (sma)20,070
css, scope, naming
Measuring SVG Rendering Time (sto)20,069
svg, png, images, rendering, performance, web-vitals, metrics
How to Write Alt Text for News (sta/the)20,068
how-tos, alt-text, accessibility, images
Why Designers Secretly Love Constraints (Even When We Complain About Them) (web)20,067
design
Quick Tip: Do Not Replicate OS Behavior (nat)20,066
accessibility, tips-and-tricks
What’s New in ViteLand: January 2026 Recap (man/voi)20,065
release-notes, vite, vitest, rolldown, oxc
Clarity Is Not the Enemy of Depth (the)20,064
content, writing, accessibility
How to Improve Your HTML Game (j9t)20,063
how-tos, html, conformance, learning, career
AI Will Eliminate the Need for Accessibility Professionals? I Think Not20,062
ai, accessibility, testing, career
You Probably Shouldn’t Be Annotating Focus Order (eri)20,061
accessibility, focus, forms
Stop Installing Libraries: 10 Browser APIs That Already Solve Your Problems20,060
javascript, libraries, apis, web-platform
Introduction to the New HTML Element “<geolocation>” (mat)20,059
introductions, html, geolocation
[Webpack] Roadmap 2026 (eve)20,058
webpack
CSS Properties That Solve Annoying Problems (kev)20,057
videos, css
From Basic Adoption to Meaningful Measurement: How Design System Metrics Evolve (zer)20,056
design-systems
Building Bulletproof React Components20,055
react, components
How to Shoot a Screen Using a Board of Keys (mwi)20,054
screenshots, keyboard-shortcuts, history, apple
Introducing Deno Sandbox (tin/den)20,053
deno
State of JavaScript 2025 [Results] (sac/dev)20,052
surveys, metrics, javascript
Deno Deploy Is Generally Available (lca+/den)20,051
deno
Combobox vs. Multiselect vs. Listbox: How to Choose the Right One (vit/sma)20,050
how-tos, forms, design-patterns, comparisons
Nice Select (arg)20,049
forms, css
How Eleventy Survived: Funding, Growth, and Open Source Reality (zac+/fon)20,048
podcasts, interviews, eleventy, foss
A Percise Parser (rem)20,047
javascript, parsing
Elastic/Bouncy Text Effect (css)20,046
css, effects
Accessible Inline Collapsible (eri)20,045
accessibility, html, disclosure-widgets
Accessibility Progress and Healthy Engineering Teams (hbu)20,044
accessibility, technical-debt, web-platform, prioritization
Node.js Path Traversal: Prevention and Security Guide (loi)20,043
guides, nodejs, security
Implementing the Temporal Proposal in JavaScriptCore (you/iga)20,042
javascriptcore, javascript-engines, time
Accessible Design Is Digital Infrastructure (ann)20,041
accessibility, design
What’s Missing From the Web Platform? (wes+/syn)20,040
podcasts, web-platform, wish-lists
Performance-Optimized Video Embeds With Zero JavaScript (stf/fro)20,039
multimedia, performance
What Is JPEG XL: Do We Really Need Another Image Format? (aar/deb)20,038
jpeg-xl, images, quality, performance, metrics
Release Notes for Safari Technology Preview 236 (jon/web)20,037
release-notes, safari, apple, browsers
Building an RSS Aggregator With Astro (ray)20,036
astro, rss, syndication, functionality
Explicit Resource Management in JavaScript20,035
javascript
Stop Asking “Is This on Brand?”—It’s Killing Your Creativity (web)20,034
design, branding, creativity
Limiting Work in Progress Is a Superpower20,033
project-management, processes, productivity, agile, scrum
HTML Minifier Next 5, a Quick Upgrade Guide (j9t)20,032
guides, html-minifier
Selfish AI (cre)20,031
ai
The Indie Web Is Not Defined by Its Enemies (khu)20,030
indieweb, ai
Tim Cook Sold Apple’s Soul (kev)20,029
apple
Google Helped Israeli Military Contractor With AI, Whistleblower Alleges (was)20,028
google, ai, ethics, privacy
Repeatable Form Fields Made Simple (aar)20,027
forms, html, web-components
A Broken Heart (api)20,026
performance, fonts, emoji
My Opinionated ESLint Setup for Vue Projects (ale)20,025
eslint, configuration, vuejs
Tickering With Node.js Core on ARM64 Windows (joy)20,024
nodejs, building, windows, microsoft
When Design Stops Asking Why and Starts Asking, “Can AI Do It?” (uxd)20,023
design, ai, processes, quality
The Too Early Breakpoint (sha)20,022
css, layout
“WCAG Is Difficult to Read, Don’t Read It” Is a Self-Fulfilling Prophecy (yat)20,021
wcag, standards, accessibility
AI Agents Explained (tre)20,020
ai-agents, ai
Practical Use of AI Coding Tools for the Responsible Developer (ska/sma)20,019
ai, tooling, prompting
Announcing Rspress 2.020,018
release-notes
New to the Web Platform in January (rac/dev)20,017
release-notes, web-platform, browsers, firefox, mozilla, chrome, google
How the Same Content Always Has Multiple Different Versions20,016
accessibility, content, comparisons
React’s “ViewTransition” Element (chr/fro)20,015
react, view-transitions
Understanding Hydration in Frontend Frameworks: Definition, Challenges, and Optimization Strategies (ele/des)20,014
guest-posts, frameworks, hydration, optimization, concepts, strategies
The Design System Paradox: How Abstraction Can Hollow Out Quality (pjo/zer)20,013
design-systems, quality, training
How to Make an HTTP Request in Node.js (loi)20,012
how-tos, nodejs, http
Is Learning CSS a Waste of Time in 2026?20,011
css, learning, career, discussions
Vibe Prototyping Is a Double-Edged Sword (edd/uxd)20,010
prototyping, vibe-coding, ai, design
OpenJS Foundation Security Program: Annual Report 2025 (ope)20,009
openjs, security
Cryptography Usage in Web Standards (w3c)20,008
standards, cryptography, security
Making Interesting Borders With CSS “corner-shape” (cas)20,007
css, borders
How Rolldown Works: High-Performance Code Splitting With Bitset Logic (atr)20,006
rolldown, bundling, code-splitting, performance
Why I Don’t Call Myself an Accessibility Expert20,005
accessibility, career
How an Accessibility Designer Adds Keyboard Shortcuts to a Web App (eri)20,004
web-apps, keyboard-shortcuts, accessibility
The Next Decade of UX: Why Psychology Matters More Than Ever (tbf/nng)20,003
videos, interviews, user-experience, design, outlooks
How to Design Great Alt Text: An Introduction (deq)20,002
how-tos, introductions, alt-text, images, accessibility
How to Style the New “::search-text” and Other Highlight-y Pseudo-Elements (dxn/css)20,001
how-tos, css, selectors
Introducing ReliCSS: A Tool for Front-End Archaeology (stu)20,000
introductions, tooling, css, auditing
AI’s Text-Trap: Moving Towards a More Interactive Future (uxd)19,999
ai, interaction-design, user-experience
A Year of Creator Wins: Highlights From the JetBrains Content Creators Program 2025 (jet)19,998
jetbrains, community
Are We Doing UX for AI the Right Way? (cxo/uxd)19,997
user-experience, design, conversational-design, ai, link-lists
7 Learnings From Anders Hejlsberg: The Architect Behind C# and TypeScript (git)19,996
lessons, scalability, typescript, foss, ai, collaboration
How AI Is Redefining the Way We Find Content (cle)19,995
ai, crawling, search, content, seo
Some Notes on Starting to Use Django (b0r)19,994
django
More Invoker Commands, and More Reasons Not to Use JavaScript Please (paw)19,993
html, examples
Unstacking CSS Stacking Contexts (sma)19,992
css, positioning
Try Text Scaling Support in Chrome Canary (jos)19,991
chrome, google, browsers, scaling, accessibility
We’re Creating a Knowledge Collapse and No One’s Talking About It19,990
ai, documentation, learning, career
Solving Shrinkwrap: New Experimental Technique (kiz)19,989
css, techniques
On the Need for Neutral Maintained Minifier Metrics (j9t)19,988
minification, tooling, html-minifier, htmlnano
Claude Code for Designers: A Practical Guide19,987
guides, design, claude, anthropic, ai
Design Systems Checklist (tyc)19,986
design-systems, checklists
9 Reasons to Choose Sketch in 2026 (fre/ske)19,985
sketch
Supporting Open Source in 2026: Why It Matters More Than Ever ($50,000) (mar/fro)19,984
foss, web-platform
Drawing Connections With CSS Anchor Positioning19,983
css, anchor-positioning
Improving Single Executable Application Building for Node.js (joy)19,982
nodejs
Density vs. Clarity: The Core Tension in Modern UI Design (web)19,981
design, information-design, minimalism, comparisons, figma
How Web Performance Impacts User Experience (deb)19,980
performance, user-experience, web-vitals, metrics
Why the Future of Design Is Less Flash and More Thought19,979
design, outlooks
There Is No Need to Trap Focus on a “dialog” Element (zel/css)19,978
modals, focus, accessibility
A Security Checklist for Your React and Next.js Apps (the)19,977
security, react, nextjs
Porting 100k Lines From TypeScript to Rust Using Claude Code in a Month (vje)19,976
migrating, typescript, rust, claude, anthropic, ai
SPAs Are a Performance Dead End (yeg)19,975
single-page-apps, performance
Vibe Prototyping Isn’t Solving Any Problems—but It’s Creating Many New Ones (pav)19,974
prototyping, design, ai, vibe-coding
Using Maturity Models to Build Accessibility That Lasts (ted)19,973
accessibility
Figma Slots for Repeating Items (nat)19,972
figma, components
How to Use Font Ligatures19,971
how-tos, typography, fonts, tooling, adobe, figma, microsoft, css
npmx (dan/npm)19,970
websites, npm, packages
Software Design Principles That Matter19,969
software-design, principles, examples
6 Ways to Set Better Content Accessibility Goals in 202619,968
accessibility, processes
Anchor Interpolated Morph (AIM) (arg)19,967
css, animations, techniques
Responsive Hexagon Grid Using Modern CSS (css/css)19,966
css, functions, math, responsive-design
CSS Scope and Mixins (chr+/odd)19,965
videos, interviews, css, scope, mixins
Do We All See the Same Colors? (tba)19,964
colors, color-blindness, accessibility
Names Are Hard but They Don’t Have to Be (col)19,963
internationalization, naming, validation
Handling Breaking Changes in a Design System Without Causing Chaos (sha/zer)19,962
design-systems, maintenance, semver, communication
Understanding the Fundamentals of CSS Layout (pol)19,961
fundamentals, css, layout, grids, flexbox, positioning
The Context Collapse Problem19,960
ai, documentation
CSS Optical Illusions (alv)19,959
css, effects, examples
Claude’s New Constitution (ant)19,958
claude, anthropic, ai
Why Webflow Isn’t the Future—Yet (web)19,957
webflow, low-and-no-code
10 Digital Accessibility Predictions for 2026 (ons)19,956
accessibility, outlooks, wcag, career, ai, legal, assistive-tech
When Will CSS Grid Lanes Arrive? How Long Until We Can Use It? (jen/web)19,955
css, grids, masonry, layout
CTA Hierarchy in the Wild (jim)19,954
user-experience, buttons, youtube
10 Tips for Effective User Experience Evaluation19,953
user-experience, usability, content, design, testing, tips-and-tricks
Barriers From Links With ARIA (aar)19,952
accessibility, links, html, aria
The Conditionally Open Web (cor)19,951
open-web
Why Light-Weight Websites May One Day Save Your Life (mah)19,950
performance, accessibility, print, frameworks
How to Diagnose Lighthouse Score Discrepancies Between Tools (deb)19,949
how-tos, performance, lighthouse, google, tooling
Accessibility 101 and Core Concepts (kno)19,948
videos, accessibility, introductions, concepts
Floating Action Buttons Are Bad, and What to Do Instead (eri)19,947
buttons, usability, material-design, google
The Accessibility Manager Moment No One Warns You About19,946
accessibility, leadership, legal, communication
Securing npm Is Table Stakes (nza+/cha)19,945
podcasts, interviews, npm, security, ai
What Makes Generated UI Worth Keeping? (uxd)19,944
design, ai, branding, tooling
Demystifying Screen Reader Use for Manual Testing: Deneb Pulsipher and Kosi Asabere19,943
videos, accessibility, testing, screen-readers
CSS in 2026: The New Features Reshaping Frontend Development (log)19,942
css, functions
How to Favicon in 2026: Three Files That Fit Most Needs (sit/evi)19,941
how-tos, images, favicons
I Learned the First Rule of ARIA the Hard Way (css)19,940
accessibility, aria, semantics, html
Designing Beyond the Happy Path in Design Systems (ste/zer)19,939
design-systems, design
Developing Trustworthy Information (jma)19,938
writing, content, ai
Faking a Fieldset-Legend (tyl/clo)19,937
html, forms, css
Node.js 16 to 25 Performance Benchmarks19,936
nodejs, performance, metrics, comparisons
Lowering the Specificity of Multiple Rules at Once (mat)19,935
css, cascade
Inside Turbopack: Building Faster by Building Less (she+)19,934
turbopack, performance
A Brief History of Programming… (fir)19,933
videos, programming, history
Animating Responsive Grid Layout Transitions With GSAP Flip (cod)19,932
css, grids, layout, animations, gsap, plugins
Rethinking “Pixel Perfect” Web Design (ami/sma)19,931
design, quality
View Transitions and Playing Video (chr/fro)19,930
javascript, view-transitions, multimedia
AI’s Missing Ingredient (cwo)19,929
ai, vibe-coding, creativity, design
Some Thoughts on the Open Web (mno)19,928
open-web, web
Design Tokens With Confidence (luk/uxd)19,927
design-tokens, json, css
What Figma Got Wrong About Design Systems (web)19,926
figma, design-systems
The State of WebAssembly—2025 and 2026 (uno)19,925
webassembly, retrospectives, outlooks
“Code Only” Props in Figma (nat)19,924
figma, props
What Design Leaders Must Unlearn to Lead in an AI-First World (uxd)19,923
design, leadership, ai
Design in Code, Get Praise (ada)19,922
design, processes, communication
How to Build a WordPress Block Theme19,921
how-tos, wordpress, theming
Vercel vs. Netlify vs. Cloudflare: Serverless Cold Starts Compared19,920
vercel, netlify, cloudflare, serverless, comparisons, metrics
jQuery 4.0.0 (tim/jqu)19,919
jquery, release-notes
AdonisJS v7 Is Feature-Complete and Entering Final Validation (vir/ado)19,918
release-notes, adonisjs
ASCII Characters Are Not Pixels: A Deep Dive Into ASCII Rendering19,917
deep-dives, ascii, rendering
When Design Kills Usability—Meet the Custom Cursor (mal)19,916
videos, design, usability, cursors
Chrome 145 Adds Experimental Support for Vertical Tabs (bra)19,915
chrome, google, browsers
Better Defaults for Popovers (mat)19,914
pop-overs, css, resets
State of UX 2026: Design Deeper to Differentiate (nng)19,913
user-experience, design, outlooks, career, ai
PWA (htt)19,912
web-almanac, studies, research, metrics, progressive-web-apps, web-apps, web-workers
Ecommerce (htt)19,911
web-almanac, studies, research, metrics, ecommerce, tooling, performance, web-vitals, lighthouse
The Astro Technology Company Joins Cloudflare (ast)19,910
astro, cloudflare
CMS (htt)19,909
web-almanac, studies, research, metrics, content-management, tooling, wordpress, user-experience, performance, web-vitals, lighthouse, apis
Security (vik+/htt)19,908
web-almanac, studies, research, metrics, security, tls, certificates, cookies, csp, http-headers, apis, sanitization, configuration
On Coding Agents and the Future of Design (jef)19,907
ai, ai-agents, design, outlooks
Software as Fast Fashion (tan)19,906
programming, ai, sustainability, economics
Fonts (htt)19,905
web-almanac, studies, research, metrics, fonts, performance, css
The Missing Link for Web Components (kin/fro)19,904
web-components, typescript, json, mcp, ai, tooling
Building a Scroll-Driven Dual-Wave Text Animation With GSAP (cod)19,903
gsap, animations, scrolling
The Incredible Overcomplexity of the Shadcn Radio Button (pau)19,902
html, forms, complexity
Performance (25p+/htt)19,901
web-almanac, studies, research, metrics, performance, web-vitals, hints, speculation
Third Parties (htt)19,900
web-almanac, studies, research, metrics, embed-code
Using “100vw” Is Now Scrollbar-Aware (in Chrome 145+, Under the Right Conditions) (bra)19,899
css, units, scrolling, chrome, google, browsers
Accessibility (bog+/htt)19,898
web-almanac, studies, research, metrics, accessibility, colors, contrast, zooming, scaling, internationalization, keyboard-navigation, skip-links, forms, labels, placeholders, multimedia, images, aria, overlays, ai
Why Designers Are the New Bureaucrats (web)19,897
design, processes
Accessible Faux-Nested Interactive Controls (eri/pic)19,896
accessibility, conformance, html, nesting
Privacy (htt)19,895
web-almanac, studies, research, metrics, privacy, legal, consent-management, do-not-track
Generative AI (chr+/htt)19,894
web-almanac, studies, research, metrics, ai, robotstxt, llmstxt
WebAssembly (htt)19,893
web-almanac, studies, research, metrics, webassembly
CDN (htt)19,892
web-almanac, studies, research, metrics, content-delivery, http, performance, http-headers, compression, tls, hints
Usability Heuristics and Competition in Games (uxd)19,891
usability, heuristics, design, aesthetics
SEO (htt)19,890
web-almanac, studies, research, metrics, seo, robotstxt, llmstxt, links, content, structured-data, amp, html, internationalization
Cookies (htt)19,889
web-almanac, studies, research, metrics, cookies
Page Weight (bar+/htt)19,888
web-almanac, studies, research, metrics, performance, web-vitals, lighthouse, google
StyleX vs. Tailwind: Meta’s Take on CSS-in-JS Maintainability (ric/the)19,887
tailwind, comparisons, css-in-js, maintainability, css, javascript
So You Think Your Website Is Doing Great (cit)19,886
html, javascript, css, quality
Beyond Manual Audits: How Automation Strengthens Accessibility (equ)19,885
accessibility, auditing, automation, wcag
Making GitHub Actions Suck a Little Less19,884
github-actions
Node.js January 2026 Security Release: What Changed and Why It Matters (nod)19,883
nodejs, security
The “Senior Developer” Is Now the New “Entry Level”19,882
career, ai
Smashing Animations: Theming Animations Using CSS Relative Colour (mal/sma)19,881
animations, colors, theming, css
The Unhinged World of Tech in 2026… (fir)19,880
videos, outlooks, ai, javascript
Live Region Support (aar)19,879
accessibility, live-regions, support, screen-readers, nvda, jaws, voiceover
Everything You Need to Know About Ruby 4.0 (hon)19,878
ruby
EPUB and HTML—Survey Results and Next Steps (rei/w3c)19,877
surveys, epub, html
ARIA Roles Can Remove Their Children’s Semantics (ste)19,876
html, aria, semantics, accessibility
Traditional Code Review Is Dead: What Comes Next? (the)19,875
code-reviews, ai, processes, infrastructure, scalability
18 Predictions for 202619,874
outlooks, ai, usability, user-experience
Introducing the “<geolocation>” HTML Element (tom+/dev)19,873
introductions, html, geolocation, chrome, google, browsers
The Invisible Work (hvp)19,872
leadership, productivity, processes
Mitigating Denial-of-Service Vulnerability From Unrecoverable Stack Space Exhaustion for React, Next.js, and APM Users (mco+/nod)19,871
nodejs, security, vulnerabilities, react, nextjs, tooling, monitoring, performance
Tuesday, January 13, 2026 Security Releases (nod)19,870
release-notes, nodejs, security
Simulating Crop Marks (chr/fro)19,869
css
Astro 6 Beta (mat)19,868
release-notes, astro
Just the Browser (cor)19,867
websites, browsers, chrome, google, firefox, mozilla, edge, microsoft
Design Systems and Shareable Browser Support (rob)19,866
design-systems, browsers, browserslist, support
A Polyfill for the HTML “switch” Element (tom)19,865
html, forms, polyfills
Solid.js Best Practices (bre)19,864
solidjs, best-practices, examples
Is There Too Much Design in Design Systems? (sha)19,863
design, design-systems
Don’t Start With AI, Start With the Problem (cal/nng)19,862
videos, ai, processes
Aspire for JavaScript Developers (dav/mic)19,861
tooling, javascript, typescript
Manufacturing as Code Is the Future, and the Future Is Now19,860
programming, outlooks
OpenCode vs. Claude Code (bui)19,859
opencode, claude, anthropic, ai, comparisons
Stop Turning Everything Into Arrays (and Do Less Work Instead)19,858
javascript, methods, arrays
SVG Filters Are Just Amazing (ami)19,857
svg, filters
Focus Rings With Nested “contrast-color()”? (dav)19,856
css, selectors, functions, focus, contrast
Stop Using MySQL in 2026, It Is Not True Open Source (ott)19,855
mysql
Don’t Fall Into the Anti-AI Hype (ant)19,854
ai, career
How Wrong Can a JavaScript Date Calculation Go? (phi)19,853
javascript, time, apis
On Abbreviating Accessibility (ons)19,852
accessibility, microcontent
What Is the Minimum Markup Needed to Create a Modal?19,851
modals, minimalism, html, css, accessibility
Prompt Engineering Won’t Fix Your Architecture19,850
architecture, ai
How to Steal Any React Component19,849
react, components
Beyond the Mouse: Animating With Mobile Accelerometers (ami/fro)19,848
mobile, javascript, animations
Death to Scroll Fade (dbu)19,847
scrolling, effects, performance
How Markdown Took Over the World (ani)19,846
markdown, web