Frontend Dogma

News and Tools for Frontend Developers (2)

→ Stay up-to-date on all topics by RSS feed (recommended), on Mastodon and Bluesky, or through other channels

Entry (Sources) and TopicsDate#
How to Meet SC 2.5.3 “Label in Name” (tpg)15,642
, , , ,
How to Validate Ideas Faster With No-Code Prototypes (uxm)15,641
, , ,
A11y 101: 1.4.10 Reflow (nat)15,640
, , ,
When to Use “map()” vs. “forEach()”15,639
, ,
Unlocking 7 Hidden Benefits Through Web Site Redesign (uxm)15,638
, , , , , , ,
Buttons vs. Links: What’s the Difference and Why Does It Matter?15,637
, , , ,
Web Typography: A Refresher and History (zel)15,636
, ,
Why Use Personal OKRs (cwo)15,635
, ,
Vibe Coding Is Not an Excuse for Low-Quality Work (add)15,634
, ,
How I Run Eleventy (It’s Complicated?) (j9t)15,633
What Does It Really Mean for a Site to Be Keyboard Navigable (sma)15,632
, , ,
Why Every Web Designer Secretly Hates Their Past Work (web)15,631
,
Fixing Vercel’s Landing Page15,630
, , ,
State of Devs 2025 (sac/dev)15,629
,
Keeping It on the “<dl>”—Another HTML Gem You Never Use (cod)15,628
, ,
“Pretty” Is in the Eye of the Beholder (geo/css)15,627
, , , , , , ,
Fostering an Accessibility Culture (dad/sma)15,626
, , ,
WCAG in Plain English (aaa)15,625
, ,
Contribute to the 2025 Web Almanac15,624
, ,
Creating an Accessible Accordion With HTML Description Lists (kar)15,623
, , ,
How to Write Error Messages That Actually Help Users Rather Than Frustrate Them (amy/pic)15,622
, , , , ,
State of AI 2025 [Results] (sac/dev)15,621
, , ,
So, You Want to Give Up CSS Pre- and Post-Processors… (zel/css)15,620
, , , ,
AI Overviews Reduce Clicks by 34.5% (ahr)15,619
, , , ,
“:only-child” (kev)15,618
,
The Best CSS One-Liner to Improve Performance in 202515,617
,
“oklch()” (ada)15,616
, , ,
Aaron D. Campbell [on] Why Open Standards and WordPress Matter (aar+)15,615
, , ,
5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t)15,614
, ,
Optimizing Node.js Performance: V8 Memory Management and GC Tuning (mco/pla)15,613
, , , , , , ,
Using CSS “backdrop-filter” for UI Effects (pre/css)15,612
, ,
Navigating the 2026 ADA Guidelines (ter+)15,611
, , , ,
The Best Node.js Observability Tools in 2025: N|Solid vs. New Relic, Datadog, and More (nod)15,610
, , ,
Memoizing the Cache in Laravel (ami)15,609
, ,
How to Begin a WordPress Blog: A Step-by-Step Guide for Beginners15,608
, ,
Serverless Is a Scam15,607
, ,
Image Alt Text Guide: How to Write and Add Image Alt Text Reference15,606
, , , , , ,
State of AI [Results] (ver)15,605
, , , , ,
What Happens When a Program Calls Sleeps?15,604
,
Out of Order (don)15,603
, ,
Local SEO vs. National SEO vs. Global SEO: A Strategy Guide (sem)15,602
, , , ,
Google Is Ending Support for Country-Code Google Domains Like google.fr or google.co.uk15,601
Can LLMs Earn $1M From Real Freelance Coding Work?15,600
, , , ,
Testing Methods—Pre-Recorded Captions (dec)15,599
, , ,
Threat Actors Misuse Node.js to Deliver Malware and Other Malicious Payloads (mic)15,598
, ,
Advanced React in the Wild (add)15,597
, , ,
Principles for Coding Securely With LLMs15,596
, ,
[Records and Tuples] Proposal Is Withdrawn (ash)15,595
SvelteKit Is the Best Way to Build Single Page Apps—and It Just Got Even Better15,594
, ,
Inclusive Dark Mode: Designing Accessible Dark Themes for All Users (sma)15,593
, ,
Why You Need to Know Your Site’s Performance Plateau (and How to Find It) (tam/spe)15,592
, ,
Tech Hiring: Is This an Inflection Point? (ger)15,591
, , ,
Firefox 137.0.2 Is a Big Bug Fix and Security Update Release15,590
, ,
Float16Array in JavaScript (tre)15,589
,
Accessible Forms: Tips and Techniques15,588
, , , , , , ,
14 Web Performance Tips for 2025 (sia)15,587
, , ,
TLS Certificate Lifetimes Will Officially Reduce to 47 Days15,586
,
A11y 101: 1.4.5 Images of Text (nat)15,585
, , , ,
Getting Specific About CSS Specificity (kat)15,584
, ,
Hako15,583
Next Level CSS Styling for Cursors (val/css)15,582
, ,
The Post-Developer Era (jos)15,581
, , , ,
10 Figma Hacks I Wish I’d Known Earlier (and You Should Know Now) (uxd)15,580
Deploying TypeScript: Recent Advances and Possible Future Directions (rau)15,579
,
How to Hire (hvp)15,578
, , ,
A Flowing WebGL Gradient, Deconstructed15,577
, , ,
Is “Ethical AI” an Oxymoron? (hdv)15,576
, , ,
LLMs Can’t Stop Making Up Software Dependencies and Sabotaging Everything (tho/the)15,575
, ,
Default Styles for “h1” Elements Are Changing (zco/mdn)15,574
, , ,
7 React Patterns That Made Me a Better Front-End Developer15,573
, , ,
Never Lose a “z-index” Battle Again (mat)15,572
,
How to Use GenAI With OKRs (Without Letting It Think for You) (cwo)15,571
, , , ,
Tooltip Should Not Start an Accessible Name15,570
,
The Case for Web Components With Lit15,569
, , ,
The Case for Angular15,568
,
Developer Ecosystem 2025 (jet)15,567
, , ,
7 UI/UX Principles Every Dev Should Know15,566
, ,
Using “currentColor” in 2025 (chr/fro)15,565
,
Automated WCAG Testing Is Grrreat! (aar)15,564
, , ,
No Code Is Dead. Long Live Vibe Coding. (auc)15,563
,
5 Ways to Reduce HTML File Size on Your Website (deb)15,562
, , , ,
Stop Writing If–Else Trees: Use the State Pattern Instead15,561
, ,
Exploring TypeScript: TS 5.8 Edition (rau)15,560
, ,
Significant Performance Improvements With Edge 13415,559
, ,
Tailwind’s “@ apply” Feature Is Better Than It Sounds (zel/css)15,558
, , ,
Preventing N+1 Issues Globally in Laravel Using Auto Eager Loading (ami)15,557
,
Mastering Default Values in JavaScript With the Nullish Coalescing (“??”) Operator15,556
,
VS Code Agent Mode Just Changed Everything (bur/vsc)15,555
, , , ,
Stretching Google’s Prefetching (paw)15,554
, , , ,
Custom Progress Element Using the “attr()” Function (css/fro)15,553
, , ,
Two Decades of Git: A Conversation With Creator Linus Torvalds (tor/git)15,552
, , ,
Project IDX Is Now Part of Firebase Studio (fir)15,551
,
To “light-dark()” or Not to “light-dark()” (web)15,550
, , ,
History of the Web: Chris Lilley (svg+/iga)15,549
, , ,
Automated Accessibility Testing: Strengths and Limits15,548
, , ,
Secure a Vue App With OpenID Connect and the BFF Pattern (due)15,547
, , ,
Zero-Config Debugging With Deno and OpenTelemetry (lca/den)15,546
, , , , ,
Deploy Angular and Next.js Apps With App Hosting, Now GA (fir)15,545
, , , , , ,
Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil+)15,544
, , , , ,
The Untold Story of Git15,543
, , , , ,
What It Means to Shift Left on Accessibility and How to Do It Right (lul)15,542
, , , , , , , , ,
Just Say the Word—Try Our New AI Website Builder for Free (nee/wor)15,541
, ,
10 Hard Truths Every Dev Must Learn in 202515,540
, ,
How to Build a Multi-Tenant SaaS Application With Next.js15,539
, , ,
Comparison Tables: 5 Scenarios When Not to Use Them15,538
, , ,
The “min()” and “max()” Functions (kev)15,537
,
Thin Fonts Are a Usability Nightmare—and Finally, Designers Are Waking Up (web)15,536
, , , ,
CSS Naked Day 2025 (mey)15,535
,
CSS Carousels (geo/css)15,534
,
ARIA in HTML (sco+/w3c)15,533
, , ,
React Server Confusion (ano)15,532
, , ,
Better Typography With “text-wrap: pretty” (jen/web)15,531
, , , , , ,
Background Image Opacity in CSS (jim)15,530
, ,
Using ARIA Landmarks for Better Navigation15,529
, , ,
Why I Value Firebreak Sprints for Managing Technical Debt (tre)15,528
, ,
React Reconciliation: The Hidden Engine Behind Your Components15,527
, ,
Your Frontend, Backend, and Database—Now in One Cloudflare Worker (clo)15,526
,
Use “shape()” for Responsive Clipping (nom/dev)15,525
, , , ,
Top 5 CSS Navigation Menu Mistakes (zor/css)15,524
, , ,
How to Select a UX Metric15,523
, , ,
CSS Naked Day 2025 (fyr)15,522
,
10 Things You Should Know as a Next.js Developer (That No One Tells You) (pri)15,521
Designing AI for Cultural Diversity (uxm)15,520
, , ,
UX Localization: Adapting Experiences to Users Worldwide (uxm)15,519
, ,
Design for the AI Age15,518
,
A11y 101: 1.4.4 Resize Text (nat)15,517
, , ,
Creating a Software Engineering Culture15,516
, ,
A Note About WCAG Conformance Levels (dec)15,515
, ,
The Precise Language of Good Management15,514
,
Some Features That Every JavaScript Developer Should Know in 202515,513
, , , ,
Dropping Support for Twitter/X (fro)15,512
, ,
Tweaking Text Level Styles, Reprised (aar)15,511
, , , , ,
Hiding Elements That Require JavaScript Without JavaScript (0xd)15,510
, ,
WebAIM Million Results Show That Shopping Sites Have Worst Accessibility (cer)15,509
, , ,
Making Node.js Downloads Reliable (nod)15,508
, ,
Cover Flow With Modern CSS: Scroll-Driven Animations in Action (add)15,507
, , , , ,
The Future of Redwood Launches Today (red)15,506
Introducing Bulk Suppressions (esl)15,505
Teaching Code in the AI Era: Why Fundamentals Still Matter (ali)15,504
, , , , , , , , ,
The Best Programmers I Know (mre)15,503
, ,
The Blissful Zen of a Good Side Project (col)15,502
,
Open-Source Is Just That (val)15,501
, ,
Lessons Learned From My First Dive Into WebAssembly15,500
,
How to Track and Analyze Your AI Traffic (lou/ahr)15,499
, , , ,
Overengineered Anchor Links15,498
, ,
CSS Bursts With Conic Gradients (chr/fro)15,497
, , ,
CSS-Only Glitch Effect15,496
, ,
The Importance of Alt Text for Images15,495
, , , , , , ,
First Look at the Modern “attr()” (sha)15,494
, , ,
Automated vs. AI vs. Manual Testing—Text Alternatives (dec)15,493
, , , ,
AI and Accessibility: Opportunities and Challenges for Content Creators15,492
, ,
Making “:visited” More Private (dev)15,491
, , , , ,
Debugging JavaScript Memory Leaks (jar/bun)15,490
, , , , , , ,
Digital Accessibility Is a Civil Right (kar)15,489
, , , ,
TypeSpec 1.0-RC: Design Faster Today, Scale Easier Tomorrow (mic)15,488
,
Mastering Cross-Framework State Management in Micro-Frontends (des)15,487
, , , , , ,
Building a Drupal to Storyblok Migration Tool: An Engineering Perspective (edo/sma)15,486
, ,
A Guide to Alt Text Across Popular Tools (pop)15,485
, , , ,
Four Rules for How Design Influences Technology (uxd)15,484
, ,
Your AI UX Intern15,483
, , ,
How I Found My Own Path as an Introverted Engineering Manager15,482
,
SMIL On? (geo/css)15,481
, ,
Micro-Scrum (j9t)15,480
, , ,
Stop Using Jenkins in 2025 (oso)15,479
, , ,
A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript15,478
, , ,
Firefox Release Notes [Firefox 137.0] (moz)15,477
, , ,
New in Chrome 135 (rac/dev)15,476
, , ,
How GenAIs Build Diverging Color Schemes (uxd)15,475
, , ,
Prioritizing Accessibility Bugs for Maximum Impact (civ)15,474
, ,
Implementing Multi-Brand Theming With Style Dictionary (stu)15,473
, , ,
What’s the Difference Between WCAG, the EAA, and EN 301 549? (tpg)15,472
, , , , ,
React 19’s New Hooks: With Practical Examples (let)15,471
, , ,
How AI Agents Are Quietly Transforming Frontend Development (the)15,470
, , ,
Node.js Test CI Security Incident (nod)15,469
, ,
New to the Web Platform in March (rac/dev)15,468
, , , , , , , ,
In Defense of Ruthless Managers15,467
,
You Don’t Know Git (eth/ndc)15,466
, ,
WebKit Features in Safari 18.4 (jen+/web)15,465
, , , ,
There Is No Vibe Engineering15,464
, ,
The WebAIM Million: The 2025 Report on the Accessibility of the Top 1,000,000 Home Pages (web)15,463
, , , ,
How Does Chrome Prioritize Image Requests? (deb)15,462
, , , ,
Testing Tools for Accessibility Enhancement II15,461
, , ,
Poisoning Well (hey)15,460
, , ,
State of Drupal Presentation (dri)15,459
Design Isn’t Dead—You Sound Dumb (uxd)15,458
, ,
Minimal CSS-Only Blurry Image Placeholders (kal)15,457
, , , ,
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)15,456
, , , ,
Resolving Invalid Custom Tailwind Classname ESLint Warning (ama)15,455
, ,
My Favorite Tools for Web Accessibility Testing (ale)15,454
, , ,
Browser Choice Is an Accessibility Consideration (bee)15,453
, ,
Breaking Down Circular Dependencies in JavaScript15,452
,
Markup Languages (j9t)15,451
, , , , , , , , , ,
Meet llms.txt, a Proposed Standard for AI Website Content Crawling (sea)15,450
, , ,
How to Set Up TypeScript With Node.js and Express (log)15,449
, , ,
Expanding CSS Shadow Effects (pre/fro)15,448
, ,
Interop 2025—Which Browser Features to Get Acquainted With This Year and Why You Should Care (uti/iod)15,447
, , ,
How to Easily Reproduce a Flaky Test in Playwright (cha)15,446
, , ,
Item Flow: A New Unified Concept for Layout (sar+/web)15,445
, , , ,
React Email 4.015,444
, ,
Mastering Typography in Design Systems With Semantic Tokens and Responsive Scaling (uxd)15,443
, , , , ,
Could JavaScript Have Synchronous “await”? (rau)15,442
,
Automated Visual Regression Testing With Playwright (css)15,441
, , , ,
Mind the WCAG Automation Gap (ste)15,440
, ,
If It Works, It’s Right (bel/pic)15,439
5 GitHub Actions Every Maintainer Needs to Know (git)15,438
, , , ,
How to Write Blog Posts That Developers Read (mtl)15,437
, ,
Online Tracking Is Out of Control—Privacy Badger Can Help You Fight Back (eff)15,436
, , ,
Scrum Not Working? Try It as Is Before You Modify It (ste)15,435
, ,
Website Hijack Campaign Now Impacting 150,000 Sites (gad)15,434
How to Conduct an Accessibility Audit: A Step-by-Step Guide15,433
, , , ,
Eleventy—Use Passthrough File Copy to Add Assets (w3t)15,432
,
AI Won’t Take Your Job—but Someone Who Uses It Better Than You Will (cwo)15,431
, , ,
Jo Minney on Website Usability Testing for WordPress Projects (jom+)15,430
, , , ,
[“a:focus-visible”] (ada)15,429
, ,
JavaScript’s Missing Link: Wasp Offers Full Stack Solution (low/the)15,428
, , ,
Direct Access vs. Sequential Access: Why Direct Is Better15,427
,
Malware Found on npm Infecting Local Package With Reverse Shell (rev)15,426
, ,
What’s the Future of Platform Engineering? (ma1+/the)15,425
, , ,
What’s New in WebGPU (Chrome 135) (dev)15,424
, , , ,
The Case for “Old School” CSS (hui)15,423
, ,
A11y 101: 1.4.3 Contrast (Minimum) (nat)15,422
, , , , ,
Land Ahoy: Leaving the Sea of Nodes15,421
, , ,
React Query API Design: Lessons Learned (tkd)15,420
, , , , ,
You Should Know This Before Choosing Next.js (edu)15,419
, ,
“input type="number"” (kev)15,418
,
Artificial Intelligence Needs Community Intelligence (all)15,417
, ,
The “<select>” Element Can Now Be Customized With CSS (arg/dev)15,416
,
Expressing Japanese Grammar Through TypeScript Type System15,415
, ,
Is Vibe Coding Agile or Merely a Hype? (scr)15,414
, , ,
War Story: The Hardest Bug I Ever Debugged (jak)15,413
, , , , ,
UX or PX? Why Naming Matters (uxd)15,412
,
Mission jQuery Zero: How FreeAgent Removed jQuery From Our Application (fre)15,411
, , ,
Layered Text Headers (chr/fro)15,410
, , ,
“aria-label” Is a Letdown (thi/wag)15,409
, , ,
Support Logical Shorthands in CSS (geo/css)15,408
, ,
When Do Retry, Backoff, and Jitter Work? (the)15,407
,
Whose Design Process? (uxd)15,406
, , ,
Grid First, Flex Third (fim)15,405
, , ,
Directives: A Core Feature of the Angular Toolkit15,404
,
AI Is the Future of Accessibility (kar)15,403
, ,
Don’t Use Scores From Automatic Tools in Your Accessibility Statement (cer)15,402
, , ,
Holographic Masks (hej)15,401
, , , ,
Is Vite Faster Than Turbopack?15,400
, , , , , ,
UI Algorithms: A Tiny Undo Stack (jul)15,399
, ,
How Navigation Should Work for Keyboard Users (tem)15,398
, , ,
The Software Engineering Identity Crisis (cod)15,397
, , ,
Mitigating Browser Fingerprinting in Web Specifications (npd+/w3c)15,396
, , , ,
Create an HTML Dialog When You Click an Image (cas)15,395
, ,
Cursor, “Vibe Coding,” and Manus: The UX Revolution That AI Needs (uxd)15,394
, , , , ,
Previewing Content Changes in Your Work With “document.designMode” (sma)15,393
, , , ,