Frontend Dogma

News and Tools for Frontend Developers

Featured on Frontend Dogma? Verify and whitelist your domain.

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: paid feature), on Mastodon and Bluesky, or through other channels

Entry (Sources) and TopicsDate#
30 Years of JavaScript: 10 Milestones That Changed the Web (ric/the)16,325
, , , , , , , , , , ,
Frontend Dogma’s Global RSS Feed Is Now a Paid Feature (fro)16,324
4 Untranslatable Words Behind Patreon’s Internationalization Overhaul16,323
, ,
“:nth-last-child” (kev)16,322
,
What Every React Developer Should Know About Signals (rya)16,321
, , ,
Introducing Pay per Crawl: Enabling Content Owners to Charge AI Crawlers for Access (clo)16,320
, , ,
Custom Select (That Comes Up From the Bottom on Mobile) (chr/fro)16,319
, , , , ,
Fear May Be the Mind-Killer, but Unindexed Database Queries Are the Database-Killer16,318
,
The Gap Strikes Back: Now Stylable (pat/css)16,317
New Google Search Console Insights Report (rus/ser)16,316
, ,
State of Devs 2025 Survey: Maybe Don’t Call Yourself a Frontend Developer? (sac)16,315
, ,
CLS Is the New Page Speed: Why Designers Need to Care More Than Developers (web)16,314
, , ,
Step Gradients With a Given Number of Steps (ana/fro)16,313
, , , ,
Why Automattic CEO Matt Mullenweg Went to War Over WordPress (pho+/ver)16,312
, , ,
Using CSS Cascade Layers With Tailwind Utilities (zel/css)16,311
, ,
New to the Web Platform in June (rac/dev)16,310
, , , , , , , ,
Accessible Social Media: Alt Text16,309
, , ,
MCP Security Vulnerabilities and Attack Vectors16,308
, ,
What’s Coming to JavaScript (lca/den)16,307
,
No Time to Learn (Web) Framework X (jef)16,306
,
Ecma International Approves ECMAScript 2025: What’s New? (rau)16,305
,
Disabling Zsh History for a Given Shell Session (www)16,304
RSS Server Side Reader16,303
,
I Don’t Care if My Manager Writes Code16,302
“object-fit” and “object-position” (kev)16,301
Innovative Solutions for Ecommerce—How Shopify Headless Works (ami)16,300
, ,
Micro-Frontend Architecture Pitfalls: Solving Integration and Deployment Challenges at Scale (des)16,299
, , , ,
SVG Optimization and Accessibility Basics (dbu)16,298
, , , ,
Design Leadership in the Age of AI: Seize the Narrative Before It’s Too Late (and)16,297
, ,
Dear Loading Spinner, We Need to Talk (web)16,296
,
Quantity Query Carousel (chr/fro)16,295
, , ,
How to Write Compelling Software Release Announcements (mtl)16,294
,
The Hovercar Framework for Deliberate Product Design (lea)16,293
, ,
PNG Is Back (pro)16,292
,
Portable Network Graphics (PNG) Specification (Third Edition) (pro+/w3c)16,291
, ,
Speculative Optimizations for WebAssembly Using Deopts and Inlining (lie)16,290
, , , , ,
A New Era of Code Quality16,289
,
The Mythical Magical Button (cri)16,288
, , , ,
Node.js 24: Your Next Big Frontend Upgrade? (low/the)16,287
Vite 7.0 Is Out (vit)16,286
,
Tips for Making Regular Expressions Easier to Use in JavaScript (rau)16,285
, , ,
How to Develop a RAG System Using Node.js16,284
, ,
Prefer Gaps to Margins (kyl)16,283
,
Generating Playwright Tests With AI: Let’s Try the New Playwright MCP Server (ste)16,282
, , , ,
The Evolution of UX Design in the Age of AI Platforms—from Creator to Choreographer (uxm)16,281
, , , ,
AI’s Wedge in Software (hvp)16,280
, , ,
A Short History of Web Bots and Bot Detection Techniques (ole)16,279
, , ,
Serialization From Node.js16,278
, , , ,
The AIpocalypse Is Here for Web Sites as Search Referrals Plunge (tho/the)16,277
, , ,
Erring on the Side of Caution (tem)16,276
,
“calc-size()” (kev)16,275
,
Color Everything in CSS (mon/css)16,274
, ,
Angular Signals: A New Mental Model for Reactivity, Not Just a New API16,273
, ,
CSS Cascade Layers vs. BEM vs. Utility Classes: Specificity Control (sma)16,272
, , , ,
JavaScript Broke the Web (and Called It Progress) (jon)16,271
, , , , ,
Baseline Newly Available: Stay on Top of New Web Features (mar/the)16,270
, ,
CSS Color Functions (css)16,269
, , ,
Every Service Should Have a Killswitch16,268
,
JSON Module Scripts Are Now Baseline Newly Available (tom/dev)16,267
, , , ,
Drawing CSS Shapes Using “corner-shape” (css/fro)16,266
,
WML, WAP, and Microformats Demo (art)16,265
, ,
How TypeScript Solved Its Global Iterator Name Clash (rau)16,264
AI Browsers: Dia’s Chat-Based UI and the Future of the Web (ric/the)16,263
, , , ,
Slightly Enhanced Sticky Revealing Footer (cri)16,262
, ,
Animating Zooming Using CSS: Transform Order Is Important… Sometimes (jaf)16,261
, , ,
Why JPEGs Still Rule the Web (ern/iee)16,260
, ,
Testing Methods: Meaningful Sequence (dec)16,259
, , ,
Biome v2—Codename: Biotype (ema/bio)16,258
,
Bridging CommonJS and ESM in Node.js (joy/web)16,257
, , ,
How to Define a Distinctive Design Language (uxd)16,256
, ,
Scope in CSS (chr/fro)16,255
, ,
How to Keep Up With New CSS Features (sac/css)16,254
, , ,
Design Is Care (and Sensing Carelessness) (ben)16,253
A11y 101: 2.1.2 No Keyboard Trap (nat)16,252
, , , ,
How to Create an Accessible Color Palette (cfe)16,251
, , ,
Compiling JavaScript Ahead of Time (goo/web)16,250
, , ,
The Future of Content Design in an AI World (uxd)16,249
, , ,
Developers Improve by Learning How to Think Like a Developer16,248
,
Selfish Reasons for Building Accessible Uis (nol)16,247
, , ,
Using “await” at the Top Level in ES Modules16,246
, ,
Mission Impossible—Accessibility Job Roles (cra)16,245
, ,
You’re Not an Accessibility Specialist Until You’ve… (cer)16,244
,
Happy Birthday, JavaScript16,243
,
The 5-Step AI UX Playbook to Deliver High-Impact Products (uxd)16,242
, ,
Quick Tip: Avoid Event Listeners on the “window” Object (nat)16,241
, , , ,
Grainy Gradients (ana/fro)16,240
, , , ,
The Growing Risk of Malicious Browser Extensions (soc)16,239
,
The Hamburger-Menu Icon Today: Is It Recognizable?16,238
, , ,
Exploring JavaScript (rau)16,237
,
Postgres Is Too Good (and Why That’s Actually a Problem)16,236
,
Design Systems of the Future (ben)16,235
, ,
Design Patterns for Securing LLM Agents Against Prompt Injections (sim)16,234
, , , , ,
Worker Threads in Node.js: A Complete Guide for Multithreading in JavaScript (nod)16,233
, , , ,
Why Visual Website Builders Didn’t Take Off (whi)16,232
, , , ,
Accessible Rickrolling (hey)16,231
, ,
HTML Spec Change: Escaping “<” and “>” in Attributes (sec/dev)16,230
, , , ,
Escaping “<” and “>” in Attributes—How It Helps Protect Against Mutation XSS (sec)16,229
, , , , , , ,
How JavaScript Was Written Back in the Day (tre)16,228
, , ,
Creating the “Moving Highlight” Navigation Bar With JavaScript and CSS (sma)16,227
, , ,
Accessibility Statements: The Good, the Bad, and the Ugly16,226
, ,
Remembering Mikeal Rogers (isa)16,225
A New Way to Style Gaps in CSS (pat/dev)16,224
,
Accessibility in Design Systems (dev)16,223
, , ,
What the Internet Was Like in 1997 (ric)16,222
, , , , , , , ,
5 Best JavaScript Web Scraping Libraries in 2025 (api)16,221
, , ,
“1fr 1fr” vs. “auto auto” vs. “50% 50%” (chr/fro)16,220
, , ,
Just a Designer Now: Shopify Dropped UX as a Title (uxd)16,219
, ,
AI and Vibe Coding Are Radically Impacting Senior Devs in Code Review (the/the)16,218
, , ,
Is HTML Not a Programming Language?16,217
,
Node.js Moves Toward Stable TypeScript Support With Amaro 1.0 (sar/soc)16,216
, , ,
Getting Started With Manual Testing (pop)16,215
, , ,
How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples (jet)16,214
, , , ,
You’re Not a Front-End Developer Until You’ve… (nic)16,213
,
Testing Methods: Info and Relationships (dec)16,212
, , ,
The Designer’s Hierarchy of Career Needs (chr)16,211
,
We Added Chaos to Our CI/CD Pipelines—It Made Everything More Stable16,210
, ,
Accent Color (don)16,209
, ,
Faster Python: Concurrency in “async”/“await” and Threading (che/jet)16,208
, , ,
Resumes Are Dying—Here’s What’s Replacing Them16,207
,
Grids 10116,206
, , , ,
Sticky Revealing Footer (bel/pic)16,205
, ,
News From WWDC25: WebKit in Safari 26 Beta (jen+/web)16,204
, , , ,
Figma Variables and Design Tokens—Variable Architecture (lur/zer)16,203
, ,
Pride, Shame, and Accessibility (hey)16,202
,
Decoding the SVG “path” Element: Line Commands (sma)16,201
Reimagining Design Systems as Evolving Products (uxm)16,200
A11y 101: 2.1.1 Keyboard (nat)16,199
, , ,
How to “import()” a JavaScript String (zac)16,198
, ,
Creating an Auto-Closing Notification With an HTML Popover (pre/css)16,197
, ,
5 “Boring” n8n AI Automations That Do the Work for You (kal)16,196
, ,
6 Advanced TypeScript Tricks (ole)16,195
,
So, You Screwed Up Your EAA Compliance. What Now? (yat)16,194
, , ,
Goodbye Upgrade Fatigue—How Cursor Upgraded Our Storybook in Just 2 Hours!16,193
, , ,
Where to Put Focus When Opening a Modal Dialog (aar)16,192
, , ,
Kubernetes Is Dead: Why Tech Giants Are Secretly Moving to These 5 Orchestration Alternatives16,191
, , , , ,
Field Notes From Shipping Real Code With Claude16,190
, , ,
ARIA/HTML Relationship Severance (ste)16,189
, ,
Accessibility Terms Every Content Creator Should Know16,188
,
UX Challenges With MCPs (hvp)16,187
, ,
Beware of End-of-Life Node.js Versions—Upgrade or Seek Post-EOL Support (mco/nod)16,186
, ,
The “<output>” Element (kev)16,185
Generative Engine Optimization: The New Era of Search (sem)16,184
, , ,
Printing the Web: Making Webpages Look Good on Paper (pic)16,183
,
Celebrate the Code You Didn’t Write (rya)16,182
,
Exploring the CSS “contrast-color()” Function… a Second Time (dxn/css)16,181
, , , ,
The Creator of Hono on Bringing It to Node.js (yus/jsn)16,180
, ,
“aria-selected”: Practical Examples and Use Cases (flo/a11)16,179
, , ,
The Politics of Design Systems (jon)16,178
Beyond Code: What “The Pragmatic Programmer” Taught Me in One Chapter16,177
, ,
Quick Tip: WCAG Doesn’t Round (nat)16,176
, ,
“firstChild” Can Be White Space (chr/fro)16,175
,
Collaboration: The Most Underrated UX Skill No One Talks About (sma)16,174
, , ,
6 Ways to Use Documentation Analytics in Your Next Design System Launch16,173
, ,
Generative AI Runs on Gambling Addiction—Just One More Prompt, Bro (dav)16,172
,
How Imports Work in RSC (dan)16,171
, , ,
Chrome Achieves Highest Score Ever on Speedometer 3, Saving Users Millions of Hours (dev)16,170
, ,
HTML-Native Accordions (cfe)16,169
,
How to Access Local MCP Servers Through a Secure Tunnel (the)16,168
, , , ,
Performance and Stress Testing in Node.js (app)16,167
, , ,
Want to Be a Better Frontend Engineer? Try a Week On-Call16,166
, ,
The UX Butterfly Effect (mar/uxd)16,165
,
Translating Accessibility (tpg)16,164
, , ,
How to Make Accessibility “Stick”16,163
, , ,
State of CSS 2025 (sac/dev)16,162
,
I Copy These 10 Code Snippets Into Every Project16,161
, , , ,
Championing Accessibility: Technical and Non-Technical Tips (equ)16,160
, ,
Inclusive Development Practices in Next.js Projects (web/deq)16,159
, , , , , , , ,
Stop Losing Sleep Over Node.js Config: Here’s How to Get It Right (pla)16,158
,
Handling PostgreSQL Migrations in Node.js (har/bit)16,157
, , ,
Why Designers Get Stuck in the Details and How to Stop (sma)16,156
, ,
Getting Creative With HTML Dialog (mal/css)16,155
,
Functional Capturing (kiz)16,154
,
The Recovery OKR: Goals for Healing After Burnout (cwo)16,153
,
Colour Alone Can Be Used to Convey Meaning, and I Don’t Like It (tem)16,152
,
IE6, AI, and the Future of Browsing the Web (rac)16,151
, , , , , ,
TC39 Advances “Array.fromAsync”, “Error.isError”, and Explicit Resource Management to Stage 4 (sar/soc)16,150
, ,
My AI Skeptic Friends Are All Nuts (fly)16,149
“document.currentScript” Is More Useful Than I Thought (mac)16,148
The Death of Web Design: Why Websites Will Soon Auto-Design Themselves (web)16,147
, ,
Is the DOJ Web Accessibility Rule in Danger?16,146
,
Write More Reliable JavaScript With Optional Chaining16,145
Is It JavaScript? (jim)16,144
, , , , ,
Google Is Stealing Your International Search Traffic With Automated Translations (ahr)16,143
, , , ,
A11y 101: 1.4.13 Content on Hover or Focus (nat)16,142
, , ,
MCP—the Golden Key for AI Automation16,141
, , ,
A JavaScript Developer’s Guide to Go (psu)16,140
, , ,
Angular 20 Is Here (ang)16,139
Up and Coming ARIA (web)16,138
, ,
The Template Trap: How Template Culture Is Dumbing Down UX16,137
, , , ,
Announcing Rolldown-Vite (eva/voi)16,136
It’s Not Your Codebase16,135
,
The Accessibility Advantage (moz)16,134
,
HTML Only Experiments (ala)16,133
, ,
Almost Half of Google Searches Are Branded—Here’s Why That Matters (tim+/ahr)16,132
, , , ,
AI-Assisted Coding for Teams That Can’t Get Away With Vibes (nil)16,131
,
Building an MCP Server With Nx (max/nx.)16,130
, ,
The “col” Element (hey)16,129
, ,
Architecting Components in Design Systems: Why It Feels Overwhelming (and How to Tackle It)16,128
,
New to the Web Platform in May (rac/dev)16,127
, , , , , , , ,
Re: Broken Promises (hbu)16,126
, ,
I Tried 100+ MCP Servers and Here’s My Top 1016,125
, ,
The Simplest Way to Deploy Your Own Updatable Portfolio Site (chr/fro)16,124
,
When Did UX and Content Get So Hard? (eri/uxd)16,123
, ,
The New “if()” Function in CSS Has Landed in the Latest Chrome (ami)16,122
, , , ,
AI-Assisted Development Needs Automated Tests (sim)16,121
, , ,
Felix Arntz on How Speculative Loading Is Speeding Up Your WordPress Website (fel+)16,120
, , , ,
The Promise That Wasn’t Kept (whi)16,119
, ,
Best Examples of EAA Compliant Websites in 202516,118
, , ,
Exploring the OKLCH Ecosystem and Its Tools (ina+/evi)16,117
,
5 Common Mistakes When Creating Design Specs16,116
, , ,
Why Are 2025/05/28 and 2025-05-28 Different Days in JavaScript?16,115
The 3 Ways JavaScript Frameworks Render the DOM (rya)16,114
, , , ,
Announcing Angular v20 (mge/ang)16,113
,
Privacy on the Web: Creating a More Trustworthy Web (set/w3c)16,112
, ,
Setting Targets for Developer Productivity Metrics (lau)16,111
, ,
Optimizing Time to First Byte (TTFB): 5 Key Strategies for Faster Load Times (des)16,110
, , , , , ,
Will the Model Eat Your Stack? (dbr)16,109
, ,
Letter to Arc Members 202516,108
, , ,
Quick Tip: Context Is Key (nat)16,107
, ,
Why Is Quality So Rare?16,106
,
Seamlessly Blend PHP With Node.js (mco+/pla)16,105
, ,
Ready or Not, the EAA Is Here (uxd)16,104
, , ,
The Magic of the Most Minimal HTML Possible (and Why We Don’t Make Use of It) (j9t)16,103
, ,
Build a Blog With Angular in Under 30 Minutes Using Analog (pmb)16,102
, ,
AI Agents for Designers, Developers, and UX Strategists: What You Need to Know Now (web)16,101
, , ,
Data vs. Findings vs. Insights in UX (vit/sma)16,100
, , ,
What We Know (So Far) About CSS Reading Order (dxn/css)16,099
New in Chrome 137 (rac/dev)16,098
, , ,
Should We Stop Creating Informational Content? (moz)16,097
, , ,
Top 10 Open Source Node.js Projects with AI Integration (It’s Crazy)16,096
, , , ,
What I Learnt About Making Websites by Reading Two Thousand Web Pages (ale)16,095
, , ,
CSS Spotlight Effect (ami/fro)16,094
,
Wake Up, Remix16,093
,
Why WordPress Scalability Starts With Smart Site Structure From Day One16,092
, , ,
AI Makes Bad Managers16,091
,
Comparing Rust, JavaScript, and Go for Authoring WASM Components16,090
, , , , ,
Decorative Text Within HTML (ede)16,089
, , ,
A Thought on JavaScript “Proof of Work” Anti-Scraper Systems (cks)16,088
, ,
Your React Meta-Framework Feels Broken, Here’s Why (red)16,087
, , , ,
What Svelte Promises (ric/sve)16,086
,
The Evolving Art and Science of Prompt Engineering: A Chronological Journey16,085
, ,
Are You Sure That Table Isn’t a List? (tem)16,084
, , ,
Stop Saying That AI Is Just a Tool and It Only Matters How It Is Used (fra)16,083
,
How the World Is Celebrating Open Source Maintainer Month (the)16,082
,
The Role of Captions and Transcripts in Accessibility16,081
,
Why Fonts Look Better on macOS Than on Windows (uxd)16,080
, , , , , , ,
JavaScript’s Upcoming Temporal API and What Problems It Will Solve16,079
,
Making Scannable Web Pages for Assistive Technology (jar)16,078
, , , , ,
My Request to Google on Accessibility (aar)16,077
, ,
Tools (ada)16,076
,