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