Frontend Dogma

News and Tools for Frontend Developers

Are you hiring remote frontend specialists? Check benefits and 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 RSS feed, on Mastodon and Bluesky, or through other channels

Entry (Sources) and TopicsDate#
Style Observer: JS to Observe CSS Property Changes, for Reals (lea)13608
, , ,
State of React 2024 [Results] (sac+/dev)13607
,
Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t)13606
, , , , ,
State of AI 2025 (sac/dev)13605
, , ,
Web Components Toolkit (stu)13604
,
Don’t Put Your Team in a Bubble (reb/scr)13603
, , ,
“Create React App” Officially Deprecated Amid React 19 Compatibility Issues (sar/soc)13602
, , ,
Control Scope Creep Before It Controls You (ana)13601
,
10 Must Read Microservices Architecture Books for Experienced Developers13600
, ,
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra/bra)13599
, , ,
Beyond DX: Developers Must Now Learn Agent Experience (AX) (ric/the)13598
, , ,
Here Is Why Microsoft’s “Uninstall Edge” Page Offers No Instructions to Remove the Browser (mar/gha)13597
, ,
6 Questions for Eric Eggert (yat+/fro)13596
, , ,
Which Rich Text Editor Framework Should You Choose in 2025? (aur+/liv)13595
, ,
Read-Only Accessibility in TypeScript (rau)13594
63% of Websites Receive AI Traffic (New Study of 3,000 Sites) (lou/ahr)13593
, ,
How to Declare Your Page’s Language (pop)13592
, ,
Optimizing the Critical Rendering Path (mat/deb)13591
,
How to Build a Landing Page in 6 Easy Steps (luk/sem)13590
,
Activism Matters for Tech Development and #FOSS Paths (inf)13589
, , ,
The State of PHP 2024 [Results] (jet)13588
, , , , , , , , , ,
Some Terminal Frustrations (b0r)13587
,
On Generative AI Security (sch)13586
, , ,
Using Padding to Space an Input and Label (dar)13585
, , , ,
How I Learned to Code With My Voice (whi)13584
, ,
Integrations: From Simple Data Transfer to Modern Composable Architectures (edo/sma)13583
, , , , , , ,
How to Gif (2025 Edition) (oll)13582
, , , , , , ,
Build a Link Blog (xua)13581
,
Firefox 135 Launches With New Translation Languages, New Tab Layout, Security, and Privacy Improvements (mar/gha)13580
, ,
How to Manage Old Content on a News Website (moz)13579
, , , , , ,
Introducing the JSR Open Governance Board (tin+/den)13578
, , , ,
Notes on the “Code Editors With AI” Landscape (chr/fro)13577
, , , , ,
Smarter, Faster, Human: The Future of Design Systems With AI (vis/uxm)13576
, ,
Change “font-weight” Based on the User’s Screen DPI13575
, ,
Before You Buy an Accessibility Audit (cer)13574
, , , ,
Combining “currentColor” With Relative Color Syntax (oll)13573
,
We Can’t Keep Simply Repeating This Mess (inf)13572
,
CSS “scrollbar-color” and “scrollbar-gutter” Are Baseline Newly Available (bra/dev)13571
, , , ,
OKLCH, Explained for Designers (des/uxd)13570
, ,
React Is Just “document.createElement()” With Good Marketing, and I Can Prove It13569
, ,
Understanding CORS Errors in Signed Exchanges (paw)13568
, , ,
Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet)13567
, , ,
Why Next.js Leads the Future of Web Development in 2025 (fro)13566
Microsoft Improves Text Contrast for All Windows Chromium Browsers (ser/ble)13565
, , , , ,
The Politics of Accessibility (bri)13564
, ,
AI Transparency Framework (jos/uxd)13563
, ,
Our Coding Obsession Is Pushing Kids Out of Tech13562
Vite With TypeScript (rwi)13561
, , , ,
CSS Nesting: Use With Caution (bel/pic)13560
,
The Internet Is Unusable (ste/uxd)13559
, , , ,
U.S. Blocks Open Source “Help” From These Countries (sjv/the)13558
Google Says “Links Matter Less”—We Looked at 1,000,000 SERPs to See if It’s True (pat/ahr)13557
, , ,
XHTML in Modern Web Development (mar)13556
, ,
Computing With Tuples in TypeScript (rau)13555
,
How to Determine if You Are Ready for a Leadership Position? (tec/cod)13554
, ,
How Data Structures Organize the Chaos of Modern Apps (yan/cod)13553
, , ,
How to Set WebGL Shader Colors With CSS and JavaScript (nma)13552
, , ,
A Modern Node.js and TypeScript Setup for 2025 (sse/woo)13551
, ,
Keep Your Node.js Apps Secure With “npx is-my-node-vulnerable” (tre)13550
, , ,
The 2025 Frontend Dogma Survey (fro)13549
,
Here’s Why Your Anchor Positioning Isn’t Working (jam/odd)13548
,
New to the Web Platform in January (rac/dev)13547
, , , , , , , ,
Making Good on the Promise of Open Source AI (the)13546
,
Svelte 5 and the Future of Frameworks: A Chat With Rich Harris (ric+/sma)13545
, , ,
The DOJ Provides Practical Guidance on How to Implement a Digital Accessibility Program (sey)13544
, , ,
Considerations for Making a Tree View Component Accessible (eri/git)13543
, , , ,
What Text Area Popovers Taught Me About Browser APIs (bla)13542
, , ,
Why Teams Are Ditching DynamoDB (car+/the)13541
, ,
Pure CSS Mixin for Displaying Values of Custom Properties (kiz)13540
, ,
My Failed Attempt to Shrink All npm Packages by 5% (eva)13539
, ,
The Browser Back Button: Hero, Villain, or Outdated Relic? (web)13538
, ,
Full-Bleed Layout With Modern CSS (css/fro)13537
,
How Does a Compiler Work? (cod)13536
,
What Is Cloud Computing? (sit)13535
, , ,
AI-Generated Art Is Postmodern Art (def/uxd)13534
,
Only One “<details>” Open at a Time (osv)13533
AI Slop, Suspicion, and Writing Back (ben)13532
The Modern Way to Write JavaScript Servers (mar)13531
, ,
React.js vs. Next.js (bhu)13530
, , ,
Tailwind CSS Gets a “Ground-Up Rewrite” for Version 4.0 (low+/the)13529
Your Clean Code Might Be Someone Else’s Technical Debt (drp)13528
, ,
It’s Time for Design to Think Less and Feel More (dar/cre)13527
,
Designing for Clarity: How We Restructured Intercom’s Information Architecture (pra/int)13526
, ,
Build It Yourself (mit)13525
, , ,
Creating Accessibility Systems to Fix Accessibility Issues (vis/ass)13524
, ,
Ensuring Excellence: Proven Strategies for Quality Vue.js Development (fro)13523
, ,
Positioning Text Around Elements With CSS Offset (rps/css)13522
,
How to Build a CMS With React-Admin (thi/mar)13521
,
Node.js EOL Versions CVE Dubbed the “Worst CVE of the Year” by Security Experts (sar/soc)13520
, ,
How I Open-Sourced My Secret Access Tokens From GitHub, Slack, and npm—and Who Actually Cares (iva)13519
, , ,
When DEI Fails: Is Diversity Just a Marketing Gimmick? (web)13518
Announcing the Web AI Acceleration Fund (add/dev)13517
, , , ,
JavaScript Temporal Is Coming (bsm/mdn)13516
The 4 Top IDEs for Developers in 2025 (ele/des)13515
, , , , , ,
9 Design System Metrics That Matter (sup)13514
, , , , , , ,
Cool URLs Don’t Change, Unless… (j9t)13513
, , ,
Build for the Web, Build on the Web, Build With the Web (css)13512
,
MPA View Transitions Deep Dive (bra+)13511
, , , ,
Exploring AI, Web Development, and Accessibility in Tech With Stefan Judis (ste+/wea)13510
, , , , , , ,
The Speed Trifecta: 11ty, Brotli 11, and CSS Fingerprinting (the)13509
, , , , , ,
We Need to Cut Down on Cloud Waste in 2025 (dev/the)13508
,
Running Inference in Web Extensions (tar/moz)13507
, , ,
The Four Most Dangerous Words to People With Disabilities (ins)13506
,
Interop 2024 Brings More Features to Baseline (rac/dev)13505
, , ,
Tailwind CSS v4.0 (ada/tai)13504
,
Scroll State Queries Are on the Way (and a Bunch More) (kev)13503
, , , , ,
Why You Should Reconsider Your “Big Tech Job” in 2025 (jkr/the)13502
Creating an Angled Slider (zac/fro)13501
, ,
Avoiding “anys” With Linting and TypeScript (jos/tse)13500
,
The Vertical Bar (“|”) Is the Best HTML Page Title Separator (kyr)13499
So, You Want to Push a Web Platform Feature? (yoa)13498
, , ,
Initial Load Performance for React Developers: Investigative Deep Dive (ade)13497
, , , ,
New Capabilities for “attr()” (una)13496
,
Things People Get Wrong About Electron (fel)13495
Angular Clean Coding Fundamentals (jdg/tel)13494
, ,
Navigating the Challenges of Modern Open-Source Authoring: Lessons Learned (alv/sma)13493
,
Tuesday, January 21, 2025 Security Releases (raf/nod)13492
, ,
Emotional Intelligence in AI-Driven UX Design (uxm)13491
, , ,
The Second Wave of AI Coding Is Here (wil/tec)13490
,
Simplify Lazy Loading With Intersection Observer’s “scrollMargin” (fro)13489
, , , ,
Adding Dark Mode to My Site, Shaving Yaks, and Questioning My Sanity (hl)13488
, ,
My Website Has Been Gaslighting You (dav)13487
, , ,
Is SEO Dead in 2025? No, but Changes Are Coming (mar/sem)13486
, , ,
[NestJS] v11.0.0 (kam/nes)13485
,
Why Every Developer Should Fail (at Least Once) (aia)13484
,
6 CSS Snippets Every Front-End Developer Should Know in 2025 (arg)13483
, , , , ,
Fetch and HTTP/2 Support in Node.js, Bun, and Deno (dis)13482
, , , , ,
Opacify HEX Color in CSS (osv)13481
, ,
Generating Test Values Using JavaScript Generators (pet)13480
, , ,
Moving on From React, a Year Later (kel)13479
, , ,
The Hidden Complexity of Scaling WebSockets (atu)13478
, ,
Google Begins Requiring JavaScript for Google Search (kyl/tec)13477
,
How to Structure Functions (cfe)13476
, ,
2024 Year in Review (fuj+/ast)13475
,
From React to Next.js: When and Why to Make the Switch (kg/fro)13474
, ,
Vitest 3.0 Is Out (vit)13473
What Is the Shared Storage API? (dev)13472
, , ,
Interoperable Tokens (don)13471
, , ,
SolidJS Creator on Confronting Web Framework Complexity (low/the)13470
, , , , , , ,
Postgres vs. MySQL (bur/out)13469
, , ,
My 18-Months Rule for Open-Source Contributions (j9t)13468
, , ,
Open Source Drives the Twelve-Factor Modernization Project (res/the)13467
, ,
23 HTML Cheat Sheets, for a Different Look at HTML (fro)13466
, ,
The Web Is a Creative Industry and Is Facing the Same Decline and Shattered Economics as Film, TV, or Publishing (bal)13465
, , ,
Polypane 23 (pol)13464
, ,
Don’t Wrap “figure” in a Link (aar)13463
, , , ,
Learning HTML Is the Best Investment I Ever Did (cod)13462
, ,
Using SVGs on Canvas With Compose Multiplatform (eev)13461
, , ,
User Research Myths (jon)13460
, , ,
Drupal CMS 1.0 Released (dri)13459
,
FastHTML and Heroku (alv/git)13458
, ,
CSS “scroll-state()” (arg/dev)13457
, , ,
What Is a Callback Function? (cfe)13456
, ,
How Fingerprinting Can Improve Your Website’s Performance13455
, , ,
On Certification (mar)13454
, ,
Making “this” Less Annoying (dav)13453
, ,
What Is [the] TCP/IP Model and How Does the Protocol Work (sit)13452
, , ,
You Might Not Have a Web Performance Problem (mat/deb)13451
, , , , ,
Creating Generative Artwork With Three.js (edu/cod)13450
, , ,
JavaScript’s “Promise.race” and “Promise.all” Are Not “Fair” (chr)13449
,
The Usability Myth: Users Don’t Really Know What They Want (and That’s Totally OK) (web)13448
, ,
A Checklist for Your tsconfig.json (rau)13447
, ,
CSS “attr()” Gets an Upgrade (bra/dev)13446
,
How I Write Angular Apps in 2025: Tools, Tips, Techniques (rai)13445
, , , ,
Justified Text: Better Than Expected? (tyl/clo)13444
,
Angular Team Unveils Strategy for 2025 (pjk/inf)13443
,
APIs Are Quickly Becoming the Latest Security Battleground (and Nightmare) (the)13442
,
Troubles With Multipart Form Data and Fetch in Node.js (phi)13441
,
Advancing Accessibility: Strategies for Continuous Improvement (seg/equ)13440
, , ,
Top Pens of 2024 on CodePen (cod)13439
, , ,
CSS “text-box-trim” (arg/dev)13438
,
Open Props UI13437
, ,
The Success of Interop 2024 (jen/web)13436
, , ,
Release Notes for Safari Technology Preview 211 (jon/web)13435
, , ,
ADA Title II: Top 20 Questions Answered (gwi/deq)13434
, , ,
Data Structures and Algorithms (DSA): A Complete Tutorial (sit)13433
, ,
CSS Wishlist for 2025 (chr/fro)13432
,
Prefetching Subresources With Signed Exchanges (paw)13431
, , , ,
Container Queries Unleashed (jos)13430
,
Introduction to Docker: Core Concepts (rav)13429
, , , ,
Revealed: React’s Experimental Animations API (cit)13428
, , ,
A11y 101: 1.3.1 Info and Relationships (nat)13427
, ,
Evolving GitHub Issues (Public Preview) (git)13426
,
Everything You Need to Know About Node.js Type Stripping (sat)13425
,
How to Wait for the “sibling-count()” and “sibling-index()” Functions (mon/css)13424
, , ,
To Get to the Internet, You Need a Steam Shovel (res)13423
,
CDN-First Is No Longer a Performance Feature (osv)13422
, , , , ,
Accessibility of Emojis for List Bullets—Potential Issues (cer)13421
, , , , ,
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)13420
, , , , ,
WordPress Is in Trouble (gav)13419
, , ,
What’s Involved in Getting a “Modern” Terminal Setup? (b0r)13418
, , ,
HTML Developers: Please Consider—in the Year of 2025 (ste)13417
, ,
Oracle Refuses to Yield JavaScript Trademark, Deno Land Says (pjk/inf)13416
, , ,
Your First Component (don)13415
,
Creating Successful Design System OKRs That Drive Adoption (lew)13414
, ,
Meta and Spotify’s AI Takeover: Is This the End of Human-Created Content? (uxd)13413
, , ,
Tech Jobs Radar (tre)13412
, ,
All JavaScript Keyboard Shortcut Libraries Are Broken13411
, ,
Should Accordions Auto-Close Sections? (ash)13410
How to Conduct Accessibility Testing With Screen Readers (sit)13409
, , , ,
Mastering Angular Unit Testing: Best Practices and Tools (son/pla)13408
, , ,
Can AI Be Used as an Accessibility Testing Partner? (tho)13407
, , , ,
ECMAScript Feature: Regular Expression Pattern Modifiers (rau)13406
,
Code Quality Becomes Even More Vital in the AI Era (vil/the)13405
, ,
Building Design Consistency: A Deep Dive Into Figma Variables at JW Player (mih/jwd)13404
, , , , , ,
A New Chapter for Express.js: Triumphs of 2024 and an Ambitious 2025 (use)13403
, ,
Prescriptive and Descriptive Information Architectures (jar)13402
,
A Couple CSS Tricks for HTML Dialog Elements (cas)13401
, ,
Clean Up HTML Content for Retrieval-Augmented Generation With Readability.js (phi/dat)13400
, , ,
The “:empty” Pseudo-Class in CSS (cfe)13399
,
What Is Website Traffic? And a Quick Guide on Tracking It (dan/sem)13398
, , , ,
Automated and Manual Accessibility Testing Work Best Together (pop)13397
, ,
ECMAScript Feature: Import Attributes (rau)13396
Tight Mode: Why Browsers Produce Different Performance Results (geo/sma)13395
, , , , , ,
10 Backend Terms Every Frontend Developer Should Know (the)13394
, , ,
Accessibility Always a Focus in Drupal (the+/the)13393
, ,
“aria-description” Does Not Translate (aar)13392
, , ,
Running Animations Without Keyframes (css)13391
, ,
Let’s Standardize Async CSS (sco)13390
,
Remove the “direction” Property on Your Arrow Icons (ali)13389
, ,
Getting All Comments From a Given User on a GitHub Discussion (www)13388
,
Lesser Known Uses of Better Known Attributes (sto/sma)13387
,
Node’s New Built-In Support for TypeScript (rau)13386
, ,
Eleventy, 2024 in Review (zac/ele)13385
,
CSS Wish List 2025 (mey)13384
,
Sharing a Variable Across HTML, CSS, and JavaScript (chr/fro)13383
, ,
5 Technical JavaScript Trends You Need to Know About in 2025 (the)13382
, , , , , , , ,
Accessibility Essentials Every Front-End Developer Should Know (mar)13381
, , , , , , , , , ,
pnpm 10 (pnp)13380
,
Double-Keyed Caching: How Browser Cache Partitioning Changed the Web (add)13379
, , , , ,
Top PHP Alternative for Web Development? (fro)13378
, , , , ,
1-Billion Row Challenge With Node.js (jac)13377
,
Reckoning: Frontend’s Lost Decade (sli/per)13376
, , ,
What Is the Definition of Done? (reb/scr)13375
, ,
An Overview of the 50 Highest-Ranking Web Design and Development Glossaries (j9t)13374
, , , ,
Top React Best Practices in 2025 (fro)13373
,
Progressive Enhancement Brings Everyone In (jay)13372
, , , ,
How to Design for High-Traffic Events and Prevent Your Website From Crashing (sma)13371
, , , , , , ,
2024 JavaScript Rising Stars (mic)13370
, , , , , , , , , , , , ,
Use “translate” to Turn Off Element Translations (ste)13369
,
How to Find All Existing and Archived URLs on a Website (tca/moz)13368
, , , ,
Relatively New Things You Should Know About HTML Heading Into 2025 (chr/fro)13367
, , , , , , ,
What’s Actually Happening With JS Frameworks (awe)13366
, , ,
Quick Note: Limit Use of “Logo” in Alt Text (nat)13365
, , , ,
HTML Is Actually a Programming Language—Fight Me (tim/wir)13364
,
How to Order Attributes on HTML Elements13363
, , , ,
Brief Note on Figure and Figcaption Support (aar)13362
, , , ,
The Difference Between HTML Attributes and Properties (pau/clo)13361
, , ,
A Day in the Life of a Software Engineer in 2025 (rak)13360
,
Open Source in 2025: What Will Matter Most This Year? (ama/the)13359
,