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