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 🇵🇸 Petition, protest, boycott, divest, sanction. Hide

Frontend Dogma

News and Tools for Frontend Developers (4)

→ Stay up-to-date on all topics by various RSS feeds (main feed: only $10/year), on Mastodon and Bluesky, or through other channels

Entry (Sources) and TopicsDate#
7 React Patterns That Made Me a Better Front-End Developer15,818
, , ,
Never Lose a “z-index” Battle Again (mat)15,817
,
How to Use GenAI With OKRs (Without Letting It Think for You) (cwo)15,816
, , , ,
Tooltip Should Not Start an Accessible Name15,815
,
The Case for Web Components With Lit15,814
, , ,
The Case for Angular15,813
,
Why Do AI Company Logos Look Like Buttholes?15,812
, ,
Developer Ecosystem 2025 (jet)15,811
, , ,
7 UI/UX Principles Every Dev Should Know15,810
, ,
Using “currentColor” in 2025 (chr/fro)15,809
,
Automated WCAG Testing Is Grrreat! (aar)15,808
, , ,
No Code Is Dead. Long Live Vibe Coding. (auc)15,807
,
5 Ways to Reduce HTML File Size on Your Website (deb)15,806
, , , ,
Stop Writing If–Else Trees: Use the State Pattern Instead15,805
, ,
Exploring TypeScript: TS 5.8 Edition (rau)15,804
, ,
Significant Performance Improvements With Edge 13415,803
, ,
Tailwind’s “@ apply” Feature Is Better Than It Sounds (zel/css)15,802
, , ,
Preventing N+1 Issues Globally in Laravel Using Auto Eager Loading (ami)15,801
,
Mastering Default Values in JavaScript With the Nullish Coalescing (“??”) Operator15,800
,
Event Versioning Strategies for Event-Driven Architectures (the)15,799
,
VS Code Agent Mode Just Changed Everything (bur/vsc)15,798
, , , ,
Stretching Google’s Prefetching (paw)15,797
, , , ,
Custom Progress Element Using the “attr()” Function (css/fro)15,796
, , ,
Two Decades of Git: A Conversation With Creator Linus Torvalds (tor/git)15,795
, , ,
Project IDX Is Now Part of Firebase Studio (fir)15,794
,
To “light-dark()” or Not to “light-dark()” (web)15,793
, , ,
History of the Web: Chris Lilley (svg+/iga)15,792
, , ,
Automated Accessibility Testing: Strengths and Limits15,791
, , ,
Secure a Vue App With OpenID Connect and the BFF Pattern (due)15,790
, , ,
Zero-Config Debugging With Deno and OpenTelemetry (lca/den)15,789
, , , , ,
Deploy Angular and Next.js Apps With App Hosting, Now GA (fir)15,788
, , , , , ,
Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil+)15,787
, , , , ,
The Untold Story of Git15,786
, , , , ,
What It Means to Shift Left on Accessibility and How to Do It Right (lul)15,785
, , , , , , , , ,
Just Say the Word—Try Our New AI Website Builder for Free (nee/wor)15,784
, ,
10 Hard Truths Every Dev Must Learn in 202515,783
, ,
How to Build a Multi-Tenant SaaS Application With Next.js15,782
, , ,
Comparison Tables: 5 Scenarios When Not to Use Them15,781
, , ,
The “min()” and “max()” Functions (kev)15,780
,
Thin Fonts Are a Usability Nightmare—and Finally, Designers Are Waking Up (web)15,779
, , , ,
CSS Naked Day 2025 (mey)15,778
,
CSS Carousels (geo/css)15,777
,
ARIA in HTML (sco+/w3c)15,776
, , ,
CSS Naked Day (car)15,775
,
React Server Confusion (ano)15,774
, , ,
Better Typography With “text-wrap: pretty” (jen/web)15,773
, , , , , ,
Background Image Opacity in CSS (jim)15,772
, ,
Using ARIA Landmarks for Better Navigation15,771
, , ,
Why I Value Firebreak Sprints for Managing Technical Debt (tre)15,770
, ,
React Reconciliation: The Hidden Engine Behind Your Components15,769
, ,
Your Frontend, Backend, and Database—Now in One Cloudflare Worker (clo)15,768
,
Use “shape()” for Responsive Clipping (nom/dev)15,767
, , , ,
Top 5 CSS Navigation Menu Mistakes (zor/css)15,766
, , ,
How to Select a UX Metric15,765
, , ,
CSS Naked Day 2025 (fyr)15,764
,
10 Things You Should Know as a Next.js Developer (That No One Tells You) (pri)15,763
Designing AI for Cultural Diversity (uxm)15,762
, , ,
UX Localization: Adapting Experiences to Users Worldwide (uxm)15,761
, ,
Design for the AI Age15,760
,
A11y 101: 1.4.4 Resize Text (nat)15,759
, , ,
Creating a Software Engineering Culture15,758
, ,
A Note About WCAG Conformance Levels (dec)15,757
, ,
The Precise Language of Good Management15,756
,
Some Features That Every JavaScript Developer Should Know in 202515,755
, , , ,
Dropping Support for Twitter/X (fro)15,754
, ,
Tweaking Text Level Styles, Reprised (aar)15,753
, , , , ,
Hiding Elements That Require JavaScript Without JavaScript (0xd)15,752
, ,
WebAIM Million Results Show That Shopping Sites Have Worst Accessibility (cer)15,751
, , ,
Making Node.js Downloads Reliable (nod)15,750
, ,
Cover Flow With Modern CSS: Scroll-Driven Animations in Action (add)15,749
, , , , ,
The Future of Redwood Launches Today (red)15,748
Introducing Bulk Suppressions (esl)15,747
Teaching Code in the AI Era: Why Fundamentals Still Matter (ali)15,746
, , , , , , , , ,
The Best Programmers I Know (mre)15,745
, ,
The Blissful Zen of a Good Side Project (col)15,744
,
Open-Source Is Just That (val)15,743
, ,
Lessons Learned From My First Dive Into WebAssembly15,742
,
How to Track and Analyze Your AI Traffic (lou/ahr)15,741
, , , ,
Software Architecture for Developers (dic)15,740
,
Overengineered Anchor Links15,739
, ,
CSS Bursts With Conic Gradients (chr/fro)15,738
, , ,
CSS-Only Glitch Effect15,737
, ,
The Importance of Alt Text for Images15,736
, , , , , , ,
First Look at the Modern “attr()” (sha)15,735
, , ,
Robust Accessibility and Artificial Intelligence (AI) (ger)15,734
,
Automated vs. AI vs. Manual Testing—Text Alternatives (dec)15,733
, , , ,
AI and Accessibility: Opportunities and Challenges for Content Creators15,732
, ,
Making “:visited” More Private (dev)15,731
, , , , ,
Debugging JavaScript Memory Leaks (jar/bun)15,730
, , , , , , ,
Digital Accessibility Is a Civil Right (kar)15,729
, , , ,
TypeSpec 1.0-RC: Design Faster Today, Scale Easier Tomorrow (mic)15,728
,
Mastering Cross-Framework State Management in Micro-Frontends (des)15,727
, , , , , ,
Building a Drupal to Storyblok Migration Tool: An Engineering Perspective (edo/sma)15,726
, ,
A Guide to Alt Text Across Popular Tools (pop)15,725
, , , ,
Four Rules for How Design Influences Technology (uxd)15,724
, ,
Your AI UX Intern15,723
, , ,
How I Found My Own Path as an Introverted Engineering Manager15,722
,
SMIL On? (geo/css)15,721
, ,
Firefox Release Notes [Firefox 137.0] (moz)15,720
, , ,
Micro-Scrum (j9t)15,719
, , ,
Stop Using Jenkins in 2025 (oso)15,718
, , ,
A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript15,717
, , ,
New in Chrome 135 (rac/dev)15,716
, , ,
How GenAIs Build Diverging Color Schemes (uxd)15,715
, , ,
Prioritizing Accessibility Bugs for Maximum Impact (civ)15,714
, ,
Implementing Multi-Brand Theming With Style Dictionary (stu)15,713
, , ,
What’s the Difference Between WCAG, the EAA, and EN 301 549? (tpg)15,712
, , , , ,
React 19’s New Hooks: With Practical Examples (let)15,711
, , ,
12-Factor Agents—Principles for Building Reliable LLM Applications15,710
,
How AI Agents Are Quietly Transforming Frontend Development (the)15,709
, , ,
Node.js Test CI Security Incident (nod)15,708
, ,
New to the Web Platform in March (rac/dev)15,707
, , , , , , , ,
In Defense of Ruthless Managers15,706
,
You Don’t Know Git (eth/ndc)15,705
, ,
WebKit Features in Safari 18.4 (jen+/web)15,704
, , , ,
There Is No Vibe Engineering15,703
, ,
The WebAIM Million: The 2025 Report on the Accessibility of the Top 1,000,000 Home Pages (web)15,702
, , , ,
How Does Chrome Prioritize Image Requests? (deb)15,701
, , , ,
Testing Tools for Accessibility Enhancement II15,700
, , ,
Poisoning Well (hey)15,699
, , ,
State of Drupal Presentation (dri)15,698
Design Isn’t Dead—You Sound Dumb (uxd)15,697
, ,
Minimal CSS-Only Blurry Image Placeholders (kal)15,696
, , , ,
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)15,695
, , , ,
Resolving Invalid Custom Tailwind Classname ESLint Warning (ama)15,694
, ,
My Favorite Tools for Web Accessibility Testing (ale)15,693
, , ,
Browser Choice Is an Accessibility Consideration (bee)15,692
, ,
Breaking Down Circular Dependencies in JavaScript15,691
,
Markup Languages (j9t)15,690
, , , , , , , , , ,
Meet llms.txt, a Proposed Standard for AI Website Content Crawling (sea)15,689
, , ,
How to Set Up TypeScript With Node.js and Express (log)15,688
, , ,
Expanding CSS Shadow Effects (pre/fro)15,687
, ,
Interop 2025—Which Browser Features to Get Acquainted With This Year and Why You Should Care (uti/iod)15,686
, , ,
How to Easily Reproduce a Flaky Test in Playwright (cha)15,685
, , ,
Item Flow: A New Unified Concept for Layout (sar+/web)15,684
, , , ,
React Email 4.015,683
, ,
Mastering Typography in Design Systems With Semantic Tokens and Responsive Scaling (uxd)15,682
, , , , ,
Could JavaScript Have Synchronous “await”? (rau)15,681
,
Automated Visual Regression Testing With Playwright (css)15,680
, , , ,
Mind the WCAG Automation Gap (ste)15,679
, ,
If It Works, It’s Right (bel/pic)15,678
5 GitHub Actions Every Maintainer Needs to Know (git)15,677
, , , ,
How to Write Blog Posts That Developers Read (mtl)15,676
, ,
Online Tracking Is Out of Control—Privacy Badger Can Help You Fight Back (eff)15,675
, , ,
Scrum Not Working? Try It as Is Before You Modify It (ste)15,674
, ,
Website Hijack Campaign Now Impacting 150,000 Sites (gad)15,673
How to Conduct an Accessibility Audit: A Step-by-Step Guide15,672
, , , ,
Eleventy—Use Passthrough File Copy to Add Assets (w3t)15,671
,
AI Won’t Take Your Job—but Someone Who Uses It Better Than You Will (cwo)15,670
, , ,
Jo Minney on Website Usability Testing for WordPress Projects (jom+)15,669
, , , ,
[“a:focus-visible”] (ada)15,668
, ,
JavaScript’s Missing Link: Wasp Offers Full Stack Solution (low/the)15,667
, , ,
Direct Access vs. Sequential Access: Why Direct Is Better15,666
,
Malware Found on npm Infecting Local Package With Reverse Shell (rev)15,665
, ,
What’s the Future of Platform Engineering? (ma1+/the)15,664
, , ,
What’s New in WebGPU (Chrome 135) (dev)15,663
, , , ,
React Query API Design: Lessons Learned (tkd)15,662
, , , , , ,
The Case for “Old School” CSS (hui)15,661
, ,
A11y 101: 1.4.3 Contrast (Minimum) (nat)15,660
, , , , ,
Land Ahoy: Leaving the Sea of Nodes15,659
, , ,
You Should Know This Before Choosing Next.js (edu)15,658
, ,
“input type="number"” (kev)15,657
,
Artificial Intelligence Needs Community Intelligence (all)15,656
, ,
The “<select>” Element Can Now Be Customized With CSS (arg/dev)15,655
,
Expressing Japanese Grammar Through TypeScript Type System15,654
, ,
Is Vibe Coding Agile or Merely a Hype? (scr)15,653
, , ,
War Story: The Hardest Bug I Ever Debugged (jak)15,652
, , , , ,
UX or PX? Why Naming Matters (uxd)15,651
,
Mission jQuery Zero: How FreeAgent Removed jQuery From Our Application (fre)15,650
, , ,
Layered Text Headers (chr/fro)15,649
, , ,
“aria-label” Is a Letdown (thi/wag)15,648
, , ,
Support Logical Shorthands in CSS (geo/css)15,647
, ,
When Do Retry, Backoff, and Jitter Work? (the)15,646
,
Whose Design Process? (uxd)15,645
, , ,
Grid First, Flex Third (fim)15,644
, , ,
Directives: A Core Feature of the Angular Toolkit15,643
,
AI Is the Future of Accessibility (kar)15,642
, ,
UI Algorithms: A Tiny Undo Stack (jul)15,641
, , ,
Don’t Use Scores From Automatic Tools in Your Accessibility Statement (cer)15,640
, , ,
Holographic Masks (hej)15,639
, , , ,
Is Vite Faster Than Turbopack?15,638
, , , , , ,
How Navigation Should Work for Keyboard Users (tem)15,637
, , ,
The Software Engineering Identity Crisis (cod)15,636
, , ,
Mitigating Browser Fingerprinting in Web Specifications (npd+/w3c)15,635
, , , ,
Create an HTML Dialog When You Click an Image (cas)15,634
, ,
Cursor, “Vibe Coding,” and Manus: The UX Revolution That AI Needs (uxd)15,633
, , , , ,
Previewing Content Changes in Your Work With “document.designMode” (sma)15,632
, , , ,
JavaScript Basics for a Senior Dev15,631
, , ,
How to Create Quality Content (Follow Our 5-Level Framework) (ahr)15,630
, , , ,
Cracking the Code of Vibe Coding (uxd)15,629
, , , , , ,
This Is the Optimal Team Size That Improves Performance by 400%15,628
,
Revisiting CSS “border-image” (mal/css)15,627
, , ,
One Thing “@ scope” Can Do Is Reduce Concerns About Source Order (chr/fro)15,626
, ,
Cowardly Defaults and Courageous Overrides With Modern CSS (tyl/clo)15,625
, ,
Where Frontend Dogma Gets Its News From (j9t)15,624
, , ,
Testing Design Systems in 2025 (blv)15,623
, , ,
Revisiting Fluid Type (ric+/odd)15,622
, , , ,
Five Things Vibe Coders Should Know (From a Software Engineer) (uxd)15,621
, ,
Carousels With CSS (arg/dev)15,620
, ,
Composite vs. Simple Tokens15,619
, , ,
How WebAssembly Components Can Replace JavaScript SDKs (sac)15,618
, ,
SSR Deep Dive for React Developers15,617
, , ,
Web Accessibility Requirements in the EU (mar/uxd)15,616
, , , , ,
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead15,615
, , , , , , ,
My Thoughts on Asynchronous Accessibility APIs (jcs)15,614
, ,
The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom/dev)15,613
, , , ,
Quick Reminder That “:is()” and “:where()” Are Basically the Same With One Key Difference (geo/css)15,612
, ,
Vibe Coding and CHOP: What You Need to Know About AI-Driven Development (big/gra)15,611
, , ,
Why UI Automation Is Insufficient as an Accessibility API for the Web (jcs)15,610
, ,
Naming Things in Design Systems—and Why It’s the Worst (pjo)15,609
, ,
Quick Accessibility Wins That Are Easy to Implement (kev)15,608
, , , , , , , , , ,
Not All AI-Assisted Programming Is Vibe Coding (but Vibe Coding Rocks) (sim)15,607
, , ,
Generate Growing Images Using Gemini API15,606
, ,
Minding the Gaps: A New Way to Draw Separators in CSS (pat)15,605
,
Understanding the European Accessibility Act (EAA) (tin/tet)15,604
, ,
Node.js TSC Votes to Stop Distributing Corepack (sar/soc)15,603
,
Introducing Motion for Vue (cit)15,602
, , ,
Style Legend (ada)15,601
,
GitHub Suffers a Cascading Supply Chain Attack Compromising CI/CD Secrets (inf)15,600
, ,
The Bare Minimum You Need to Enable View Transitions on Your Website (ami)15,599
, , ,
Polite Is Often Better Than Being Alerted (oze)15,598
, ,
Next.js vs. TanStack15,597
, ,
Twenty Twenty-Five Theme: The Ultimate Guide (abr)15,596
, ,
Designing Design Systems: A Framework for Names, Terms, and Definitions15,595
, , ,
How to Think About Baseline and Polyfills (mal/dev)15,594
, , , ,
Downtime vs. Slowtime: Which Costs You More? (tam/spe)15,593
, ,
A Deep Dive Into the Inline Background Overlap Problem (ana/fro)15,592
, , , ,
Reducing CSS Complexity With the “:is()” Pseudo-Class (cfe)15,591
, ,
Self Gap (sha)15,590
, ,
Past and Present Futures of User Interface Design15,589
, , ,
What Are MCPs? A Beginner’s Guide to the Future of AI and Automation15,588
, , , ,
Breadcrumbs Are Dead in Web Design (web)15,587
, ,
A11y 101: 1.4.2 Audio Control (nat)15,586
, , ,
Bulk Actions: 3 Design Guidelines15,585
, , ,
Is React Accessible? That’s the Wrong Question15,584
, , , ,
Explaining UX Design Through the Lens of Construction (uxm)15,583
, , ,
Web Components vs. Framework Components: What’s the Difference? (sma)15,582
, , , ,
Leveraging 3 Types of User Feedback to Create Better User Experiences (uxm)15,581
,
Please Stop Externalizing Your Costs Directly Into My Face (sir)15,580
, , ,
Styling Counters in CSS (mon/css)15,579
, ,
But How to Get to That European Cloud? (ber)15,578
, ,
Let’s Knock Down Social Media’s Walled Gardens (tim/fin)15,577
,
10 Uses for Variables Beyond Light and Dark Mode (ali)15,576
, ,
Web Scraping With Cheerio in 2025 (api)15,575
, ,
Maintaining Screenshot Quality and Color Profile in Figma (max)15,574
, , , ,
Accessibility Requires Clear Responsibilities or It Will Fail (cer)15,573
, ,
“Classless.css” Framework15,572
,
Coding vs. Vibe Coding15,571
, , , ,
System Design Roadmap for Beginners15,570
,
Why the Latest JavaScript Frameworks Are a Waste of Time15,569
, , ,