Frontend Dogma

News and Tools for Frontend Developers

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 frontend development. Also great for web and full-stack developers.

→ Stay up-to-date on all topics by RSS feed, on Mastodon, and through other channels

Entry (With Sources) and TopicsDate#
Tuesday, January 21, 2025 Security Releases (raf/nod)12881
, ,
My Website Has Been Gaslighting You (dav)12880
, , ,
[NestJS] v11.0.0 (kam/nes)12879
,
Adding Dark Mode to My Site, Shaving Yaks, and Questioning My Sanity (hl@)12878
, ,
Is SEO Dead in 2025? No, but Changes Are Coming (mar/sem)12877
, , ,
What Is the Shared Storage API? (dev)12876
, , ,
The Web Is a Creative Industry and Is Facing the Same Decline and Shattered Economics as Film, TV, or Publishing (bal)12875
, , ,
SolidJS Creator on Confronting Web Framework Complexity (low/the)12874
, , , , , , ,
23 HTML Cheat Sheets, for a Different Look at HTML (fro)12873
, ,
My 18-Months Rule for Open-Source Contributions (j9t)12872
, , ,
Don’t Wrap “figure” in a Link (aar)12871
, , , ,
Open Source Drives the Twelve-Factor Modernization Project (res/the)12870
, ,
JavaScript’s “Promise.race” and “Promise.all” Are Not “Fair” (chr)12869
,
Creating Generative Artwork With Three.js (edu/cod)12868
, , ,
Making “this” Less Annoying (dav)12867
, ,
You Might Not Have a Web Performance Problem (mat/deb)12866
, , , , ,
What Is [the] TCP/IP Model and How Does the Protocol Work (sit)12865
, , ,
The Usability Myth: Users Don’t Really Know What They Want (and That’s Totally OK) (web)12864
, ,
ADA Title II: Top 20 Questions Answered (gwi/deq)12863
, , ,
Open Props UI12862
, ,
Data Structures and Algorithms (DSA): A Complete Tutorial (sit)12861
, ,
CSS Wishlist for 2025 (chr/fro)12860
,
Release Notes for Safari Technology Preview 211 (jon/web)12859
, , ,
The Success of Interop 2024 (jen/web)12858
, , ,
How to Wait for the “sibling-count()” and “sibling-index()” Functions (mon/css)12857
, , ,
To Get to the Internet, You Need a Steam Shovel (res)12856
,
Everything You Need to Know About Node.js Type Stripping (sat)12855
,
HTML Developers: Please Consider—in the Year of 2025 (ste)12854
, ,
WordPress Is in Trouble (gav)12853
, , ,
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)12852
, , , , ,
What’s Involved in Getting a “Modern” Terminal Setup? (b0r)12851
, , ,
Mastering Angular Unit Testing: Best Practices and Tools (son/pla)12850
, , ,
Oracle Refuses to Yield JavaScript Trademark, Deno Land Says (pjk/inf)12849
, ,
ECMAScript Feature: Regular Expression Pattern Modifiers (rau)12848
,
All JavaScript Keyboard Shortcut Libraries Are Broken12847
, ,
Can AI Be Used as an Accessibility Testing Partner? (tho)12846
, , , ,
Should Accordions Auto-Close Sections? (ash)12845
Tech Jobs Radar (tre)12844
, ,
Code Quality Becomes Even More Vital in the AI Era (vil/the)12843
, ,
How to Conduct Accessibility Testing With Screen Readers (sit)12842
, , , ,
Tight Mode: Why Browsers Produce Different Performance Results (geo/sma)12841
, , , , , ,
10 Backend Terms Every Frontend Developer Should Know (the)12840
, , ,
Automated and Manual Accessibility Testing Work Best Together (pop)12839
, ,
Running Animations Without Keyframes (css)12838
, ,
Accessibility Always a Focus in Drupal (the+/the)12837
, ,
Let’s Standardize Async CSS (sco)12836
,
A New Chapter for Express.js: Triumphs of 2024 and an Ambitious 2025 (use)12835
, ,
ECMAScript Feature: Import Attributes (rau)12834
“aria-description” Does Not Translate (aar)12833
, , ,
What Is Website Traffic? And a Quick Guide on Tracking It (dan/sem)12832
, , , ,
Sharing a Variable Across HTML, CSS, and JavaScript (chr/fro)12831
, ,
Eleventy, 2024 in Review (zac/ele)12830
,
5 Technical JavaScript Trends You Need to Know About in 2025 (the)12829
, , , , , , , ,
CSS Wish List 2025 (mey)12828
,
Reckoning: Frontend’s Lost Decade (sli/per)12827
, , ,
Progressive Enhancement Brings Everyone In (jay)12826
, , , ,
2024 JavaScript Rising Stars (mic)12825
, , , , , , , , , , , , ,
What Is the Definition of Done? (reb/scr)12824
, ,
How to Design for High-Traffic Events and Prevent Your Website From Crashing (sma)12823
, , , , , , ,
An Overview of the 50 Highest-Ranking Web Design and Development Glossaries (j9t)12822
, , , ,
Top React Best Practices in 2025 (fro)12821
,
Double-Keyed Caching: How Browser Cache Partitioning Changed the Web (add)12820
, , , , ,
Quick Note: Limit Use of “Logo” in Alt Text (nat)12819
, , , ,
How to Find All Existing and Archived URLs on a Website (tca/moz)12818
, , , ,
The Difference Between HTML Attributes and Properties (pau/clo)12817
, , ,
How to Order Attributes on HTML Elements12816
, , , ,
JavaScript Frameworks—Heading Into 2025 (rya/thi)12815
, , , ,
HTML Is Actually a Programming Language—Fight Me (tim/wir)12814
,
Use “translate” to Turn Off Element Translations (ste)12813
,
Relatively New Things You Should Know About HTML Heading Into 2025 (chr/fro)12812
, , , , , , ,
A Day in the Life of a Software Engineer in 2025 (rak)12811
,
Open Source in 2025: What Will Matter Most This Year? (ama/the)12810
,
Brief Note on Figure and Figcaption Support (aar)12809
, , , ,
What’s Actually Happening With JS Frameworks (awe)12808
, , ,
The Secret to Building Highly Responsive Systems (mjp)12807
, , , ,
Scrum vs. Extreme Programming: Was XP Right All Along? (drp)12806
, ,
Tech Stack 2025 (khr)12805
, , , , , , ,
This Is Not Your Last Job (chr)12804
FTC Orders AI Accessibility Startup accessiBe to Pay $1M for Misleading Advertising (kyl/tec)12803
, ,
Updated Brief Note on Description List Support (aar)12802
, , , , , ,
TypeScript Generics: A Complete Guide (syn)12801
, , ,
Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting (ltr+/cis)12800
, , ,
What Is Google’s Navboost Algorithm? (rh_/sem)12799
, ,
Database Trends: A 2024 Review and a Look Ahead (and/the)12798
, , ,
The Future of htmx (ale/htm)12797
,
You Don’t Need Next.js (ben)12796
, , ,
View Transitions Snippets: Getting All Animations Linked to a View Transition (bra/bra)12795
, , ,
A Gentle Introduction to Using a Vector Database (ste)12794
, , ,
Fabulous Font-Face Fallbacks (sto/per)12793
, , ,
Breaking Up With Long Tasks or: How I Learned to Group Loops and Wield the Yield (ric/per)12792
,
Designing Websites for Bad Performance (kee/per)12791
, , , ,
CSS Is Emotional: The Psychology of Specificity (eio)12790
,
Consistency Means Nothing (pjo)12789
5 Reasons Your Direct Traffic Can Suddenly Drop (thc/moz)12788
,
Your App Should Have Been a Website (and Probably Your Game Too) (bea)12787
, , , ,
Shallow Clones Versus Structured Clones (phi)12786
Page Weight (dws+/htt)12785
, , , , , ,
TypeScript Without Build Tools (chr/fro)12784
, , ,
Using DevTools to Validate Web Performance Improvements (nuc/per)12783
, , , ,
The 20 Commandments of Software Engineering12782
, , , , , , , ,
December 2024 Google Core Update (mor/sem)12781
,
Datalists Are More Powerful Than You Think (two/mat)12780
Media (ste+/htt)12779
, , , , , ,
Why Metrics Cannot Measure Software Development (dar)12778
, , ,
The Must-Have SEO Checklist for Developers for 2025 (the)12777
, , , ,
Using Iframes to Embed Arbitrary Content Is Probably a Bad Idea (tem)12776
, , , , , ,
Boost Website Speed With Prefetching and the Speculation Rules API (sch/mat)12775
, , ,
Improve Accessibility of User Authentication (cer)12774
, , , ,
The Ultimate Tech Stack for Startups in 202512773
, ,
CSS: How to Indicate Container Overflow, When There Is Overflow (j9t)12772
, , ,
Principles of Web Accessibility (hey)12771
,
AI Needs So Much Power, It’s Making Yours Worse (leo+/blo)12770
Node.js Now Supports TypeScript by Default (mat)12769
, ,
Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers (ale/mat)12768
, , , , , ,
Why Heading Order Matters in HTML (gra)12767
, ,
“text-box” (fon)12766
, ,
My Favorite Web Performance Graphs of the Year (fab/per)12765
, ,
Is It “Frontend” or “Front-End” or “Front End”? (mar)12764
,
Don’t Let Your Redesign Ruin Performance: A Case Study (mac/per)12763
, ,
Nothing Moves (kyl)12762
,
Baseline Data Choices (chr/fro)12761
, ,
The Underrated “<dl>” Element (luh/mat)12760
Correlation or Causation: How Web Performance Proves Its Value (per)12759
, ,
Preloading Fonts for Web Performance With “link rel=preload” (acc/mat)12758
, , ,
Concurrency vs. Parallelism (ash)12757
, ,
The Curious (Performance) Case of CSS “@ import” (erw/per)12756
, ,
Crawling December: CDNs and Crawling (gee+/goo)12755
, ,
The Search Input: They Almost Got It Right (stv/mat)12754
, , , , ,
CSS “margin-trim” and Line Height Units (jen/5t3)12753
, ,
The Design Leader Dilemma (boa/sma)12752
, , , ,
A CSS Wishlist for 2025 (mon/css)12751
,
CSS Wants to Be a System (dav)12750
Relearning Dart (ham)12749
,
Why Are We So Rubbish at Accessibility? (car)12748
, ,
15 Principles for Secure Programming (rak)12747
, , ,
The Devil Is in the “<details>” (jpe/mat)12746
How to Use Baseline Data (rac/5t3)12745
, , , ,
JavaScript Benchmarking Is a Mess (asy)12744
,
PSA: Stop Using the “title” Attribute as Tooltip (dni/mat)12743
, , , ,
Create Stunning Dashboards With ReactJS: Step-By-Step Guide (fro)12742
, ,
Mastering npm Scripts: Automate Everything in Your Frontend Workflow (the/fro)12741
, , , ,
Frontend Engineer at Adobe Interview Experience12740
, ,
Please Keep Your HTML Tables Clean and Lean, if You Really Need to Use Them (cer)12739
, ,
On Long Term Software Development (ber)12738
, , , , ,
Broadcast Channel API (5t3)12737
,
Accessibility First: How to Design Inclusive Frontend Experiences (the/fro)12736
, , , , , , , , , ,
Build Your Own Site Speed Testing Tool With Puppeteer (hen/per)12735
, ,
Don’t Hide Skip Links (oze)12734
,
AWS S3 Deep Dive12733
, ,
Important Topics for Frontend Developers to Master in 2025 (moi)12732
, , , , , , , , , , ,
Grouping Form Fields (mat/mat)12731
,
Matt Mullenweg, WordPress, and the Battle for Control of the Internet (web)12730
, , ,
Unattributed Navigation Overhead (UNO) (tim/per)12729
,
CSS “light-dark()” (may/5t3)12728
, ,
Biggest Privacy Erosion in 10 Years? On Google’s Policy Change Towards Fingerprinting (luk)12727
,
No ARIA Is Better Than Bad ARIA (kar)12726
, , ,
A Progress Update on “reading-flow” (rac)12725
,
AI and the Future of Accessibility with Dr. Gregg Vanderheiden (ind)12724
, , , , ,
JS Import Maps (lo_/5t3)12723
, ,
“AsyncLocalStorage”: Simplify Context Management in Node.js (tre)12722
, ,
My Favourite Colour Is Chuck Norris Red (val/mat)12721
,
Data-Driven SEO and Web Performance (tod/per)12720
, ,
Scroll-Driven and Fixed (chr/fro)12719
, , ,
8 Most Important System Design Concepts You Should Know (byt)12718
, ,
11 YAML Configurations for DevOps Automation (dev)12717
, , , , ,
I Reduced AWS Bills by 80% Just by Optimizing Node.js Code12716
, , ,
Is Figma Dev Mode a Worthwhile Tool for Developers? (ele/des)12715
, , ,
The Cloud and the Climate: Navigating AI-Powered Futures (jol+/gsf)12714
, , , ,
Detecting Web Performance Regressions Using Statistical Tools (pet/per)12713
, ,
CSS Display Module Level 4 (tab+/w3c)12712
, ,
CSS “box-decoration-break” (kil/5t3)12711
CSS Multi-Column Layout Module Level 2 (fri+/w3c)12710
, ,
Getting Oriented With HTML Video (sco/mat)12709
, ,
The Bad Apple Effect: How Negativity Can Sabotage Teams’ Performance (uka/scr)12708
, ,
Announcing a Free GitHub Copilot for VS Code (bur/cod)12707
, , , ,
The European Accessibility Act: Understanding Digital Accessibility (coo/dac)12706
, ,
Have an Accessible New Year With These 12 Resolutions (ins)12705
, , , , ,
How to Create Multi-Step Forms With Vanilla JavaScript and CSS (xqu/css)12704
, , ,
Speculative Loading and the Speculation Rules API (qcn/per)12703
, ,
The Future of CSS: Construct “<custom-ident>” and “<dashed-ident>” Values With “ident()” (bra/bra)12702
, ,
New to the Web Platform in December (rac/dev)12701
, , , , , ,
Declarative Shadow DOM (sch/5t3)12700
, ,
Microdata for Books (ala/mat)12699
Become a Better Developer With Clean Code Essentials: YAGNI, KISS, and DRY in Software Engineering (rav)12698
, , , ,
How to Make Your Angular Projects More Accessible (dan)12697
, , ,
CSS “content-visibility” (kno/5t3)12696
Stylish Holidays! Creating a Scroll-Driven Christmas Tree in CSS (uti)12695
, , , ,
WebAssembly JavaScript Interface (ms2/w3c)12694
, , ,
State of JavaScript 2024 [Results] (sac/dev)12693
,
How I Gained a New Perspective on ARIA (mei/mat)12692
,
CSS “::target-text” for Text Highlighting (tre)12691
,
HTML Conformance: A Comparison of 6.5 npm Validator Packages (With 1.5 Recommendations) (j9t)12690
, , , ,
The Top 20 Tools UX Designers Should Know (uxm)12689
, , ,
React 19 and Web Component Examples (chr/fro)12688
, ,
Developer Guide: How to Implement Passkeys (sit)12687
, , , ,
Why Product Owners Should Not Assign Work (reb/scr)12686
, , ,
CSS “text-wrap” (mey/5t3)12685
,
When Users Interact (blu/per)12684
, , ,
Re-Imagine the Web With View Transitions (bra/bra)12683
,
You Don’t Need the “isOpen” Class (mau/mat)12682
, ,
Recap of the State of the Word 2024 (jyo/wpt)12681
HTML “inert” Attribute (stv/5t3)12680
,
Advanced and Creative TypeScript Techniques for Professionals (sha)12679
, ,
Creating Shared Ownership for Web Performance From a Cryptic CSS Values (per)12678
, , ,
The Gift You Do Not Want: A Div in a Button’s Clothing (cor/mat)12677
, ,
Page by Page: How Pagination Makes the Web Accessible (mat)12676
, , , ,
Animating Entry Effects (ty@/5t3)12675
, , ,
How to Dehumanize Accessibility With AI (ash)12674
, ,
Potential Dangers of Status Messages (cer)12673
, ,
Towards Measuring INP on All Browsers and Devices (iva/per)12672
, ,
Your JavaScript Bundle Is Too Fat (yur/js_)12671
, , , , , , , ,
Easily Check for Web Accessibility Problems in Ten Minutes or Less (axe)12670
, , ,
“align-content”: The Simplest Way to Center Content With CSS (tre)12669
,
Improving User Experience for Multilingual Web Browsing (htm/mat)12668
, ,
“calc-size()” and Interpolate Size (kev/5t3)12667
, ,
ARIA in HTML (sco+/w3c)12666
, , ,
How Strict Should We Be When Testing for WCAG Conformance? (sib/tpg)12665
, , ,
Ethical Web Principles (tor+/w3c)12664
, , ,
Customize Interpolation Syntax in Angular at Component Level (uvb)12663
, ,
Updated Drafts for Review: W3C Accessibility Guidelines (WCAG) 3.0 (w3c)12662
, , ,
HTML and CSS I Didn’t Even Know About Before I Started Creating Content in Japanese (yur/mat)12661
, , ,
Preventing Ageism in Design: Digital Accessibility for Older Adults (tpg)12660
, ,
Angular Signals: Reactive Programming Simplified (ank/syn)12659
, ,
The “Perilous Pitfalls” of Accessibility Maturity (ins)12658
, ,
State of Node.js Performance 2024 (raf+/nod)12657
, ,
Makeshift Hot Reload (eva/mat)12656
,
Designer Problems: “Make the Logo Bigger!” (web)12655
, ,
Responsive Tables and Readable Paragraphs (chr/fro)12654
, ,
An Introduction to CSS Scroll-Driven Animations: Scroll and View Progress Timelines (mar/sma)12653
, , ,
A Deep Dive Into CommonJS and ES Modules in Node.js (app)12652
, , , ,
Site Reputation Abuse: Is Your Website at Risk? (dr_/moz)12651
,
Lifelong Learning in Tech (ema+/mst)12650
,
Wolvic 2024: A Year in Review (wol)12649
, , ,
8 Types of Load Balancing (rav)12648
, , ,
To Whom Does the World Belong? (bos)12647
, ,
Simple Web Performance Mentoring (per)12646
, , ,
Why You Should Use Laravel: Benefits of Laravel (fro)12645
,
On-Page SEO Checklist: The Complete Task List for 2025 (sem)12644
, , ,
CSS Wrapped 2024: 17 Features Transforming Modern Web Design (web)12643
, , ,
WordPress Parent Company Must Stop Blocking WP Engine, Judge Rules (emr/the)12642
, , ,
5 Technical Trends to Help Web Developers Stand Out in 2025 (the)12641
, , , , ,
Spot Non-Composited Animations in Chrome DevTools (bra/bra)12640
, , , , ,
Solved by Modern CSS: Feature Image (sha)12639
,
Set Up a Micro-Frontend Architecture in 15 Mins With Vite (air)12638
, ,
Submit to the Quirks of HTML (fel/mat)12637
,
HTTP (pro/htt)12636
, , , , , , ,
Yet Another Anchor Positioning Quirk (mon/css)12635
,
WebKit Features in Safari 18.2 (jen+/web)12634
, , , ,
AI and Accessibility: Ethical Considerations and Solutions (tae/a11)12633
, ,
Accessibility Fail Friday: “1” for “Yes” and “0” for “No” (byr)12632
,