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#
Masonry: Watching a CSS Feature Evolve (css)17,892
, ,
Understanding Vector Space Visually—the Foundation of AI17,891
,
Notes on Switching to Helix From Vim (b0r)17,890
, ,
Fluid Headings (don)17,889
, , ,
We Completely Missed “width/height: stretch” (dxn/css)17,888
HTML—the Most Difficult Programming Language in the World (j9t)17,887
, , ,
Vite: The Documentary (cul)17,886
, ,
Tailwind CSS in React and Next.js: A Complete Setup Guide17,885
, , ,
Vue Basics: State Management in Vue17,884
, , ,
The Thing About “contrast-color” (geo/css)17,883
, , ,
How to Add Fast, Client-Side Search to Astro Static Sites (tra/evi)17,882
, , ,
What’s New in View Transitions (2025 Update) (bra/dev)17,881
, ,
What the 2025 DORA Report Means for Your AI Strategy (lau)17,880
, , , , ,
A Pragmatic Guide to Modern CSS Colours (kev/pic)17,879
, , ,
Inside a 16.67 Millisecond Frame17,878
, , , ,
Numbers That Fall (Scroll-Driven Animations and Sibling Index) (chr/fro)17,877
, , , ,
Lazy-Loading as a Security Measure17,876
, , ,
Accessibility Testing Comparison: Automated Testing vs. Human Auditing vs. Usability Testing (int)17,875
, , , , ,
Lowriders and Websites (aaa)17,874
, ,
Birth of Prettier (vje)17,873
,
OpenAI Is Just Another Boring, Desperate AI Startup (edz)17,872
, ,
The Words “Blah Blah Blah” Increase AI Accuracy (jim)17,871
, ,
Shipping Node.js Packages in 2025 (joy)17,870
, , , ,
A Progressive Enhancement Challenge (chr/fro)17,869
, , , ,
What’s Coming in ESLint v10.0.0 (nza/esl)17,868
,
UTF-8, Explained Simply (nic)17,867
, , ,
How Does Meta Move Terabytes of Data per Second? (vut)17,866
, ,
80% of SDET / Automation Testers Get Rejected in the First 10 Minutes, Here’s Why17,865
, ,
I Want to Intercept Boolean Coercion for Objects in JavaScript (zac)17,864
, ,
The History of Core Web Vitals (add)17,863
, , , , ,
What’s New in DevTools 139–141 (mat/dev)17,862
, , , , ,
Stop Ignoring the Browser: The Biggest Frontend Shift in a Decade (the)17,861
, , , ,
The Internet Is Better on Comet17,860
,
From Hobby to Career: Sara Joy on CSS, Accessibility, and Making the Web More Whimsical (sar+)17,859
, , ,
A Few Fun Nesting Tips and Tricks (kev)17,858
, , ,
Moving PHP Open Source Forward (jet)17,857
, ,
What’s New in ViteLand: September 2025 Recap (man/voi)17,856
, , ,
15 Recent Node.js Features That Replace Popular npm Packages (nod)17,855
, , ,
Inset Shadows Directly on “img” Elements (ana/fro)17,854
, , ,
HTML’s Best Kept Secret: The “<output>” Tag (den)17,853
Understanding the Removal of 4.1.1 Parsing in WCAG 2.2 (tpg)17,852
, , ,
How to Optimize Viewport for Mobile for Faster Interactions (deb)17,851
, , , , ,
What’s New in Svelte: October 2025 (sve)17,850
, ,
New to the Web Platform in September (rac/dev)17,849
, , , , , , , ,
3 Most Impactful Ways to Save Energy When Using AI (owe/pro)17,848
, ,
7 Practical Animation Tips (emi)17,847
, , , ,
In the Economy of User Effort, Be a Bargain, Not a Scam (lea)17,846
, ,
Avoid These AI Coding Mistakes (ian)17,845
,
I Completed an IT Degree… What’s Accessibility? (int)17,844
,
ADA Title II and PDFs: Fix, Archive, or Delete? (kar)17,843
, , ,
You Can Now Make PS2 Games in JavaScript17,842
Testing Methods: Non-Text Contrast (dec)17,841
, , , ,
How Deno Protects Against npm Exploits (den)17,840
, ,
System Design Took Me From Missed Calls to ₹28 Base Package17,839
, ,
The “corner-shape” CSS Property Is Amazing (zor/css)17,838
, ,
WCAG’s Longevity (yat)17,837
, ,
Polypane 26: Accurate Device Emulation With Safe Area and Small Viewport Units (pol)17,836
, ,
Introducing Claude Agent in JetBrains IDEs (jet)17,835
, , , , ,
AEO vs. SEO: Core Differences and How to Win Visibility in Both (sem)17,834
, , , ,
Touring New CSS Features in Safari 26 (mon/css)17,833
, , ,
Why I Gave the World Wide Web Away for Free (tim/the)17,832
, ,
Why Next.js Falls Short on Software Engineering17,831
, ,
Let’s Play Accordion With the HTML “details” Element (ale)17,830
, ,
Drunk CSS (ede)17,829
, ,
Principles of Simplicity in Frontend Architecture17,828
, ,
Dear Designers: Stop Using System Fonts Like It’s 2005 (web)17,827
, ,
CSS Wish: Inner Breakpoints (rau)17,826
,
10 Years of AdonisJS—a Personal Reflection and What’s Next (vir/ado)17,825
, ,
7 Deadly AI Sins for UX Professionals (nng)17,824
, ,
Design Attractors (don)17,823
, ,
JSON Is Not JSON Across Languages17,822
A Year of Improving Node.js Compatibility in Cloudflare Workers (jas/clo)17,821
,
Mastering npx: A Cheatsheet for npm and Node.js Power Users17,820
, , , ,
Give Your AI Eyes: Introducing Chrome DevTools MCP (add)17,819
, , , , ,
One Corner, Two Border Radii (kev)17,818
,
Understanding UC Browser Developer Tools as a Frontend Professional (des)17,817
, , ,
From Products to Systems: The Agentic AI Shift (joh/uxd)17,816
, , ,
How to Be a Leader When the Vibes Are Off17,815
, , ,
Dave Winer on Decentralisation, WordPress, and Open Publishing (dav+)17,814
, , , , ,
Prevent Clipping Issues (and More) in View Transitions by Using Nested View Transition Groups (bra)17,813
, ,
Why Sticky Navigation Can Undermine Accessibility17,812
,
Either You Die a Developer, or Live Long Enough to See Yourself Become a Product Manager17,811
,
Why You Should Care About Design Context (fig)17,810
,
The 10 Foundational UX Principles Every Designer Should Know (web)17,809
, ,
What Just Happened to RubyGems? (chr)17,808
, ,
Create Sick Web Animations in Three.js With GSAP (ato)17,807
,
AI: The Real Problem Engineering Leaders Need to Have a Solution For (j9t)17,806
, ,
CSS Typed Arithmetic (ami/css)17,805
, ,
State of JavaScript 2025 (sac/dev)17,804
,
Testing Methods: Reflow (dec)17,803
, , ,
The Best CSS Unit Might Be a Combination (mia/odd)17,802
, ,
DOJ Questioning the New Title II Web Regulation17,801
, ,
Accessibility Minute—September 2025 (col)17,800
, , , ,
Agile Is Out, Architecture Is Back17,799
, , , ,
Open Source Can’t Rely on Magic Piles of Money (rgi/ope)17,798
, ,
Shopify, Pulling Strings at Ruby Central, Forces Bundler and RubyGems Takeover (joe)17,797
,
Web Development for Beginners: Creating Web Pages via HTML (rau)17,796
, , , ,
The EU’s €2T Budget Overlooks a Key Tech Pillar: Open Source (bag)17,795
,
Preact 11 Beta Introduces Hydration 2.0, Default Ref Forwarding, and Modernized Bundling (inf)17,794
From Steam to Floppy: Porting Modern TypeScript to Run on DOS17,793
How to Test the New ARIA Notify API With Cypress (mar)17,792
, , , , ,
Using Gemini for Web Apps (den)17,791
, , ,
Linting, Automated: AI-Powered Static Analysis With Gemini17,790
, , , , ,
Targeting Specific Characters With CSS Rules (ede)17,789
, ,
To Vibe or Not to Vibe (bbo/mfo)17,788
,
GPT-5’s Enhanced Reasoning Comes With a Steep Hidden Cost (the)17,787
, ,
Light and Shade: Exploring Creativity’s AI Conundrum (its)17,786
, ,
Designing for Dribbble Killed Real Web Creativity (web)17,785
,
Ambient Animations in Web Design: Principles and Implementation (mal/sma)17,784
, , ,
Our Plan for a More Secure npm Supply Chain (xco/git)17,783
, , ,
Europe’s Cookie Law Messed Up the Internet—Brussels Wants to Fix It (ell/pol)17,782
, , ,
Welcome to the Entry-Level Void: What Happens When Junior Design Jobs Disappear? (car/its)17,781
, ,
A11y 101: 2.4.4 Link Purpose (in Context) (nat)17,780
, , , ,
CAPTCHA, When Security Takes Precedence Over Accessibility17,779
, ,
Stop Using “.reverse().find()”: Meet “findLast()”17,778
, ,
Why Your Brand Is Your Most Important SEO Asset in 2026 (sem)17,777
, ,
Custom Carets and Users: When the Caret Is No Longer a Stick (Yes, That’s a Poor Attempt at a Pun) (aar)17,776
, ,
“@ ts-ignore” Is Almost Always the Worst Option (eva)17,775
,
The Politics of AI: We’ll Need More Sustainability, Community, and Democracy (hdv)17,774
, , ,
The AI Bubble Is About to Burst17,773
, , , ,
npm Security Best Practices17,772
, , ,
Storing Unwise Amounts of Data in JavaScript Bigints (jon)17,771
The 5th Motivation for Accessibility: Brand and Marketing—the Binary Choice17,770
, , ,
Interception (pau)17,769
,
Why Technical Debt Is Inevitable (kev)17,768
, , ,
Why Taste Matters More17,767
,
“Your Profile Doesn’t Match the Role” and Other Interview Horror Stories (alv)17,766
,
Digital Accessibility Is a Journey, Not a Destination (dec)17,765
,
Your Next Design Might Be Your Last (uxd)17,764
,
Instrumenting the Node.js Event Loop With eBPF (cor)17,763
, ,
What Is Web Design in 2025? (web)17,762
, , , ,
What You Need to Know About Modern CSS (2025 Edition) (chr/fro)17,761
, , , , , , ,
The Psychology of Trust in AI: A Guide to Measuring and Designing for User Confidence (sma)17,760
, ,
Netscape Navigator 2.0 Was Released 30 Years Ago Today17,759
, ,
How to Minimize the Environmental Impact of Your Website (chu/sma)17,758
, , ,
Taking a Shot at the Double Focus Ring Problem Using Modern CSS (eri/pic)17,757
, ,
Go Behind the Browser With Chrome’s New AI Features17,756
, , , ,
The “picture” Element (kev)17,755
Learning Web Development: Version Control via Git and GitHub (rau)17,754
, , ,
4 Simple Ways to Know if You Are Stuck With Zombie Scrum17,753
, , ,
Moving Off of TypeScript17,752
,
This One Abstraction Made My Frontend 10× More Maintainable17,751
, ,
“forced-color-adjust: none” Is an Unavoidable Foot Gun (cod)17,750
, , ,
CSS “offset“ and “animation-composition” for Rotating Menus (pre/fro)17,749
, ,
Why Now Is Not the Time to Think About WCAG 3 (kar)17,748
, , , ,
CSS to Speech: Alternative Text for CSS-Generated Content (sar)17,747
, , , , , , ,
A Quick Primer on Accessible Pagination (kar)17,746
, , , , ,
This May Be the Worst One (the)17,745
, , ,
Middleware in React Router (bro/rem)17,744
,
Wasm 3.0 Completed17,743
The Web’s Most Tolerated Feature (boc)17,742
, ,
Is It Time to Un-Sass? (jef/css)17,741
, , ,
Why Europe’s New Tech Laws Have the World on Edge (edr)17,740
Beyond the Horizon: How Angular Is Embracing AI for Next-Gen Apps (sim/ang)17,739
,
How to Use “ObjectBox” in Flutter (fre)17,738
,
Browserslist Now Supports Baseline (mal/dev)17,737
, ,
SerpApi: A Complete API for Fetching Search Engine Data (pre/sma)17,736
,
How Software Engineers Can Take Advantage of Gen AI Tools17,735
, , ,
React Won by Default—and It’s Killing Frontend Innovation (che)17,734
, , , , ,
Ongoing Supply Chain Attack Targets CrowdStrike npm Packages (pvd+/soc)17,733
, ,
How Tech Companies Measure the Impact of AI on Software Development (ger+)17,732
, , , , , , ,
We Fired Our React Stack—and Our Velocity Doubled17,731
, , , ,
“aria-label” or “title”? Screen Reader Behaviour Explained (a11)17,730
, , ,
WebKit Features in Safari 26.0 (jen+/web)17,729
, , , ,
K8s and Cloud Observability17,728
,
Replace Your Animated GIFs with SVGs (fro)17,727
, , , ,
Fetch Streams Are Great, but Not for Measuring Upload/Download Progress (jaf)17,726
, ,
ctrl/tinycolor and 40+ npm Packages Compromised17,725
, ,
Accessible Time Format (oze)17,724
,
The “Most Hated” CSS Feature: “cos()” and “sin()” (mon/css)17,723
, ,
This Website Has No Class (aaa)17,722
, ,
Progressive Complexity: When Islands Should Be a Continent (che)17,721
, ,
Which npm Package Has the Largest Version Number?17,720
, , ,
Screen Readers Do Not Need to Be Saved by AI (cra)17,719
, ,
How Fast Do Websites Load From Google Search? Comparing Various Prefetching and On-Demand Load Methods (paw)17,718
, , ,
UTF-8 Is a Brilliant Design (vis)17,717
,
How Blind People Navigate the World, On- and Offline (lau)17,716
, , , ,
Frontend News #16: “:heading” Pseudo-Class, Faded Text Effects, “box-sizing” (zor/css)17,715
, , , , ,
Styling Siblings With CSS Has Never Been Easier: Experimenting With “sibling-count” and “sibling-index” (uti)17,714
, ,
Breakpoint Columns, Five Ways—Which Do You Like? (chr/fro)17,713
, , , ,
Navigating the World of Web Accessibility With Sara Soueidan (sar+)17,712
, , , , , ,
Let’s See Paul Allen’s CSS Reset (dbu)17,711
,
Avoid Adding Modals to Other Modals or Dropdowns (a11)17,710
, ,
Simplicity in Web Design? It’s All Smoke and Mirrors (web)17,709
, , ,
Can Native Web APIs Replace Custom Components in 2025? (dxn/log)17,708
, , , ,
Subgrid: How to Line Up Elements to Your Heart’s Content (sar/web)17,707
, , ,
Single-Colour Gradients (kev)17,706
,
What Can We Actually Do With “corner-shape”? (dxn/css)17,705
, , ,
You Can’t Track AI Like Traditional Search—Here’s What to Do Instead (lou/ahr)17,704
,
You Suck as a Design Leader (pro)17,703
, , ,
The Missing Link in JavaScript Tools (mar)17,702
,
State of QUIC in Node.js (pav)17,701
, , ,
Follow-the-Leader Pattern With CSS Anchor Positioning (una)17,700
, ,
Reviewing the Logic and Value of the W3C’s Accessibility Maturity Model (kar)17,699
, , , ,
Compiling Multiple CSS Files Into One (geo/css)17,698
, , ,
August 2025 Baseline Monthly Digest (mal/dev)17,697
, , , , ,
How to Set Up Express 5 for Production in 2025 (jan)17,696
, ,
Why You Cannot Combine SAFe and LeSS17,695
,
How to Keep package.json Under Control (tmc/val)17,694
, , , ,
How Maintainer Burnout Is Causing a Kubernetes Security Disaster (the)17,693
, , , ,
How Do You Optimize for AI Search? (sem)17,692
, ,
To AI or Not to AI (ant)17,691
, , ,
Digital Accessibility: Start Now, Don’t Wait (dec)17,690
Baby Steps Accessibility—Page Titles (dec)17,689
, , ,
I’ve Tried Solid.js, Now I’m Starting to Hate React (ale)17,688
, , , ,
Wasted Open Source Efforts (jan)17,687
, ,
Choosing the Right Model in Cursor (fro)17,686
, ,
How to Build Microfrontends With Module Federation and Vue (ale)17,685
, , ,
One List to Rule Them All (arg)17,684
, , , , ,
Just Use HTML (cfe)17,683
,
Integrating CSS Cascade Layers to an Existing Project (sma)17,682
, ,
Deno 2.5: Permissions in the Config File (bar/den)17,681
,
Why Algorithms Are Ruining Your Web Experience (web)17,680
,
Behind the Scenes of “bun install” (lyd/bun)17,679
,
2025: 0 of the Global Top 200 Websites Use Valid HTML (j9t)17,678
, , , ,
100 Most Cited Domains in ChatGPT (ahr)17,677
,
AI Cuts Onboarding Time in Half for New Hires in the Enterprise (lau)17,676
, , ,
Auditing Your Design System for Accessibility17,675
, , ,
Design Can’t Rely on Logic: Troy Leinster on Type Design and Human Perception (int)17,674
, , , ,
Electron 38.0.0 (kee/ele)17,673
,
Oh No, Not Again… a Meditation on npm Supply Chain Attacks (tan)17,672
, , ,
Web Development for Beginners: Frontend Frameworks (rau)17,671
, ,
Testing Methods: Visual Presentation (dec)17,670
, ,
An Interactive Guide to TanStack DB (max)17,669
, ,
I’m Moving Away From GitHub (pal)17,668
, , ,
View Transitions: What Could Possibly Go Wrong? (mar/vtb)17,667
,
The Web Behind Glass (med)17,666
, , , ,
Why Moving Away From SPAs Improves Usability, Accessibility, and SEO (inn)17,665
, , , , ,
Design Has Never Been More Important: Inside Shopify’s Acquisition of Molly (cod)17,664
, , , ,
Evan You 2025 Interview: Google, Vue, Vite, Nuxt, Next, Vercel, and VoidZero (eva+)17,663
, , , , , , ,
Finally, Safe Array Methods in JavaScript17,662
, ,
Bringing Node.js HTTP Servers to Cloudflare Workers (yag+/clo)17,661
,
Color Shifting in CSS (jos)17,660
, , ,
How to Make Complex Data Accessible for Users With Disabilities (pop)17,659
, , , , ,
Getting Started With Cursor (fro)17,658
, , ,
Understanding Focus Indicators for Web Accessibility (a11)17,657
, , , ,
Migrating My Open Source Repositories to Codeberg (dan)17,656
, , , , ,
Why I Still Prefer “ems” Over “rems” (cfe)17,655
,
Chrome Mask: Make Firefox Appear as Chrome With a Single Click17,654
, , , ,
npm Author Qix Compromised via Phishing Email in Major Supply Chain Attack (bur+/soc)17,653
, ,
Will Vibe Coding Kill Low-Code17,652
, ,
Anatomy of a Billion-Download npm Supply-Chain Attack17,651
, ,
Composition in CSS (zel/css)17,650
“Make Invalid States Unrepresentable” Considered Harmful17,649
,
Stop Using TypeScript Interfaces (dcr)17,648
,
Screen Reader HTML Support—Lookup (ste)17,647
, , , ,
The CSS “if()” Function (san)17,646
, ,
The Node.js Handbook, 2025 Edition (fla)17,645
,
The 28 AI Tools I Wish Existed17,644
, ,
Your Images Are (Probably) Oversized17,643
, ,