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

Frontend Dogma

News and Tools for Web Developers

Updated daily

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 $12/year), on Mastodon, and on Bluesky (other channels)

Entry (Sources) and TopicsDate#
What’s New in View Transitions (2025 Update) (bra/dev)17,826
, ,
What the 2025 DORA Report Means for Your AI Strategy (lau)17,825
, , , , ,
A Pragmatic Guide to Modern CSS Colours (kev/pic)17,824
, , ,
Inside a 16.67 Millisecond Frame17,823
, , , ,
Numbers That Fall (Scroll-Driven Animations and Sibling Index) (chr/fro)17,822
, , , ,
Accessibility Testing Comparison: Automated Testing vs. Human Auditing vs. Usability Testing (int)17,821
, , , , ,
Lowriders and Websites (aaa)17,820
, ,
What’s Coming in ESLint v10.0.0 (nza/esl)17,819
,
UTF-8, Explained Simply (nic)17,818
, , ,
I Want to Intercept Boolean Coercion for Objects in JavaScript (zac)17,817
, ,
How Does Meta Move Terabytes of Data per Second? (vut)17,816
, ,
The History of Core Web Vitals (add)17,815
, , , , ,
What’s New in DevTools 139–141 (mat/dev)17,814
, , , , ,
Stop Ignoring the Browser: The Biggest Frontend Shift in a Decade (the)17,813
, , , ,
The Internet Is Better on Comet17,812
,
From Hobby to Career: Sara Joy on CSS, Accessibility, and Making the Web More Whimsical (sar+)17,811
, , ,
A Few Fun Nesting Tips and Tricks (kev)17,810
, , ,
Moving PHP Open Source Forward (jet)17,809
, ,
How to Optimize Viewport for Mobile for Faster Interactions (deb)17,808
, , , , ,
What’s New in Svelte: October 2025 (sve)17,807
, ,
New to the Web Platform in September (rac/dev)17,806
, , , , , , , ,
3 Most Impactful Ways to Save Energy When Using AI (owe/pro)17,805
, ,
In the Economy of User Effort, Be a Bargain, Not a Scam (lea)17,804
, ,
Avoid These AI Coding Mistakes (ian)17,803
,
I Completed an IT Degree… What’s Accessibility? (int)17,802
,
ADA Title II and PDFs: Fix, Archive, or Delete? (kar)17,801
, , ,
You Can Now Make PS2 Games in JavaScript17,800
Testing Methods: Non-Text Contrast (dec)17,799
, , , ,
How Deno Protects Against npm Exploits (den)17,798
, ,
The “corner-shape” CSS Property Is Amazing (zor/css)17,797
, ,
WCAG’s Longevity (yat)17,796
, ,
Polypane 26: Accurate Device Emulation With Safe Area and Small Viewport Units (pol)17,795
, ,
System Design Took Me From Missed Calls to ₹28 Base Package17,794
, ,
Introducing Claude Agent in JetBrains IDEs (jet)17,793
, , , , ,
AEO vs. SEO: Core Differences and How to Win Visibility in Both (sem)17,792
, , , ,
Touring New CSS Features in Safari 26 (mon/css)17,791
, , ,
Why I Gave the World Wide Web Away for Free (tim/the)17,790
, ,
Let’s Play Accordion With the HTML “details” Element (ale)17,789
, ,
Why Next.js Falls Short on Software Engineering17,788
, ,
Drunk CSS (ede)17,787
, ,
Dear Designers: Stop Using System Fonts Like It’s 2005 (web)17,786
, ,
CSS Wish: Inner Breakpoints (rau)17,785
,
10 Years of AdonisJS—a Personal Reflection and What’s Next (vir/ado)17,784
, ,
7 Deadly AI Sins for UX Professionals (nng)17,783
, ,
Principles of Simplicity in Frontend Architecture17,782
, ,
Design Attractors (don)17,781
, ,
JSON Is Not JSON Across Languages17,780
A Year of Improving Node.js Compatibility in Cloudflare Workers (jas/clo)17,779
,
Mastering npx: A Cheatsheet for npm and Node.js Power Users17,778
, , , ,
Give Your AI Eyes: Introducing Chrome DevTools MCP (add)17,777
, , , , ,
One Corner, Two Border Radii (kev)17,776
,
Understanding UC Browser Developer Tools as a Frontend Professional (des)17,775
, , ,
How to Be a Leader When the Vibes Are Off17,774
, , ,
Dave Winer on Decentralisation, WordPress, and Open Publishing (dav+)17,773
, , , , ,
Prevent Clipping Issues (and More) in View Transitions by Using Nested View Transition Groups (bra)17,772
, ,
Why Sticky Navigation Can Undermine Accessibility17,771
,
Either You Die a Developer, or Live Long Enough to See Yourself Become a Product Manager17,770
,
From Products to Systems: The Agentic AI Shift (joh/uxd)17,769
, , ,
Why You Should Care About Design Context (fig)17,768
,
The 10 Foundational UX Principles Every Designer Should Know (web)17,767
, ,
What Just Happened to RubyGems? (chr)17,766
, ,
Create Sick Web Animations in Three.js With GSAP (ato)17,765
,
AI: The Real Problem Engineering Leaders Need to Have a Solution For (j9t)17,764
, ,
CSS Typed Arithmetic (ami/css)17,763
, ,
State of JavaScript 2025 (sac/dev)17,762
,
Shopify, Pulling Strings at Ruby Central, Forces Bundler and RubyGems Takeover (joe)17,761
,
Web Development for Beginners: Creating Web Pages via HTML (rau)17,760
, , , ,
Agile Is Out, Architecture Is Back17,759
, , , ,
The EU’s €2T Budget Overlooks a Key Tech Pillar: Open Source (bag)17,758
,
Preact 11 Beta Introduces Hydration 2.0, Default Ref Forwarding, and Modernized Bundling (inf)17,757
From Steam to Floppy: Porting Modern TypeScript to Run on DOS17,756
How to Test the New ARIA Notify API With Cypress (mar)17,755
, , , , ,
Using Gemini for Web Apps (den)17,754
, , ,
Linting, Automated: AI-Powered Static Analysis With Gemini17,753
, , , , ,
Targeting Specific Characters With CSS Rules (ede)17,752
, ,
To Vibe or Not to Vibe (bbo/mfo)17,751
,
GPT-5’s Enhanced Reasoning Comes With a Steep Hidden Cost (the)17,750
, ,
CAPTCHA, When Security Takes Precedence Over Accessibility17,749
, ,
Stop Using “.reverse().find()”: Meet “findLast()”17,748
, ,
Why Your Brand Is Your Most Important SEO Asset in 2026 (sem)17,747
, ,
Custom Carets and Users: When the Caret Is No Longer a Stick (Yes, That’s a Poor Attempt at a Pun) (aar)17,746
, ,
“@ ts-ignore” Is Almost Always the Worst Option (eva)17,745
,
The Politics of AI: We’ll Need More Sustainability, Community, and Democracy (hdv)17,744
, , ,
The AI Bubble Is About to Burst17,743
, , , ,
npm Security Best Practices17,742
, , ,
Storing Unwise Amounts of Data in JavaScript Bigints (jon)17,741
The 5th Motivation for Accessibility: Brand and Marketing—the Binary Choice17,740
, , ,
Interception (pau)17,739
,
Why Technical Debt Is Inevitable (kev)17,738
, , ,
Why Taste Matters More17,737
,
“Your Profile Doesn’t Match the Role” and Other Interview Horror Stories (alv)17,736
,
Digital Accessibility Is a Journey, Not a Destination (dec)17,735
,
Instrumenting the Node.js Event Loop With eBPF (cor)17,734
, ,
What Is Web Design in 2025? (web)17,733
, , , ,
What You Need to Know About Modern CSS (2025 Edition) (chr/fro)17,732
, , , , , , ,
The Psychology of Trust in AI: A Guide to Measuring and Designing for User Confidence (sma)17,731
, ,
Your Next Design Might Be Your Last (uxd)17,730
,
Netscape Navigator 2.0 Was Released 30 Years Ago Today17,729
, ,
How to Minimize the Environmental Impact of Your Website (chu/sma)17,728
, , ,
Taking a Shot at the Double Focus Ring Problem Using Modern CSS (eri/pic)17,727
, ,
Go Behind the Browser With Chrome’s New AI Features17,726
, , , ,
The “picture” Element (kev)17,725
Learning Web Development: Version Control via Git and GitHub (rau)17,724
, , ,
4 Simple Ways to Know if You Are Stuck With Zombie Scrum17,723
, , ,
“forced-color-adjust: none” Is an Unavoidable Foot Gun (cod)17,722
, , ,
This One Abstraction Made My Frontend 10× More Maintainable17,721
, ,
CSS “offset“ and “animation-composition” for Rotating Menus (pre/fro)17,720
, ,
Why Now Is Not the Time to Think About WCAG 3 (kar)17,719
, , , ,
CSS to Speech: Alternative Text for CSS-Generated Content (sar)17,718
, , , , , , ,
A Quick Primer on Accessible Pagination (kar)17,717
, , , , ,
This May Be the Worst One (the)17,716
, , ,
Middleware in React Router (bro/rem)17,715
,
Wasm 3.0 Completed17,714
Moving Off of TypeScript17,713
,
The Web’s Most Tolerated Feature (boc)17,712
, ,
Is It Time to Un-Sass? (jef/css)17,711
, , ,
Why Europe’s New Tech Laws Have the World on Edge (edr)17,710
How to Use “ObjectBox” in Flutter (fre)17,709
,
Beyond the Horizon: How Angular Is Embracing AI for Next-Gen Apps (sim/ang)17,708
,
Browserslist Now Supports Baseline (mal/dev)17,707
, ,
SerpApi: A Complete API for Fetching Search Engine Data (pre/sma)17,706
,
How Software Engineers Can Take Advantage of Gen AI Tools17,705
, , ,
React Won by Default—and It’s Killing Frontend Innovation (che)17,704
, , , , ,
Ongoing Supply Chain Attack Targets CrowdStrike npm Packages (pvd+/soc)17,703
, ,
How Tech Companies Measure the Impact of AI on Software Development (ger+)17,702
, , , , , , ,
“aria-label” or “title”? Screen Reader Behaviour Explained (a11)17,701
, , ,
We Fired Our React Stack—and Our Velocity Doubled17,700
, , , ,
WebKit Features in Safari 26.0 (jen+/web)17,699
, , , ,
K8s and Cloud Observability17,698
,
Replace Your Animated GIFs with SVGs (fro)17,697
, , , ,
Fetch Streams Are Great, but Not for Measuring Upload/Download Progress (jaf)17,696
, ,
ctrl/tinycolor and 40+ npm Packages Compromised17,695
, ,
Accessible Time Format (oze)17,694
,
The “Most Hated” CSS Feature: “cos()” and “sin()” (mon/css)17,693
, ,
This Website Has No Class (aaa)17,692
, ,
Progressive Complexity: When Islands Should Be a Continent (che)17,691
, ,
Which npm Package Has the Largest Version Number?17,690
, , ,
Screen Readers Do Not Need to Be Saved by AI (cra)17,689
, ,
How Fast Do Websites Load From Google Search? Comparing Various Prefetching and On-Demand Load Methods (paw)17,688
, , ,
UTF-8 Is a Brilliant Design (vis)17,687
,
How Blind People Navigate the World, On- and Offline (lau)17,686
, , , ,
Frontend News #16: “:heading” Pseudo-Class, Faded Text Effects, “box-sizing” (zor/css)17,685
, , , , ,
Styling Siblings With CSS Has Never Been Easier: Experimenting With “sibling-count” and “sibling-index” (uti)17,684
, ,
Breakpoint Columns, Five Ways—Which Do You Like? (chr/fro)17,683
, , , ,
Navigating the World of Web Accessibility With Sara Soueidan (sar+)17,682
, , , , , ,
Let’s See Paul Allen’s CSS Reset (dbu)17,681
,
Avoid Adding Modals to Other Modals or Dropdowns (a11)17,680
, ,
Simplicity in Web Design? It’s All Smoke and Mirrors (web)17,679
, , ,
Can Native Web APIs Replace Custom Components in 2025? (dxn/log)17,678
, , , ,
Subgrid: How to Line Up Elements to Your Heart’s Content (sar/web)17,677
, , ,
Single-Colour Gradients (kev)17,676
,
What Can We Actually Do With “corner-shape”? (dxn/css)17,675
, , ,
You Can’t Track AI Like Traditional Search—Here’s What to Do Instead (lou/ahr)17,674
,
The Missing Link in JavaScript Tools (mar)17,673
,
State of QUIC in Node.js (pav)17,672
, , ,
Follow-the-Leader Pattern With CSS Anchor Positioning (una)17,671
, ,
Reviewing the Logic and Value of the W3C’s Accessibility Maturity Model (kar)17,670
, , , ,
You Suck as a Design Leader (pro)17,669
, , ,
Compiling Multiple CSS Files Into One (geo/css)17,668
, , ,
August 2025 Baseline Monthly Digest (mal/dev)17,667
, , , , ,
How to Set Up Express 5 for Production in 2025 (jan)17,666
, ,
Why You Cannot Combine SAFe and LeSS17,665
,
How to Keep package.json Under Control (tmc/val)17,664
, , , ,
How Maintainer Burnout Is Causing a Kubernetes Security Disaster (the)17,663
, , , ,
How Do You Optimize for AI Search? (sem)17,662
, ,
To AI or Not to AI (ant)17,661
, , ,
Digital Accessibility: Start Now, Don’t Wait (dec)17,660
Baby Steps Accessibility—Page Titles (dec)17,659
, , ,
I’ve Tried Solid.js, Now I’m Starting to Hate React (ale)17,658
, , , ,
Wasted Open Source Efforts (jan)17,657
, ,
Choosing the Right Model in Cursor (fro)17,656
, ,
How to Build Microfrontends With Module Federation and Vue (ale)17,655
, , ,
One List to Rule Them All (arg)17,654
, , , , ,
Just Use HTML (cfe)17,653
,
Integrating CSS Cascade Layers to an Existing Project (sma)17,652
, ,
Deno 2.5: Permissions in the Config File (bar/den)17,651
,
Why Algorithms Are Ruining Your Web Experience (web)17,650
,
Behind the Scenes of “bun install” (lyd/bun)17,649
,
2025: 0 of the Global Top 200 Websites Use Valid HTML (j9t)17,648
, , , ,
100 Most Cited Domains in ChatGPT (ahr)17,647
,
AI Cuts Onboarding Time in Half for New Hires in the Enterprise (lau)17,646
, , ,
Design Can’t Rely on Logic: Troy Leinster on Type Design and Human Perception (int)17,645
, , , ,
Electron 38.0.0 (kee/ele)17,644
,
Oh No, Not Again… a Meditation on npm Supply Chain Attacks (tan)17,643
, , ,
Web Development for Beginners: Frontend Frameworks (rau)17,642
, ,
Testing Methods: Visual Presentation (dec)17,641
, ,
Auditing Your Design System for Accessibility17,640
, , ,
An Interactive Guide to TanStack DB (max)17,639
, ,
I’m Moving Away From GitHub (pal)17,638
, , ,
View Transitions: What Could Possibly Go Wrong? (mar/vtb)17,637
,
Why Moving Away From SPAs Improves Usability, Accessibility, and SEO (inn)17,636
, , , , ,
Design Has Never Been More Important: Inside Shopify’s Acquisition of Molly (cod)17,635
, , , ,
Evan You 2025 Interview: Google, Vue, Vite, Nuxt, Next, Vercel, and VoidZero (eva+)17,634
, , , , , , ,
Finally, Safe Array Methods in JavaScript17,633
, ,
Bringing Node.js HTTP Servers to Cloudflare Workers (yag+/clo)17,632
,
Color Shifting in CSS (jos)17,631
, , ,
How to Make Complex Data Accessible for Users With Disabilities (pop)17,630
, , , , ,
Getting Started With Cursor (fro)17,629
, , ,
Understanding Focus Indicators for Web Accessibility (a11)17,628
, , , ,
Migrating My Open Source Repositories to Codeberg (dan)17,627
, , , , ,
Why I Still Prefer “ems” Over “rems” (cfe)17,626
,
Chrome Mask: Make Firefox Appear as Chrome With a Single Click17,625
, , , ,
npm Author Qix Compromised via Phishing Email in Major Supply Chain Attack (bur+/soc)17,624
, ,
Will Vibe Coding Kill Low-Code17,623
, ,
Anatomy of a Billion-Download npm Supply-Chain Attack17,622
, ,
The Web Behind Glass (med)17,621
, , ,
Composition in CSS (zel/css)17,620
“Make Invalid States Unrepresentable” Considered Harmful17,619
,
Stop Using TypeScript Interfaces (dcr)17,618
,
Screen Reader HTML Support—Lookup (ste)17,617
, , , ,
The CSS “if()” Function (san)17,616
, ,
The Node.js Handbook, 2025 Edition (fla)17,615
,
The 28 AI Tools I Wish Existed17,614
, ,
Your Images Are (Probably) Oversized17,613
, ,
Un-Sass’ing My CSS: Compiling Multiple CSS Files Into One (stu)17,612
, ,
The CSS “random()” Function (san)17,611
, ,
No, AI Is Not a Bubble (dan)17,610
How to Perform a Comprehensive WCAG Audit (a11)17,609
, , , ,
20 Footer Design Myths You’re Still Believing (and How to Fix Them (web)17,608
, ,
“Why Would Anybody Start a Website?” (dav)17,607
What You Need to Know About CSS Color Interpolation (sun/css)17,606
, , ,
Using the Node 18+ Native Test Runner With TypeScript and React17,605
, , ,
Why I Ditched Docker for Podman (and You Should Too)17,604
, ,
Make Your Proposals for Interop 2026 (rac/dev)17,603
, , ,
Why Every Senior Developer I Know Is Planning Their Exit17,602
, ,
Liquid Glass in the Browser: Refraction With CSS and SVG17,601
, , ,
Don’t Inherit the Box Model (mia/odd)17,600
,
Accessible Writing Techniques for Web Content (a11)17,599
, , ,
You Don’t Need Animations (emi)17,598
,
The Fundamentals of CSS Alignment (css)17,597
, , ,
Functional Custom Elements the Easy Way (gin/pic)17,596
,
CORS Explained: Stop Struggling With Cross-Origin Errors17,595
, , ,
Release Notes for Safari Technology Preview 227 (jon/web)17,594
, , ,
Baby Steps Accessibility—Color Contrast of Text (dec)17,593
, , ,
Advanced PostgreSQL Indexing: Multi-Key Queries and Performance Optimization (ada/fro)17,592
, , ,
.htaccess: A Helper Script to Easily Block Website Traffic by Country (j9t)17,591
, , , ,
15 Ways Your Website Loads From Google Search and How to Measure Each One (paw)17,590
, , , , ,
What the Internet Was Like in 1999 (ric)17,589
, , , , , ,
How OpenJS-Hosted Projects Benefit From Security Support (ope)17,588
, ,
The Last Days of Social Media (jam/noe)17,587
,
UDP in Node.js: Deep Technical Guide (pav)17,586
, ,
Vibe Design for Designers (uxd)17,585
,
Testing Methods: Low or No Background Audio (dec)17,584
, , ,
No, You Don’t Want to Hire “the Best Engineers” (oth)17,583
,
Learning Web Development: Asynchronous JavaScript—Promises and “async” Functions (rau)17,582
, , ,
Why You Should Test Your Page Without JavaScript17,581
, , ,
Why Did I Ever Abandon HTML/CSS? (syl)17,580
,
What We Actually Know About Optimizing for LLM Search (lou/ahr)17,579
, , ,
The Most Popular Python Frameworks and Libraries in 2025 (jet)17,578
, , , ,
Should the CSS “light-dark()” Function Support More Than Light and Dark Values? (sun/css)17,577
, ,