Tech does not just watch: Take action against Russia’s war on Ukraine 🇺🇦 Take action against Israel’s genocide on the Palestinian people and the destruction of Palestine 🇵🇸 Petition, protest, boycott, divest, sanction. Hide

Frontend Dogma

News and Tools for Frontend Developers

Are you hiring remote frontend specialists? Post your frontend job ad.

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: only $10/year), on Mastodon and Bluesky, or through other channels

Entry (Sources) and TopicsDate#
Three HTTP Versions Later, Forms Are Still a Mess16,557
, ,
How to Discover a CSS Trick (css)16,556
,
Node.js Is Growing Up: 3 Major Releases That Changed the Game (hac)16,555
,
Impact of AI on Tech Content Creators (chr)16,554
, , ,
Never Write Your Own Date Parsing Library (zac)16,553
, , , ,
State of HTML 2025 Now Open (lea)16,552
,
The Untold Story of JavaScript16,551
, ,
CSS Logical Properties—What, Why, and How (sch)16,550
, ,
Introducing Zustand (State Management) (ada/fro)16,549
, , ,
Handling JavaScript Event Listeners With Parameters (sma)16,548
,
Super Short Note: Placeholder Perfidy (ste)16,547
, ,
The Hidden Cost of Poor Navigation: How Information Architecture Directly Impacts Business Metrics (uxm)16,546
, ,
The Communication Crisis That’s Killing UX Design Careers (uxm)16,545
, , , , ,
A Friendly Introduction to SVG (jos)16,544
, ,
Does Ranking Higher on Google Mean You’ll Get Cited in AI Overviews? (ahr)16,543
, , ,
AI Agents Are Creating a New Security Nightmare for Enterprises and Startups (the)16,542
, ,
New Colors Without Shooting Lasers Into Your Eyes (dyn)16,541
React Router and React Server Components: The Path Forward (mar/rem)16,540
, , ,
The Untold Story of JavaScript (den)16,539
, ,
The Agentic AI Era at JetBrains Is Here (jet)16,538
, ,
Public CSS Custom Properties in the Shadow DOM (mic)16,537
, , , ,
Tuesday, July 15, 2025 Security Releases (nod)16,536
, ,
Shipping WebGPU on Windows in Firefox 141 (jbl/moz)16,535
, , , , ,
Stacked Transforms (chr/fro)16,534
, ,
Announcing Nuxt 4.0 (dan/nux)16,533
,
Naked and Semantic (ark+/dea)16,532
, , , , ,
Everything That Is Coming in PHP 8.5 (ami)16,531
Did AI Kill the System’s Thinking Skills in UX? (uxd)16,530
, ,
How Keyboard Traps Impact Web Accessibility (a11)16,529
, , ,
I Used n8n and ChatGPT and Reddit to Make $2.4K in 7 Days—Here’s How (ask)16,528
, , ,
Improving Design Critiques (uxd)16,527
, , ,
Am I Becoming Irrelevant? (jor)16,526
Proposal—Shift Node.js to Annual Major Releases and Shorten LTS Duration (raf)16,525
,
Dynamic “nth-child()” Using “sibling-index()” and “if()” (css)16,524
, ,
Why I’m Writing Pure HTML and CSS in 202516,523
,
Modern Async Iteration in JavaScript With “Array.fromAsync()”16,522
, ,
A Label and a Name Walk Into a Bar (ste)16,521
, , , ,
Apple’s Browser Engine Ban Persists, Even Under the DMA (owa)16,520
, , , , ,
Design Patterns for AI Interfaces (vit/sma)16,519
, , ,
A11y 101: 2.2.2 Pause, Stop, Hide (nat)16,518
, , , ,
Contagious Interview Campaign Escalates With 67 Malicious npm Packages and New Malware Loader (soc)16,517
, ,
Setting Line Length in CSS (and Fitting Text to a Container) (dxn/css)16,516
, ,
The Three Great Virtues of an AI-Assisted Programmer16,515
, , ,
Deploy a Site With a Build Process and a Custom Domain Name (chr/fro)16,514
, , , ,
“No Code” Is Dead (dar/the)16,513
, ,
Scroll-Driven Sticky Heading (ami/css)16,512
, , , , ,
I’m More Proud of These 128 Kilobytes Than Anything I’ve Built Since16,511
, , , , ,
Get the Index of an Element Within Its Parent (css)16,510
,
Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity16,509
, , , ,
Why I Don’t Trust WCAG 2.2 and What I’m Hoping From 3.0 (dxn/log)16,508
, ,
Managing the State of Your Promises (ato)16,507
, ,
Parsing 1 Billion Rows in Bun/TypeScript Under 10 Seconds16,506
, , ,
“@ property” (kev)16,505
,
Managing Focus and Visible Focus Indicators: Practical Accessibility Guidance for the Web (tpg)16,504
, , ,
“:has()” Is More Than a Parent Selector (kev)16,503
, ,
Back When Websites Had a Pulse (uxd)16,502
,
HTML Minifier Next (a Maintained Fork of HTML Minifier) (j9t)16,501
, , , ,
Testing Methods: Identify Input Purpose (dec)16,500
,
When Accessibility Standards Slip, Design Steps Up16,499
,
Bulletproof Web Component Loading (cfe)16,498
,
Design Is Flattening. So, How Will You Fight for Your Users? (ian/uxd)16,497
,
We Studied 100 Dev Tool Landing Pages—Here’s What Really Works in 2025 (tra/evi)16,496
, ,
View Transition List Reordering (With a Kick Flip) (chr/fro)16,495
, , ,
How to Measure the ROI of AI Coding Assistants (jkr/the)16,494
, , ,
The Real Problem With Technical Debt (and How to Actually Fix It) (kev)16,493
, ,
The History of React Through Code (cru/pla)16,492
, ,
Designing Information Architecture: Design Principles (pab/uxm)16,491
, , ,
It’s All About (Accessibility) Focus and Compose (eev)16,490
, , ,
Is It Still Worth Using jQuery in 2025?16,489
,
24 UX Design Principles of the Build-for Framework (uxm)16,488
, ,
The Open-Source Software Saving the Internet From AI Bot Scrapers (ema/404)16,487
, ,
A11y 101: 2.2.1 Timing Adjustable (nat)16,486
, ,
JavaScript Scope Hoisting Is Broken (dev)16,485
, ,
Stop Killing Frameworks and Languages16,484
, , , ,
30 Years of JavaScript: 10 Milestones That Changed the Web (ric/the)16,483
, , , , , , , , , , ,
Frontend Dogma’s Global RSS Feed Is Now a Paid Feature (fro)16,482
How to Think Like a Front-End Architect (Not Just a Developer)16,481
, , ,
JavaScript Is Being Rewritten in Rust (ost/end)16,480
,
When Figma Starts Designing Us (run/des)16,479
, ,
Digital Accessibility Fundamentals: What Are Our Obligations? (int)16,478
, , ,
I Started Learning JavaScript Again—a Beginner-Friendly Guide to the Basics16,477
, ,
Don’t Choose the Wrong Web Team—Here’s Why It Matters16,476
, , ,
Ensuring Accessibility in Single Page Applications: A Comprehensive Guide16,475
, ,
“satisfies” in TypeScript (ada/fro)16,474
Digital Accessibility Fundamentals: What Is Digital Accessibility? (int)16,473
, ,
Digital Accessibility Fundamentals: Why Engage With Digital Accessibility? (int)16,472
, ,
Digital Accessibility Fundamentals: Who Does Digital Accessibility Affect? (int)16,471
, ,
4 Untranslatable Words Behind Patreon’s Internationalization Overhaul16,470
, ,
“:nth-last-child” (kev)16,469
,
From Prompt to Deployed App in Less Than 2 Minutes (dyn)16,468
, , , ,
Why Designers Sound Negative (and Why That’s a Good Thing) (and)16,467
, ,
CSS Intelligence: Speculating on the Future of a Smarter Language (sma)16,466
, ,
AI Didn’t Kill Web Design—Templates Did It First (web)16,465
,
What Every React Developer Should Know About Signals (rya)16,464
, , ,
What’s New in ECMAScript 2025 (paw)16,463
Build Your First MCP Server: Tutorial for Beginners (deb)16,462
, , , , ,
Creating an Effective Website Accessibility Checklist16,461
,
You’re All CTO Now (jam)16,460
,
Testing Methods: Orientation (dec)16,459
, ,
Fear May Be the Mind-Killer, but Unindexed Database Queries Are the Database-Killer16,458
,
A Simple Website16,457
, , , , , , , , , ,
Software Engineering With LLMs in 2025: Reality Check (ger)16,456
, , ,
Tabindex: What It Is, How It Works, and When to Use It (pop)16,455
, , ,
The Accessibility Pipeline for Frontend Teams (sto)16,454
,
CSS Conditionals With the New “if()” Function (una/dev)16,453
, ,
10 Figma Shortcuts That Will Cut Your Design Time in Half (uxd)16,452
, , ,
Introducing Pay per Crawl: Enabling Content Owners to Charge AI Crawlers for Access (clo)16,451
, , ,
Custom Select (That Comes Up From the Bottom on Mobile) (chr/fro)16,450
, , , , ,
The Gap Strikes Back: Now Stylable (pat/css)16,449
New Google Search Console Insights Report (rus/ser)16,448
, ,
State of Devs 2025 Survey: Maybe Don’t Call Yourself a Frontend Developer? (sac)16,447
, ,
WebAssembly: Yes, but for What? (win/acm)16,446
A11y 101: 2.1.4 Character Key Shortcuts (nat)16,445
, , ,
Multicol and Fragmentation (rac/css)16,444
, ,
How JSDoc Saved My Dev Workflow (ato)16,443
, , ,
Public and Private CSS Cascade Layers in a Design System (cfe)16,442
,
The New Skill in AI Is Not Prompting, It’s Context Engineering16,441
,
Google: Many Top Sites Have Invalid HTML and Still Rank (mat/sea)16,440
, , , ,
Design Is a Language (uxd)16,439
,
Guide to Custom UI for Augmented Reality (uxd)16,438
, , ,
Polypane 25: Browser Extensions With Manifest V3, Form Outlines, and Chromium 138 (pol)16,437
, ,
CLS Is the New Page Speed: Why Designers Need to Care More Than Developers (web)16,436
, , ,
Step Gradients With a Given Number of Steps (ana/fro)16,435
, , , ,
Why Automattic CEO Matt Mullenweg Went to War Over WordPress (pho+/ver)16,434
, , ,
Using CSS Cascade Layers With Tailwind Utilities (zel/css)16,433
, ,
New to the Web Platform in June (rac/dev)16,432
, , , , , , , ,
What’s the Difference Between Ordinary Functions and Arrow Functions in JavaScript? (jrs)16,431
, ,
The Eleven Commandments of AI UX (uxd)16,430
, , ,
Default Parameters: Your Code Just Got Smarter16,429
Accessible Social Media: Alt Text16,428
, , ,
The European Accessibility Act: Dreams and Gratitude (lfl)16,427
, ,
Stop Using Hero Images! They’re Killing Your UX (web)16,426
, ,
JavaScript Trademark Update (tin/den)16,425
, ,
What Is a VPAT? Understanding the Meaning and Value of the Voluntary Product Accessibility Template (tpg)16,424
, ,
The Best Career Advice I Ever Got16,423
,
MCP Security Vulnerabilities and Attack Vectors16,422
, ,
It’s More Than Picking a Pretty Font (uxd)16,421
, , , , ,
Modern Node.js Patterns for 202516,420
, , , , , , , , , , ,
The Death of the Frontend: How AI Will Kill Web Development16,419
, ,
Implement WCAG Rules in Your Infographics (a11)16,418
, , , , , , ,
Liquid Glass, Fragile UX, and Why I Wanted 2 Weeks Before Writing About It (uxd)16,417
, , ,
A Step Into the Spatial Web: The HTML Model Element in Apple Vision Pro (zac/web)16,416
, , ,
How to Make a Design System That’s Not Boring (bra+/cod)16,415
, , ,
Top 5 Web Accessibility Issues in 2024 (and How to Fix Them) (int)16,414
, , , , ,
What’s Coming to JavaScript (lca/den)16,413
,
No Time to Learn (Web) Framework X (jef)16,412
,
Ecma International Approves ECMAScript 2025: What’s New? (rau)16,411
,
Disabling Zsh History for a Given Shell Session (www)16,410
RSS Server Side Reader16,409
,
I Don’t Care if My Manager Writes Code16,408
“object-fit” and “object-position” (kev)16,407
Innovative Solutions for Ecommerce—How Shopify Headless Works (ami)16,406
, ,
Micro-Frontend Architecture Pitfalls: Solving Integration and Deployment Challenges at Scale (des)16,405
, , , ,
Joe Dolson and Jonathan Desrosiers on WordPress Accessibility: Core Commitment or Canonical Plugin (joe+)16,404
, , ,
Writing Alt Text With AI (jar)16,403
, , , ,
From Word Fluff to Real Impact: Achieving Specific, Measurable, and Accountable Accessibility16,402
, ,
Lightly Poking at the CSS “if()” Function in Chrome 137 (sun/css)16,401
, , , , ,
Quality Is a Trap (eri)16,400
,
SVG Optimization and Accessibility Basics (dbu)16,399
, , , ,
Design Leadership in the Age of AI: Seize the Narrative Before It’s Too Late (and)16,398
, ,
Dear Loading Spinner, We Need to Talk (web)16,397
,
Quantity Query Carousel (chr/fro)16,396
, , ,
How to Write Compelling Software Release Announcements (mtl)16,395
,
The Hovercar Framework for Deliberate Product Design (lea)16,394
, ,
PNG Is Back (pro)16,393
,
Portable Network Graphics (PNG) Specification (Third Edition) (pro+/w3c)16,392
, ,
Speculative Optimizations for WebAssembly Using Deopts and Inlining (lie)16,391
, , , , ,
A New Era of Code Quality16,390
,
The Mythical Magical Button (cri)16,389
, , , ,
Node.js 24: Your Next Big Frontend Upgrade? (low/the)16,388
Vite 7.0 Is Out (vit)16,387
,
Tips for Making Regular Expressions Easier to Use in JavaScript (rau)16,386
, , ,
Know Your HTML (Yes, TSX Included) (hel)16,385
, ,
Implementing an Undo/Redo System in a Complex Visual Application (mla)16,384
,
I’m a Software Engineer in My 30s, Sharing the 20 Hard Truths I Wish I Knew in My 20s to Avoid Career Burnout16,383
, , ,
Decoding the SVG “path” Element: Curve and Arc Commands (sma)16,382
, ,
WCAG 3, Increment or Overhaul? (ala)16,381
, , ,
Generating Playwright Tests With AI: Let’s Try the New Playwright MCP Server (ste)16,380
, , , , ,
Understanding CSS “corner-shape” and the Power of the Superellipse (ami/fro)16,379
, ,
How to Develop a RAG System Using Node.js16,378
, ,
Prefer Gaps to Margins (kyl)16,377
,
The Evolution of UX Design in the Age of AI Platforms—from Creator to Choreographer (uxm)16,376
, , , ,
Testing Methods: Sensory Characteristics (dec)16,375
, ,
AI’s Wedge in Software (hvp)16,374
, , ,
A Short History of Web Bots and Bot Detection Techniques (ole)16,373
, , ,
Serialization From Node.js16,372
, , , ,
The AIpocalypse Is Here for Web Sites as Search Referrals Plunge (tho/the)16,371
, , ,
JWTs Are Not Session Tokens, Stop Using Them Like One16,370
, ,
Everything I Know About Good System Design16,369
Erring on the Side of Caution (tem)16,368
,
What to Say When You Don’t Know the Accessibility Answer16,367
,
A Guide to Scroll-Driven Animations With Just CSS (sar/web)16,366
, , ,
Career Advice, or Something Like It (mar)16,365
, ,
Font Size Dimensions (don)16,364
, ,
“calc-size()” (kev)16,363
,
Color Everything in CSS (mon/css)16,362
, ,
Key Paths, Plans, and Strategies to AI Safety Success16,361
, ,
CSS: The Pain Is Real (j9t)16,360
, , ,
Angular Signals: A New Mental Model for Reactivity, Not Just a New API16,359
, ,
CSS Cascade Layers vs. BEM vs. Utility Classes: Specificity Control (sma)16,358
, , , ,
JavaScript Broke the Web (and Called It Progress) (jon)16,357
, , , , ,
Baseline Newly Available: Stay on Top of New Web Features (mar/the)16,356
, ,
CSS Color Functions (css)16,355
, , ,
Every Service Should Have a Killswitch16,354
,
When Can I Use Temporal?16,353
, ,
Testing MongoDB in Node With the MongoDB Memory Server (app)16,352
, , ,
9 New JavaScript Features in ES2025 (w3c/syn)16,351
, ,
JSON Module Scripts Are Now Baseline Newly Available (tom/dev)16,350
, , , ,
Drawing CSS Shapes Using “corner-shape” (css/fro)16,349
,
WML, WAP, and Microformats Demo (art)16,348
, ,
How TypeScript Solved Its Global Iterator Name Clash (rau)16,347
AI Browsers: Dia’s Chat-Based UI and the Future of the Web (ric/the)16,346
, , , ,
Slightly Enhanced Sticky Revealing Footer (cri)16,345
, ,
Animating Zooming Using CSS: Transform Order Is Important… Sometimes (jaf)16,344
, , ,
Why JPEGs Still Rule the Web (ern/iee)16,343
, ,
Testing Methods: Meaningful Sequence (dec)16,342
, , ,
Biome v2—Codename: Biotype (ema/bio)16,341
,
Bridging CommonJS and ESM in Node.js (joy/web)16,340
, , ,
How to Define a Distinctive Design Language (uxd)16,339
, ,
Scope in CSS (chr/fro)16,338
, ,
How to Keep Up With New CSS Features (sac/css)16,337
, , ,
JavaScript String “slice()” Considered Harmful (att)16,336
,
What I Wish Someone Told Me When I Was Getting Into ARIA (eri/sma)16,335
, , , ,
Don’t Use That Accessibility Overlay (acc)16,334
,
Design Is Care (and Sensing Carelessness) (ben)16,333
A11y 101: 2.1.2 No Keyboard Trap (nat)16,332
, , , ,
How to Create an Accessible Color Palette (cfe)16,331
, , ,
Compiling JavaScript Ahead of Time (goo/web)16,330
, , ,
The Future of Content Design in an AI World (uxd)16,329
, , ,
Developers Improve by Learning How to Think Like a Developer16,328
,
Selfish Reasons for Building Accessible Uis (nol)16,327
, , ,
Using “await” at the Top Level in ES Modules16,326
, ,
Happy Birthday, JavaScript (ato)16,325
,
Mission Impossible—Accessibility Job Roles (cra)16,324
, ,
You’re Not an Accessibility Specialist Until You’ve… (cer)16,323
,
The 5-Step AI UX Playbook to Deliver High-Impact Products (uxd)16,322
, ,
Quick Tip: Avoid Event Listeners on the “window” Object (nat)16,321
, , , ,
Grainy Gradients (ana/fro)16,320
, , , ,
The Growing Risk of Malicious Browser Extensions (soc)16,319
,
The Hamburger-Menu Icon Today: Is It Recognizable?16,318
, , ,
Exploring JavaScript (rau)16,317
,
Postgres Is Too Good (and Why That’s Actually a Problem)16,316
,
Design Systems of the Future (ben)16,315
, ,
Design Patterns for Securing LLM Agents Against Prompt Injections (sim)16,314
, , , , ,
How to Use the Browser Console: An In-Depth Guide (deb)16,313
, , , , ,
Worker Threads in Node.js: A Complete Guide for Multithreading in JavaScript (nod)16,312
, , , ,
Why Visual Website Builders Didn’t Take Off (whi)16,311
, , , ,
Accessible Rickrolling (hey)16,310
, ,
HTML Spec Change: Escaping “<” and “>” in Attributes (sec/dev)16,309
, , , ,
Escaping “<” and “>” in Attributes—How It Helps Protect Against Mutation XSS (sec)16,308
, , , , , , ,