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

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