Frontend Dogma

News and Tools for Frontend Developers

Featured on Frontend Dogma? Whitelist your domain.

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#
How AI Agents Are Quietly Transforming Frontend Development (the)14,686
, , ,
State of Drupal Presentation (dri)14,685
My Favorite Tools for Web Accessibility Testing (ale)14,684
, , ,
Mastering Typography in Design Systems With Semantic Tokens and Responsive Scaling (ike/uxd)14,683
, , , ,
Markup Languages (j9t)14,682
, , , , , , , , , ,
Automated Visual Regression Testing With Playwright (css)14,681
, , , ,
How to Conduct an Accessibility Audit: A Step-by-Step Guide14,680
, , , ,
Scrum Not Working? Try It as Is Before You Modify It (ste/scr)14,679
, ,
Website Hijack Campaign Now Impacting 150,000 Sites (gad/dev)14,678
What’s New in WebGPU (Chrome 135) (dev)14,677
, , , ,
What’s the Future of Platform Engineering? (ma1+/the)14,676
, , ,
You Should Know This Before Choosing Next.js (edu)14,675
, ,
React Query API Design: Lessons Learned (tkd/bej)14,674
, , , , ,
Land Ahoy: Leaving the Sea of Nodes (v8j)14,673
, , ,
Is Vibe Coding Agile or Merely a Hype? (scr/scr)14,672
, , ,
“aria-label” Is a Letdown (thi/wag)14,671
, , ,
Support Logical Shorthands in CSS (geo/css)14,670
, ,
AI Is the Future of Accessibility (kar)14,669
, ,
Is Vite Faster Than Turbopack? (gil)14,668
, , , , , ,
UI Algorithms: A Tiny Undo Stack (jul)14,667
, ,
How Navigation Should Work for Keyboard Users (tem)14,666
, , ,
Cracking the Code of Vibe Coding (pet/uxd)14,665
, , , , , ,
This Is the Optimal Team Size That Improves Performance by 400%14,664
,
How to Create Quality Content (Follow Our 5-Level Framework) (siq+/ahr)14,663
, , , ,
Revisiting CSS “border-image” (mal/css)14,662
, , ,
My Thoughts on Asynchronous Accessibility APIs (jcs)14,661
, ,
How WebAssembly Components Can Replace JavaScript SDKs (sac/edg)14,660
, ,
Web Accessibility Requirements in the EU (mar/uxd)14,659
, , , , ,
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead14,658
, , , , , , ,
SSR Deep Dive for React Developers (ade)14,657
, , ,
Where Frontend Dogma Gets Its News From (j9t)14,656
, , ,
The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom/dev)14,655
, , , ,
Quick Reminder That “:is()” and “:where()” Are Basically the Same With One Key Difference (geo/css)14,654
, ,
Node.js TSC Votes to Stop Distributing Corepack (sar/soc)14,653
,
Understanding the European Accessibility Act (EAA) (tin/tet)14,652
, ,
Minding the Gaps: A New Way to Draw Separators in CSS (pat/mse)14,651
,
Introducing Motion for Vue (cit)14,650
, , ,
The Bare Minimum You Need to Enable View Transitions on Your Website (ami)14,649
, , ,
Style Legend (ada)14,648
,
GitHub Suffers a Cascading Supply Chain Attack Compromising CI/CD Secrets (inf)14,647
, ,
Generate Growing Images Using Gemini API (tan/goo)14,646
, ,
Downtime vs. Slowtime: Which Costs You More? (tam/spe)14,645
, ,
Polite is Often Better Than Being Alerted (oze)14,644
, ,
A Deep Dive Into the Inline Background Overlap Problem (ana/fro)14,643
, , , ,
How to Think About Baseline and Polyfills (mal/dev)14,642
, , , ,
Next.js vs. TanStack (gil)14,641
,
Self Gap (sha)14,640
, ,
Reducing CSS Complexity With the “:is()” Pseudo-Class (cfe)14,639
, ,
Past and Present Futures of User Interface Design14,638
, , ,
Please Stop Externalizing Your Costs Directly Into My Face (sir)14,637
, , ,
Web Components vs. Framework Components: What’s the Difference? (the/sma)14,636
, , , ,
Styling Counters in CSS (mon/css)14,635
, ,
Is React Accessible? That’s the Wrong Question (acc)14,634
, , , ,
Leveraging 3 Types of User Feedback to Create Better User Experiences (meh/uxm)14,633
,
Explaining UX Design Through the Lens of Construction (sar/uxm)14,632
, , ,
But How to Get to That European Cloud? (ber)14,631
, ,
Let’s Knock Down Social Media’s Walled Gardens (tim/ft)14,630
,
“Classless.css” Framework14,629
,
Why the Latest JavaScript Frameworks Are a Waste of Time (hol)14,628
, , ,
System Design Roadmap for Beginners (hel)14,627
,
Popping Preconceived Popover Ponderings (sco)14,626
, ,
The Hidden Burden of Architectural Decision Fatigue (and How to Fix It) (git)14,625
,
State of Vue.js Report 2025 (mon)14,624
, , ,
How to Get Deep Traces in Your Node.js Backend With OTel and Deno (and/den)14,623
, , , ,
How to Prevent WordPress SQL Injection Attacks (sma)14,622
, , , ,
How GitHub Engineers Learn New Codebases (bri/git)14,621
, ,
“Intl.DurationFormat”: Format Time Durations With Locale Support (tre)14,620
,
Chilled Out Text Underlines (chr/fro)14,619
, ,
“:in-range” Pseudo-Class (kev)14,618
, ,
Nobody Should Be a “Content Creator” (cod)14,617
, , ,
How WebAssembly Crushes Technical Debt (mis/web)14,616
, ,
Create a Fun Quick Text Flip Effect (kev)14,615
, ,
A Perplexing JavaScript Parsing Puzzle (hil)14,614
, ,
Retrieval-Augmented Generation With Node.js, Podman AI Lab, and React (mhd/rhd)14,613
, ,
What’s Missing With AI-Generated Code? Refactoring (ste/the)14,612
, , , , , , ,
View Transitions Applied: Smoothly Animating a “border-radius” With a View Transition (bra/bra)14,611
, , ,
On JavaScript Closures (With Examples of Interview Questions) (mar)14,610
, , , , ,
A 10× Faster TypeScript (ahe/msd)14,609
,
Ten Years Ago Today I Coined the Shorthand “js;dr” for “JavaScript Required; Didn’t Read” (tan)14,608
, ,
Design Systems Report 2025 (zer)14,607
, , , ,
Automated Tools Can Ensure Full Accessibility Compliance (a11)14,606
, , ,
A11y 101: 1.4.1 Use of Color (nat)14,605
, , ,
Lazarus Strikes npm Again With New Wave of Malicious Packages (soc)14,604
, ,
Future of CSS: “select” Styling Without the Hacks (lin)14,603
, , ,
DOJ Pushes for Google to Sell Chrome to Break Search Monopoly (gha)14,602
, , , ,
Content Churn in Google Doubled Over Five Years (dr/moz)14,601
, , , ,
The Hype and Risks of Vibe Coding (uxd)14,600
, , , ,
Relative Colors (sha)14,599
, , ,
Here’s How Chrome Could Lose the Browser War14,598
, , , ,
Is Cursor Better Than VS Code With Copilot? Absolutely and It’s Not Close14,597
, , , , , , ,
WAI a Day (yat)14,596
, ,
Devs: Draw Your Line (rem)14,595
, ,
How to Handle “Urgent Request” in Scrum (jpa/scr)14,594
, , , ,
What Is the OWASP Top 10 and How Can Your Team Benchmark Security? (jet)14,593
, , , ,
Creating Animated Accordions With the “details” Element and Modern CSS (ste/bui)14,592
, , ,
“aria-label” Requires a Valid Role (cfe)14,591
,
DeepSeek and HTML (j9t)14,590
, , ,
Implementing “aria-describedby” for Web Accessibility (flo/a11)14,589
, , , ,
Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb)14,588
, , , ,
Why Do We Have a “Cache-Control” Request Header? (css)14,587
, ,
Updates on CVE for End-of-Life Versions (raf/nod)14,586
,
Usability Testing With Disabled Users Is a Good Investment (nic)14,585
, ,
Top 10 Common Accessibility Issues in Websites14,584
Prompt Engineering for Web Development (sit)14,583
,
Introducing “command” and “commandfor” (kei/dev)14,582
, ,
Great Software Design Looks Underwhelming (sjg)14,581
,
10 Hidden Gems in Angular That You Should Use14,580
,
Standards for ANSI Escape Codes (b0r)14,579
,
Defending Tailwind (don)14,578
, , , , ,
The Angular Language Server: Understanding IDE Integration Approaches (nik/jet)14,577
, , , , , ,
From Designing Things to Designing Change (uxd)14,576
, ,
Maybe Don’t Use Custom Properties in Shorthand Properties (mat)14,575
, ,
How to Protect Your Web Applications From XSS (tor/w3c)14,574
, , ,
On Ethics in Web Development (With a Brief Overview of Ethical Theories) (j9t)14,573
,
How to Fix Largest Contentful Paint Issues With Subpart Analysis (mat/sma)14,572
, , ,
Cool Native HTML Elements You Should Already Be Using (hrr)14,571
, , ,
Delaying the Shipping of CSS “@ function” From Chrome 136 to 139 (arg/dev)14,570
, , ,
Node Just Added TypeScript Support. What Does That Mean for Deno? (and+/den)14,569
, ,
Making the Fediverse More Accessible With Claude 3.7 Sonnet (jud/the)14,568
, , ,
JavaScript Best Practice: Use “return await” (adv)14,567
, ,
Grouping Selection List Items Together With CSS Grid (rps/css)14,566
, , , , ,
From “You Will Fail” to 15,000 GitHub Stars: The Story of Wasp, a “Laravel for JS” Full-Stack Framework (mat/was)14,565
,
Automatically Generate Changelogs With Git (dan)14,564
, ,
How to Troubleshoot Node.js Images in OpenShift (rhd)14,563
, , , ,
An Aura of Accessibility (tpg)14,562
, , ,
Super Crispy SVG Icons (ale)14,561
, , ,
How ECMAScript Engines Optimize Your Variables (boa)14,560
, ,
Accessible Solutions Benefit Everyone: Here’s How (nng)14,559
, , ,
Our Favorite DevTools Features of 2025 (uma/deb)14,558
, , , , ,
Is Biome Ready to Replace Prettier and ESLint? (eki)14,557
, , , , ,
Don’t Use Fake Bold or Italic in Social Media (aar)14,556
, , , ,
5 Questions to Ask Your Manager to 10× Your Impact at Work (tec/cod)14,555
, , , ,
View Transitions Applied: Dealing With the Snapshot Containing Block (bra/bra)14,554
,
Unlock Exciting Use Cases With the Document Picture-in-Picture API (jad/dev)14,553
,
Underrated Angular Features (arm/dan)14,552
Truth, Lies, and Progress Bars (tyl/clo)14,551
,
SEO Is the Worst It’s Ever Been (and It’s Still Your Best Marketing Channel) (thi/ahr)14,550
, , , ,
Firefox 136 Launches With Vertical Tabs, but One Requested Feature Is Still Missing (mar/gha)14,549
, ,
Ethical Foundations in Modern Software Development (fra)14,548
, , , ,
Using and Styling the “details” Element (geo/css)14,547
, ,
The Professional Standing of Frontend Developers (mar)14,546
, , , , , , , , ,
Tailwind UI Is Now Tailwind Plus (ada/tai)14,545
Myth: Technical Debt Is the Developers Problem (reb/scr)14,544
, , , ,
Building Websites With LLMS (jim)14,543
, ,
Agentic AI Is the New Web App, and Your AI Strategy Must Evolve (the)14,542
,
Secure UX: Building Cybersecurity and Privacy Into the UX Lifecycle (uxm)14,541
, ,
UX Analytics: How to Measure Your User Experience the Right Way (sye/uxm)14,540
, , , , ,
The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks (kev/sma)14,539
, , ,
One Kilobyte to Copilot: My Journey Through Programming History (zun)14,538
, ,
License to Kill: Coding With Cursor AI Agents (git)14,537
, ,
JavaScript (had+/htt)14,536
, , , , , , , , , ,
Functions in CSS?! (mon/css)14,535
,
Everything I Was Lied to About Node.js Came True With Elixir14,534
, , ,
CSS Meets Voxel Art: Building a Rendering Engine With Stacked Grids (cod)14,533
, ,
AI in the Workplace: A Productivity Boost, Not a Replacement (sil)14,532
, ,
A11y 101: 1.3.5 Identify Input Purpose (nat)14,531
, , ,
7 Best Practices of File Upload With JavaScript and React (cug)14,530
, , ,
10 Best AI Code Review Tools and How They Work (sit)14,529
, , , ,
Who Is Free Software For? (tan)14,528
,
Other Causes of Signed Exchanges Errors (paw)14,527
, , , , ,
“I’m Not a Designer But…” (ada)14,526
, , ,
Be Wary of Accessibility Guarantees From Anyone (aar)14,525
,
AX, DX, UX (jim)14,524
, , ,
Values (yat)14,523
, , ,
Update on QUIC (jas/nod)14,522
, , , ,
My Sales Pitch for TypeScript (rau)14,521
Image Comparison Slider in 6 Lines of JavaScript14,520
,
Mozilla Updates Firefox Terms Again After Backlash Over Broad Data License Language (the)14,519
, , ,
Learn Zod So You Can Trust Your Data and Your Types (did)14,518
, , ,
I Quit My FAANG Job Because It’ll Be Automated by the End of 2025 (0xj)14,517
,
What’s New in Svelte: March 2025 (dre/sve)14,516
,
Leverage on Redux to Execute Your Tests 100× Times Faster (drp)14,515
, , , ,
There’s No Such Thing as “Menubar Navigation” (tem)14,514
, ,
Custom Property Fallbacks (mat/fro)14,513
,
Building APIs With Next.js (lee/nex)14,512
,
New to the Web Platform in February (rac/dev)14,511
, , , , , , , ,
JavaScript Fatigue Strikes Back (all)14,510
, , , ,
Chrome on Android Edge-to-Edge Migration Guide (bra/dev)14,509
, , , ,
When Config Becomes the Code: The Trap of Over-Abstracting Logic (max/itn)14,508
, ,
Views on Views (hdv)14,507
, ,
When to Use Lists for Better Accessibility (svi)14,506
, ,
What Is TypeScript? An Overview for JavaScript Programmers (rau)14,505
, , ,
Using AI in the Browser for Typo Rewriting (ray)14,504
, , , , ,
New to Web Development? Run Your Own Website (j9t)14,503
,
Is the Button Focusable? (mat)14,502
, ,
How to Reduce Web Application Bundle Size? (ant/hmp)14,501
, , , ,
Advanced Network Analysis With Chrome DevTools (jec/dev)14,500
, , , , , , ,
The Fallacy of Balance: Challenging the Notion of Security and Accessibility as Opposing Objectives (fai+/deq)14,499
, ,
Examples of Why the Web Needs Anchored Popovers (chr/fro)14,498
, ,
What It Really Takes: Building an Accessibility-First Corporate Culture (les/deq)14,497
, , ,
Next.js 15.2 (huo+/nex)14,496
,
The Six Cs of Accessibility (ins)14,495
The Existential Challenge of Design System Team Morale (pjo)14,494
, ,
Open-Source Is Where Dreams Go to Die (tre)14,493
, , ,
Google’s Principles for Measuring Developer Productivity (abi)14,492
, , , ,
Firefox: Mozilla Confirms Support for Classic Extensions and Manifest V3 Add-Ons (mar/gha)14,491
, ,
8 Best Things About Working in UX (nng)14,490
, ,
5 Tips to Do Less and Better Work With AI (pro)14,489
, , ,
Justified Text, JS “moveBefore” Method, Performance Optimization (zor/css)14,488
, , , , ,
Intent to Experiment for Longer (kiz)14,487
, , , , ,
Better Anchor Positioning With “position-area” (jam/odd)14,486
,
Accessibility Maturity Models (deq)14,485
,
2024 Web Almanac: Uncovering Global Accessibility Insights With axe (mgi/deq)14,484
, , , , , ,
Why I Like Designing in the Browser (tyl/clo)14,483
, ,
Turbocharging V8 With Mutable Heap Numbers (vic/v8j)14,482
, , , ,
How to Use “attr()” in CSS for Columns, Colors, and Font-Size (chr/fro)14,481
, , , , ,
CSS Snapshot 2024 (tab+/w3c)14,480
,
Browsers: A Snapshot (bry)14,479
, , , , , , ,
5 Questions for Jeremy Keith (ada+/fro)14,478
, , , ,
@ 11ty/image-color (zac)14,477
, , ,
Avoiding Tokens (don)14,476
,
Common Dataviz Accessibility Issues (fos/sma)14,475
, ,
Trusting AI With My Images Wasn’t Easy (dri)14,474
, , , , ,
Overlay Timeline (ove)14,473
, , , ,
Best Practices for Cognitive Accessibility in Web Design (a11)14,472
, ,
Web Scraping With Playwright (wan)14,471
, , , ,
Top 10 Front-End Dev Trends for 2025 (bhu)14,470
, , , , , , , , , ,
The Figma Dilemma: Too Many Cooks, Too Few Decisions (web)14,469
, ,
Subverting Control With Weak References (jlo)14,468
,
Solved by Style Observer: “Element.matchContainer()” (bra/bra)14,467
,
Simple Interactive CLI App With Node.js (rwi)14,466
, ,
Applying the Web Dev Mindset to Dealing With Life Challenges (css)14,465
A11y 101: 1.3.4 Orientation (nat)14,464
, , ,
11 Practical Tips to Make Code Reviews Easier as a Developer (anm)14,463
, , , , , , ,
Speeding Up the JavaScript Ecosystem—Rust and JavaScript Plugins (mar)14,462
, , ,
Skip Links: What, Why, and How (tem)14,461
, , ,
It Is No Longer Safe to Move Our Governments and Societies to U.S. Clouds (ber)14,460
, , ,
1.4.10: Adversarial Conformance (aar)14,459
, ,
Stop Your Angular Apps From Leaking Memory (cod)14,458
, ,
You Need TDD if You Use AI (lor)14,457
, ,
Top Benefits of Choosing Node.js for High-Performance Applications (apk)14,456
, ,
How to Do Visual Regression Testing in Vue With Vitest? (ale)14,455
, , , ,
In Defense of Text Labels (chr)14,454
, , , ,
Clean Code in JavaScript: A Comprehensive Guide14,453
, , , , , , , , ,
Why We Ditched Next.js and Never Looked Back (nor+/nor)14,452
Toe Dipping Into View Transitions (geo/css)14,451
,
The Effort Paradox in AI Design (sav/uxd)14,450
, ,
“ruby-align” Is Baseline Newly Available (kos/dev)14,449
, , , , ,
Fixing “rowspan=0” on Tables on WebKit (kar)14,448
, , , ,
Everything You Need to Know About Invoker Commands (kei/web)14,447
,
Accessible Design Checklist (lau/pen)14,446
, ,
A Guide to AI Prototyping for Product Designers (uxd)14,445
, , , ,
10 Open-Source Documentation Frameworks to Check Out (sil)14,444
, , , ,
Web Accessibility Lawsuit Moves Forward Against the State of Louisiana (lfl)14,443
, ,
UX Is Dead, Long Live UX (kim/nng)14,442
, ,
Introduction to Frontend Development (the)14,441
, , , , , , , ,
Debugging Mutable Subresources: A Detective Story (paw)14,440
, ,
10 Practical Bash Commands to Simplify Complex Tasks (ski)14,439
, ,
Digital Accessibility and the Cost of Exclusion (deq)14,438
, ,
Debugging CSS Anchor Positioning (tab+/odd)14,437
, , , ,