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#
20 Years of AJAX: The Technology That Revolutionized Web Development (lav)13754
, , ,
Demystifying MIME Types: Basics, Use Cases, Best Practices (mar)13753
, , , , , , , ,
Static vs. Dynamic Content: Which Should Developers Favor? (the)13752
, , , , ,
Getting the Relationship Between UX Design and Business Strategy Right (sil/uxm)13751
, , , , , ,
10 Awesome CSS Text Effects for Your Next Project (pau)13750
, ,
The “attr()” Function in CSS Now Supports Types (ami)13749
, , ,
The “:not” Selector in Use (cit)13748
,
Generic LLM Chatbot Attestation (aar)13747
,
Top 5 Uses of WebAssembly for Web Developers (the)13746
, , , ,
The New “withAttributes” Method for Relationships and Scopes in Laravel (ami)13745
,
10 Secret Git Commands That Will Save You 5+ Hours Every Week13744
,
Create Contextual Console Loggers (pat/dev)13743
, , , , , , , ,
We Were Wrong About GPUs (mrk/fly)13742
, , , , ,
Don’t Start Testing Accessibility With a Screen Reader (eri)13741
, , ,
When an Engineering Manager Marries a Product Manager: Planning, Roadmaps, and Bug Fixes (dar/cod)13740
, , , ,
Interop 2025: Another Year of Web Platform Improvements (rac/dev)13739
, , ,
Tech Continues to Be Political (mia)13738
, , , , ,
Style Observer: JS to Observe CSS Property Changes, for Reals (lea)13737
, , ,
State of React 2024 [Results] (sac+/dev)13736
,
Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t)13735
, , , , ,
State of AI 2025 (sac/dev)13734
, , ,
How to Refactor Code With GitHub Copilot (git)13733
, , , ,
How to Start a React Project (rwi)13732
,
The Mystery of Mutable Subresources in Signed Exchanges (paw)13731
, , , , , , ,
Web Components Toolkit (stu)13730
,
Don’t Put Your Team in a Bubble (reb/scr)13729
, , ,
“Create React App” Officially Deprecated Amid React 19 Compatibility Issues (sar/soc)13728
, , ,
Control Scope Creep Before It Controls You (ana)13727
,
10 Must Read Microservices Architecture Books for Experienced Developers13726
, ,
Three Approaches to the “&” (Ampersand) Selector in CSS (rps/fro)13725
,
The Popover API Is Now Baseline Newly Available (dev)13724
, , , ,
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra/bra)13723
, , ,
Beyond DX: Developers Must Now Learn Agent Experience (AX) (ric/the)13722
, , ,
Here Is Why Microsoft’s “Uninstall Edge” Page Offers No Instructions to Remove the Browser (mar/gha)13721
, ,
6 Questions for Eric Eggert (yat+/fro)13720
, , ,
My Experience as a Designer Working at Bit13719
,
GitHub Copilot Brings Mockups to Life by Generating Code From Images (web)13718
, , , ,
What I Learned From Migrating a Vue Project From Vuex to Pinia (mic/pic)13717
, , ,
Which Rich Text Editor Framework Should You Choose in 2025? (aur+/liv)13716
, ,
Read-Only Accessibility in TypeScript (rau)13715
63% of Websites Receive AI Traffic (New Study of 3,000 Sites) (lou/ahr)13714
, ,
DORA, SPACE, DevEx, DX Core 4 (j9t)13713
, , ,
How to Declare Your Page’s Language (pop)13712
, ,
Optimizing the Critical Rendering Path (mat/deb)13711
,
How to Build a Landing Page in 6 Easy Steps (luk/sem)13710
,
Activism Matters for Tech Development and #FOSS Paths (inf)13709
, , ,
The State of PHP 2024 [Results] (jet)13708
, , , , , , , , , ,
Some Terminal Frustrations (b0r)13707
,
On Generative AI Security (sch)13706
, , ,
Reasons Not to Refactor (fri/tho)13705
, , ,
Which VoiceOver? (aar)13704
, , , ,
How to Favicon in 2025: Three Files That Fit Most Needs (sit/evi)13703
, ,
Introducing Fusion: Write PHP Inside Vue and React Components (eri/lar)13702
, , , , ,
Angular: The Documentary (hon)13701
, , ,
Alt Text Accessibility: Balancing AI and Human Oversight (cda+/equ)13700
, , , , , ,
A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl/clo)13699
, , ,
Tutorial: Publishing ESM-Based npm Packages With TypeScript (rau)13698
, , ,
Live CSS Colors: What You Can Safely Use (jar/van)13697
, ,
Oracle Justified Its JavaScript Trademark With Node.js—Now It Wants That Ignored (tin/den)13696
, , , ,
10 Digital Accessibility Mistakes to Avoid (gov)13695
, , , , , , , , , , , , ,
Using Padding to Space an Input and Label (dar)13694
, , , ,
How I Learned to Code With My Voice (whi)13693
, ,
Integrations: From Simple Data Transfer to Modern Composable Architectures (edo/sma)13692
, , , , , , ,
How to Gif (2025 Edition) (oll)13691
, , , , , , ,
Build a Link Blog (xua)13690
,
Firefox 135 Launches With New Translation Languages, New Tab Layout, Security, and Privacy Improvements (mar/gha)13689
, ,
There Are a Lot of Ways to Break Up Long Tasks in JavaScript (mac)13688
, ,
Compiling CSS With Vite and Lightning CSS (mrt/css)13687
, , ,
Notes on the “Code Editors With AI” Landscape (chr/fro)13686
, , , , , ,
How to Manage Old Content on a News Website (moz)13685
, , , , , ,
Introducing the JSR Open Governance Board (tin+/den)13684
, , , ,
Smarter, Faster, Human: The Future of Design Systems With AI (vis/uxm)13683
, ,
Change “font-weight” Based on the User’s Screen DPI13682
, ,
The Paradox of UX Personalization (def/uxd)13681
, ,
Before You Buy an Accessibility Audit (cer)13680
, , , ,
Combining “currentColor” With Relative Color Syntax (oll)13679
,
We Can’t Keep Simply Repeating This Mess (inf)13678
,
CSS “scrollbar-color” and “scrollbar-gutter” Are Baseline Newly Available (bra/dev)13677
, , , ,
OKLCH, Explained for Designers (des/uxd)13676
, ,
React Is Just “document.createElement()” With Good Marketing, and I Can Prove It13675
, ,
Understanding CORS Errors in Signed Exchanges (paw)13674
, , ,
Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet)13673
, , ,
Why Next.js Leads the Future of Web Development in 2025 (fro)13672
Microsoft Improves Text Contrast for All Windows Chromium Browsers (ser/ble)13671
, , , , ,
The Politics of Accessibility (bri)13670
, ,
AI Transparency Framework (jos/uxd)13669
, ,
Our Coding Obsession Is Pushing Kids Out of Tech13668
Is npm Enough? Why Startups Are Coming After This JavaScript Package Registry (kat/red)13667
, , , , ,
Vite With TypeScript (rwi)13666
, , , ,
CSS Nesting: Use With Caution (bel/pic)13665
,
The Internet Is Unusable (ste/uxd)13664
, , , ,
U.S. Blocks Open Source “Help” From These Countries (sjv/the)13663
Google Says “Links Matter Less”—We Looked at 1,000,000 SERPs to See if It’s True (pat/ahr)13662
, , ,
XHTML in Modern Web Development (mar)13661
, ,
Computing With Tuples in TypeScript (rau)13660
,
How to Determine if You Are Ready for a Leadership Position? (tec/cod)13659
, ,
How Data Structures Organize the Chaos of Modern Apps (yan/cod)13658
, , ,
How to Set WebGL Shader Colors With CSS and JavaScript (nma)13657
, , ,
A Modern Node.js and TypeScript Setup for 2025 (sse/woo)13656
, ,
Keep Your Node.js Apps Secure With “npx is-my-node-vulnerable” (tre)13655
, , ,
The 2025 Frontend Dogma Survey (fro)13654
,
Here’s Why Your Anchor Positioning Isn’t Working (jam/odd)13653
,
New to the Web Platform in January (rac/dev)13652
, , , , , , , ,
Making Good on the Promise of Open Source AI (the)13651
,
Page Bloat Update: How Does Ever-Increasing Page Size Affect Your Business and Your Users? (tam/spe)13650
, , , , , ,
Dynamic Focus Zoom Effect with CSS “@ property” (leo)13649
,
The Era of Agent Experience (AX) (jav/net)13648
Svelte 5 and the Future of Frameworks: A Chat With Rich Harris (ric+/sma)13647
, , ,
The DOJ Provides Practical Guidance on How to Implement a Digital Accessibility Program (sey)13646
, , ,
Considerations for Making a Tree View Component Accessible (eri/git)13645
, , , ,
What Text Area Popovers Taught Me About Browser APIs (bla)13644
, , ,
Why Teams Are Ditching DynamoDB (car+/the)13643
, ,
The European Accessibility Act 2025: An Internet for All13642
, ,
Did the U.S. Government Cancel Accessibility? (mic/a11)13641
, ,
Figma Branches Best Practices (hp)13640
, , , , ,
Best Practices for EU Web Accessibility Compliance Monitoring (tae/a11)13639
, , , ,
Why Should You Read Tech Books in the 2025 AI Age (bur)13638
,
The Mistakes of CSS (mon/css)13637
,
Revisiting CSS Multi-Column Layout (mal/css)13636
,
Introducing Mentoss: The Fetch Mocker (nza)13635
, ,
Pure CSS Mixin for Displaying Values of Custom Properties (kiz)13634
, ,
My Failed Attempt to Shrink All npm Packages by 5% (eva)13633
, ,
The Browser Back Button: Hero, Villain, or Outdated Relic? (web)13632
, ,
Full-Bleed Layout With Modern CSS (css/fro)13631
,
How Does a Compiler Work? (cod)13630
,
Focus Styles and Programmatic Focus (oll)13629
, ,
How Long Is a Second in JavaScript? (iag/tim)13628
What Is Cloud Computing? (sit)13627
, , ,
AI-Generated Art Is Postmodern Art (def/uxd)13626
,
Only One “<details>” Open at a Time (osv)13625
AI Slop, Suspicion, and Writing Back (ben)13624
The Modern Way to Write JavaScript Servers (mar)13623
, ,
React.js vs. Next.js (bhu)13622
, , ,
Tailwind CSS Gets a “Ground-Up Rewrite” for Version 4.0 (low+/the)13621
Your Clean Code Might Be Someone Else’s Technical Debt (drp)13620
, ,
It’s Time for Design to Think Less and Feel More (dar/cre)13619
,
The 4 Top IDEs for Developers in 2025 (ele/des)13618
, , , , , ,
How to Build a “Copy Code” Snippet Button and Why It Matters (whi)13617
, , , ,
Designing for Clarity: How We Restructured Intercom’s Information Architecture (pra/int)13616
, ,
Build It Yourself (mit)13615
, , ,
Creating Accessibility Systems to Fix Accessibility Issues (vis/ass)13614
, ,
Ensuring Excellence: Proven Strategies for Quality Vue.js Development (fro)13613
, ,
Positioning Text Around Elements With CSS Offset (rps/css)13612
,
How to Build a CMS With React-Admin (thi/mar)13611
,
Node.js EOL Versions CVE Dubbed the “Worst CVE of the Year” by Security Experts (sar/soc)13610
, ,
How I Open-Sourced My Secret Access Tokens From GitHub, Slack, and npm—and Who Actually Cares (iva)13609
, , ,
When DEI Fails: Is Diversity Just a Marketing Gimmick? (web)13608
Announcing the Web AI Acceleration Fund (add/dev)13607
, , , ,
JavaScript Temporal Is Coming (bsm/mdn)13606
9 Design System Metrics That Matter (sup)13605
, , , , , , ,
Cool URLs Don’t Change, Unless… (j9t)13604
, , ,
Build for the Web, Build on the Web, Build With the Web (css)13603
,
MPA View Transitions Deep Dive (bra+)13602
, , , ,
Exploring AI, Web Development, and Accessibility in Tech With Stefan Judis (ste+/wea)13601
, , , , , , ,
The Speed Trifecta: 11ty, Brotli 11, and CSS Fingerprinting (the)13600
, , , , , ,
We Need to Cut Down on Cloud Waste in 2025 (dev/the)13599
,
Running Inference in Web Extensions (tar/moz)13598
, , ,
The Four Most Dangerous Words to People With Disabilities (ins)13597
,
Interop 2024 Brings More Features to Baseline (rac/dev)13596
, , ,
Tailwind CSS v4.0 (ada/tai)13595
,
Scroll State Queries Are on the Way (and a Bunch More) (kev)13594
, , , , ,
Why You Should Reconsider Your “Big Tech Job” in 2025 (jkr/the)13593
Creating an Angled Slider (zac/fro)13592
, ,
ECMAScript Proposal: RegExp Escaping (rau)13591
, ,
Avoiding “anys” With Linting and TypeScript (jos/tse)13590
,
The Vertical Bar (“|”) Is the Best HTML Page Title Separator (kyr)13589
So, You Want to Push a Web Platform Feature? (yoa)13588
, , ,
Initial Load Performance for React Developers: Investigative Deep Dive (ade)13587
, , , ,
New Capabilities for “attr()” (una)13586
,
Things People Get Wrong About Electron (fel)13585
Angular Clean Coding Fundamentals (jdg/tel)13584
, ,
Navigating the Challenges of Modern Open-Source Authoring: Lessons Learned (alv/sma)13583
,
Tuesday, January 21, 2025 Security Releases (raf/nod)13582
, ,
Emotional Intelligence in AI-Driven UX Design (uxm)13581
, , ,
The Second Wave of AI Coding Is Here (wil/tec)13580
,
Simplify Lazy Loading With Intersection Observer’s “scrollMargin” (fro)13579
, , , ,
Adding Dark Mode to My Site, Shaving Yaks, and Questioning My Sanity (hl)13578
, ,
My Website Has Been Gaslighting You (dav)13577
, , ,
Is SEO Dead in 2025? No, but Changes Are Coming (mar/sem)13576
, , ,
[NestJS] v11.0.0 (kam/nes)13575
,
Why Every Developer Should Fail (at Least Once) (aia)13574
,
6 CSS Snippets Every Front-End Developer Should Know in 2025 (arg)13573
, , , , ,
Fetch and HTTP/2 Support in Node.js, Bun, and Deno (dis)13572
, , , , ,
Opacify HEX Color in CSS (osv)13571
, ,
Generating Test Values Using JavaScript Generators (pet)13570
, , ,
Moving on From React, a Year Later (kel)13569
, , ,
Audio Description in Advertising (eri+/a11)13568
, , ,
The Hidden Complexity of Scaling WebSockets (atu)13567
, ,
Google Begins Requiring JavaScript for Google Search (kyl/tec)13566
,
How to Structure Functions (cfe)13565
, ,
2024 Year in Review (fuj+/ast)13564
,
From React to Next.js: When and Why to Make the Switch (kg/fro)13563
, ,
Vitest 3.0 Is Out (vit)13562
What Is the Shared Storage API? (dev)13561
, , ,
Don’t Wrap Figure in a Link (aar)13560
, , ,
Interoperable Tokens (don)13559
, , ,
SolidJS Creator on Confronting Web Framework Complexity (low/the)13558
, , , , , , ,
Postgres vs. MySQL (bur/out)13557
, , ,
My 18-Months Rule for Open-Source Contributions (j9t)13556
, , ,
Open Source Drives the Twelve-Factor Modernization Project (res/the)13555
, ,
23 HTML Cheat Sheets, for a Different Look at HTML (fro)13554
, ,
The Web Is a Creative Industry and Is Facing the Same Decline and Shattered Economics as Film, TV, or Publishing (bal)13553
, , ,
Polypane 23 (pol)13552
, ,
The Future of AI-Assisted Design Systems: Predictions and Use Cases (sup)13551
, ,
Learning HTML Is the Best Investment I Ever Did (cod)13550
, ,
Using SVGs on Canvas With Compose Multiplatform (eev)13549
, , ,
User Research Myths (jon)13548
, , ,
Drupal CMS 1.0 Released (dri)13547
,
FastHTML and Heroku (alv/git)13546
, ,
CSS “scroll-state()” (arg/dev)13545
, , ,
What Is a Callback Function? (cfe)13544
, ,
How Fingerprinting Can Improve Your Website’s Performance13543
, , ,
On Certification (mar)13542
, ,
Making “this” Less Annoying (dav)13541
, ,
What Is [the] TCP/IP Model and How Does the Protocol Work (sit)13540
, , ,
You Might Not Have a Web Performance Problem (mat/deb)13539
, , , , ,
Creating Generative Artwork With Three.js (edu/cod)13538
, , ,
JavaScript’s “Promise.race” and “Promise.all” Are Not “Fair” (chr)13537
,
The Usability Myth: Users Don’t Really Know What They Want (and That’s Totally OK) (web)13536
, ,
A Checklist for Your tsconfig.json (rau)13535
, ,
CSS “attr()” Gets an Upgrade (bra/dev)13534
,
Hiring Is the Billion Dollar Problem to Solve in 2025 (joe/inc)13533
,
How I Write Angular Apps in 2025: Tools, Tips, Techniques (rai)13532
, , , ,
Justified Text: Better Than Expected? (tyl/clo)13531
,
Angular Team Unveils Strategy for 2025 (pjk/inf)13530
,
APIs Are Quickly Becoming the Latest Security Battleground (and Nightmare) (the)13529
,
Troubles With Multipart Form Data and Fetch in Node.js (phi)13528
,
Advancing Accessibility: Strategies for Continuous Improvement (seg/equ)13527
, , ,
Top Pens of 2024 on CodePen (cod)13526
, , ,
CSS “text-box-trim” (arg/dev)13525
,
Open Props UI13524
, ,
The Success of Interop 2024 (jen/web)13523
, , ,
Release Notes for Safari Technology Preview 211 (jon/web)13522
, , ,
ADA Title II: Top 20 Questions Answered (gwi/deq)13521
, , ,
Data Structures and Algorithms (DSA): A Complete Tutorial (sit)13520
, ,
CSS Wishlist for 2025 (chr/fro)13519
,
Prefetching Subresources With Signed Exchanges (paw)13518
, , , ,
Container Queries Unleashed (jos)13517
,
Introduction to Docker: Core Concepts (rav)13516
, , , ,
Revealed: React’s Experimental Animations API (cit)13515
, , ,
A11y 101: 1.3.1 Info and Relationships (nat)13514
, ,
Evolving GitHub Issues (Public Preview) (git)13513
,
Everything You Need to Know About Node.js Type Stripping (sat)13512
,
How to Wait for the “sibling-count()” and “sibling-index()” Functions (mon/css)13511
, , ,
To Get to the Internet, You Need a Steam Shovel (res)13510
,
CDN-First Is No Longer a Performance Feature (osv)13509
, , , , ,
Accessibility of Emojis for List Bullets—Potential Issues (cer)13508
, , , ,
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)13507
, , , , ,
WordPress Is in Trouble (gav)13506
, , ,
What’s Involved in Getting a “Modern” Terminal Setup? (b0r)13505
, , ,