Tech is political: The people under attack in Palestine 🇵🇸, Iran 🇮🇷, and Lebanon 🇱🇧 are people like us. They’re our brothers and sisters, too. Read up on their history, scrutinize what you’re told, and demand respect and accountability. Hide

Frontend Dogma

“2025” News Archive (6)

Entry (Sources) and Additional TopicsDate#
There Is No Vibe Engineering846
vibe-coding, programming, software-design
You Don’t Know Git (eth/ndc)845
videos, git, command-line
In Defense of Ruthless Managers (sea)844
engineering-management, culture
12-Factor Agents—Principles for Building Reliable LLM Applications843
ai, principles, reliability
The WebAIM Million: The 2025 Report on the Accessibility of the Top 1,000,000 Home Pages (web)842
studies, research, accessibility, homepages, metrics
Static PHP Builds via GitHub Actions (jos)841
php, github-actions
How AI Agents Are Quietly Transforming Frontend Development840
ai, ai-agents, processes, developer-experience, collaboration
How Does Chrome Prioritize Image Requests? (deb)839
chrome, browsers, images, performance
WebKit Features in Safari 18.4 (jen+/web)838
release-notes, safari, browsers, webkit
Node.js Test CI Security Incident (nod)837
nodejs, security, retrospectives
Testing Tools for Accessibility Enhancement II836
videos, accessibility, testing, tooling
New to the Web Platform in March835
release-notes, web-platform, browsers, firefox, safari, chrome
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)834
deno, oracle, javascript, legal, history
Minimal CSS-Only Blurry Image Placeholders (kal)833
images, placeholders, backgrounds, css, techniques
My Favorite Tools for Web Accessibility Testing (ale)832
accessibility, testing, tooling, link-lists
Resolving Invalid Custom Tailwind Classname ESLint Warning (ama)831
tailwind, css, eslint
Design Isn’t Dead—You Sound Dumb830
design, user-experience, ai
Browser Choice Is an Accessibility Consideration (bee)829
browsers, accessibility, chromium
Breaking Down Circular Dependencies in JavaScript828
javascript, dependencies
Automated Visual Regression Testing With Playwright (css)827
regressions, testing, automation, playwright, javascript
Expanding CSS Shadow Effects (pre/fro)826
css, shadows, effects
How to Easily Reproduce a Flaky Test in Playwright (cha)825
how-tos, playwright, testing, flakiness
How to Set Up TypeScript With Node.js and Express (log)824
how-tos, typescript, nodejs, express
Interop 2025—Which Browser Features to Get Acquainted With This Year and Why You Should Care (uti/iod)823
interoperability, support, browsers, web-platform
Item Flow: A New Unified Concept for Layout (sar+/web)822
css, layout, grids, flexbox, masonry
Markup Languages (j9t)821
overviews, link-lists, sgml, html, xml, xhtml, hdml, dhtml, mathml, wml, chtml
Robots Refresher: Future-Proof Robots Exclusion Protocol (met)820
robotstxt
Meet llms.txt, a Proposed Standard for AI Website Content Crawling (sea)819
ai, crawling, scraping, llmstxt, robotstxt
React Email 4.0818
react, email, tooling
Could JavaScript Have Synchronous “await”? (rau)817
javascript, asynchrony
Mastering Typography in Design Systems With Semantic Tokens and Responsive Scaling816
typography, design-systems, design-tokens, semantics, responsive-design, scaling
How to Conduct an Accessibility Audit: A Step-by-Step Guide815
how-tos, guides, accessibility, auditing, processes
How to Write Blog Posts That Developers Read (mtl)814
how-tos, writing, blogging
If It Works, It’s Right (bel/pic)813
css
Mind the WCAG Automation Gap (ste)812
accessibility, automation, wcag
Online Tracking Is Out of Control—Privacy Badger Can Help You Fight Back (eff)811
privacy, tooling, browser-extensions, eff
5 GitHub Actions Every Maintainer Needs to Know (kli)810
github-actions, github, tooling, automation, maintenance
Website Hijack Campaign Now Impacting 150,000 Sites (gad)809
security
Scrum Not Working? Try It as Is Before You Modify It (ste)808
scrum, agile, processes
AI Won’t Take Your Job—but Someone Who Uses It Better Than You Will (cwo)807
ai, career, tooling, learning
Eleventy—Use Passthrough File Copy to Add Assets (w3t)806
eleventy, configuration
Malware Found on npm Infecting Local Package With Reverse Shell (rev)805
npm, dependencies, security
Jo Minney on Website Usability Testing for WordPress Projects (jom+)804
podcasts, interviews, wordpress, usability, testing
What’s the Future of Platform Engineering? (ma1+)803
videos, platform-engineering, outlooks, ai
JavaScript’s Missing Link: Wasp Offers Full Stack Solution802
wasp, javascript, frameworks, history
What’s New in WebGPU (Chrome 135)801
release-notes, webgpu, chrome, browsers
Direct Access vs. Sequential Access: Why Direct Is Better (nng)800
videos, usability
[“a:focus-visible”]799
css, focus, links
A11y 101: 1.4.3 Contrast (Minimum) (nat)798
introductions, accessibility, wcag, contrast, colors, apca
Artificial Intelligence Needs Community Intelligence (all)797
videos, ai, community
“input type="number"” (kev)796
html, forms
The Case for “Old School” CSS (hui)795
css, drupal, twig
You Should Know This Before Choosing Next.js (edu)794
nextjs, vercel, frameworks
Land Ahoy: Leaving the Sea of Nodes793
v8, javascript-engines, javascript, compiling
React Query API Design: Lessons Learned (tkd)792
videos, lessons, react, apis, state-management, data-fetching, tanstack
“aria-label” Is a Letdown (thi/wag)791
accessibility, aria, labels, html
Layered Text Headers (chr/fro)790
typography, css, svg, shadows
Mission jQuery Zero: How FreeAgent Removed jQuery From Our Application (fre)789
refactoring, jquery, technical-debt, maintenance
Support Logical Shorthands in CSS (geo/css)788
css, logical-properties, shorthands
The “<select>” Element Can Now Be Customized With CSS (arg)787
forms, css
UX or PX? Why Naming Matters786
user-experience, naming
Is Vibe Coding Agile or Merely a Hype? (scr)785
processes, ai, vibe-coding, agile
War Story: The Hardest Bug I Ever Debugged (jak)784
debugging, javascript, v8, chrome, browsers, bugs
Expressing Japanese Grammar Through TypeScript Type System783
typescript, types, localization
AI Is the Future of Accessibility (kar)782
accessibility, ai, outlooks
Grid First, Flex Third (fim)781
css, layout, grids, flexbox
Whose Design Process?780
design, ai, creativity, processes
When Do Retry, Backoff, and Jitter Work?779
dev-ops, concepts
Directives: A Core Feature of the Angular Toolkit778
angular, extensibility
Don’t Use Scores From Automatic Tools in Your Accessibility Statement (cer)777
accessibility, documentation, compliance, tooling
Holographic Masks (hej)776
code-pens, css, gradients, blend-modes, effects
How Navigation Should Work for Keyboard Users (tem)775
navigation, keyboard-navigation, focus, accessibility
UI Algorithms: A Tiny Undo Stack (jul)774
javascript, algorithms, functionality, undo-redo
Collecting Code Coverage in Node.js (nod)773
nodejs, code-coverage
Is Vite Faster Than Turbopack?772
nextjs, webpack, turbopack, vite, rollup, rolldown, bundling, performance, comparisons
Create an HTML Dialog When You Click an Image (cas)771
html, images, modals
Mitigating Browser Fingerprinting in Web Specifications (npd+/w3c)770
standards, privacy, fingerprinting, browsers, w3c
Revisiting CSS “border-image” (mal/css)769
css, borders, images, data-urls
The Software Engineering Identity Crisis (cod)768
career, craft, ai, vibe-coding
This Is the Optimal Team Size That Improves Performance by 400%767
engineering-management, productivity
Cursor, “Vibe Coding,” and Manus: The UX Revolution That AI Needs766
ai, chatgpt, cursor, history, vibe-coding, user-experience
How to Create Quality Content (Follow Our 5-Level Framework) (tim/ahr)765
how-tos, content, microcontent, seo, sem
JavaScript Basics for a Senior Dev764
fundamentals, concepts, javascript, examples
Previewing Content Changes in Your Work With “document.designMode” (sma)763
browsers, dev-tools, javascript, content, design
Cracking the Code of Vibe Coding (pet)762
programming, processes, ai, vibe-coding, craft, technical-debt, design-debt
Composite vs. Simple Tokens761
design-tokens, comparisons, terminology, maintainability
Cowardly Defaults and Courageous Overrides With Modern CSS (tyl/clo)760
css, presentational-html, cascade
Keyword Research for SEO in 2025: Step-By-Step Tutorial759
videos, keywords, seo, google, tooling
Quick Reminder That “:is()” and “:where()” Are Basically the Same With One Key Difference (geo/css)758
css, selectors, cascade
Revisiting Fluid Type (ric+/odd)757
videos, interviews, typography, fonts, responsive-design
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead756
fundamentals, javascript, frameworks, react, vuejs, angular, svelte, solidjs
Testing Design Systems in 2025 (blv)755
design-systems, testing, storybook, vitest
The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom)754
html, attributes, browsers, support, web-platform
Carousels With CSS (arg)753
css, carousels, scrolling
One Thing “@scope” Can Do Is Reduce Concerns About Source Order (chr/fro)752
css, scope, source-order
How WebAssembly Components Can Replace JavaScript SDKs (sac)751
webassembly, components, javascript
Web Accessibility Requirements in the EU (mar)750
accessibility, eaa, legal, compliance, history, metrics
Five Things Vibe Coders Should Know (From a Software Engineer)749
vibe-coding, security, sanitization, rate-limiting
Where Frontend Dogma Gets Its News From (j9t)748
cross-posts, frontend-dogma, community, link-lists
My Thoughts on Asynchronous Accessibility APIs (jcs)747
accessibility, asynchrony, apis
SSR Deep Dive for React Developers (ade)746
deep-dives, server-side-rendering, react, javascript
GitHub Suffers a Cascading Supply Chain Attack Compromising CI/CD Secrets (inf)745
github, security, ci-cd
Naming Things in Design Systems—and Why It’s the Worst (pjo)744
design-systems, naming, components
Node.js TSC Votes to Stop Distributing Corepack (sar/soc)743
nodejs, corepack
Not All AI-Assisted Programming Is Vibe Coding (but Vibe Coding Rocks) (sim)742
programming, processes, ai, vibe-coding
Quick Accessibility Wins That Are Easy to Implement (kev)741
videos, accessibility, html, semantics, alt-text, images, contrast, colors, keyboard-navigation, focus, skip-links
The Bare Minimum You Need to Enable View Transitions on Your Website (ami)740
html, css, view-transitions, minimalism
Understanding the European Accessibility Act (EAA) (tin/tet)739
eaa, legal, accessibility
Vibe Coding and CHOP: What You Need to Know About AI-Driven Development (big/gra)738
ai, vibe-coding, processes, tooling
Why UI Automation Is Insufficient as an Accessibility API for the Web (jcs)737
accessibility, automation, microsoft
Introducing Motion for Vue (cit)736
introductions, animations, tooling, vuejs
Minding the Gaps: A New Way to Draw Separators in CSS (pat)735
css, borders
Generate Growing Images Using Gemini API734
images, ai, gemini, apis
Style Legend733
forms, css
A Deep Dive Into the Inline Background Overlap Problem (ana/fro)732
deep-dives, css, svg, filters, backgrounds
Downtime vs. Slowtime: Which Costs You More? (tam/spe)731
performance, economics, branding
Past and Present Futures of User Interface Design730
design, desktop, history, outlooks
Polite Is Often Better Than Being Alerted (oze)729
accessibility, aria, screen-readers
Reducing CSS Complexity With the “:is()” Pseudo-Class (cfe)728
css, selectors, complexity
Self Gap (sha)727
css, flexbox, layout
Twenty Twenty-Five Theme: The Ultimate Guide (abr)726
guides, wordpress, themes
Designing Design Systems: A Framework for Names, Terms, and Definitions725
design-systems, naming, documentation, processes
How to Think About Baseline and Polyfills (mal)724
how-tos, support, browsers, web-platform, polyfills
Next.js vs. TanStack723
nextjs, tanstack, comparisons
A11y 101: 1.4.2 Audio Control (nat)722
introductions, accessibility, wcag, multimedia
Breadcrumbs Are Dead in Web Design (web)721
design-patterns, navigation, breadcrumbs
Please Stop Externalizing Your Costs Directly Into My Face (sir)720
ai, crawling, traffic, economics
Bulk Actions: 3 Design Guidelines (nng)719
videos, guidelines, design, usability
What Are MCPs? A Beginner’s Guide to the Future of AI and Automation718
guides, ai, mcp, architecture, automation
A Review of HTML Linters717
overviews, html, linting, conformance, tooling, link-lists, comparisons
But How to Get to That European Cloud? (ber)716
cloud-computing, politics, foss
Styling Counters in CSS (mon/css)715
overviews, css, lists, counters
Is React Accessible? That’s the Wrong Question714
accessibility, react, jsx, semantics, html
Explaining UX Design Through the Lens of Construction (uxm)713
user-experience, design, processes, concepts
Leveraging 3 Types of User Feedback to Create Better User Experiences (uxm)712
user-experience, testing
Web Components vs. Framework Components: What’s the Difference? (sma)711
web-components, components, frameworks, html, comparisons
10 Uses for Variables Beyond Light and Dark Mode (ali)710
figma, variables, dark-mode
Accessibility Requires Clear Responsibilities or It Will Fail (cer)709
accessibility, processes, culture
“Classless.css” Framework708
frameworks, css
Maintaining Screenshot Quality and Color Profile in Figma (max)707
figma, screenshots, images, quality, colors
Let’s Knock Down Social Media’s Walled Gardens (tim/fin)706
web, social-media
Web Scraping With Cheerio in 2025 (api)705
guides, scraping, tooling
Coding vs. Vibe Coding704
processes, ai, vibe-coding, programming, comparisons
Designers, Your Excuse Is Gone. Stunning, Animated, and Accessible. Yes, You Can! (bov)703
design, accessibility
Popping Preconceived Popover Ponderings (sco)702
accessibility, html, pop-overs
The Hidden Burden of Architectural Decision Fatigue (and How to Fix It)701
architecture, documentation
Why the Latest JavaScript Frameworks Are a Waste of Time700
frameworks, javascript, react, angular
System Design Roadmap for Beginners699
architecture, system-design, concepts
Browse No More (sta)698
browsing, searching, ai, web, user-experience
How to Prevent WordPress SQL Injection Attacks (sma)697
how-tos, wordpress, sql, databases, security
“Intl.DurationFormat”: Format Time Durations With Locale Support (tre)696
javascript, localization
Accelerating Large-Scale Test Migration With LLMs695
testing, migrating, ai, case-studies
How GitHub Engineers Learn New Codebases (bri)694
github, learning, documentation
How to Get Deep Traces in Your Node.js Backend With OTel and Deno (den)693
how-tos, observability, tracing, nodejs, deno, tooling
State of Vue.js Report 2025692
surveys, vuejs, metrics, frameworks
ADA Compliance vs. WCAG Conformance691
accessibility, ada, wcag, compliance, comparisons, legal
Chilled Out Text Underlines (chr/fro)690
css, links, colors
Create a Fun Quick Text Flip Effect (kev)689
videos, css, effects
“:in-range” Pseudo-Class (kev)688
css, selectors, forms
Nobody Should Be a “Content Creator” (cod)687
content, social-media, ai, career
A Perplexing JavaScript Parsing Puzzle (hil)686
javascript, parsing, history
Support for CSS and Baseline Has Shipped in ESLint (mal)685
eslint, css, browsers, support, web-platform
Connect Claude Code to a GitHub MCP Server (mat)684
github, claude, ai, mcp
How WebAssembly Crushes Technical Debt683
webassembly, technical-debt, metrics
View Transitions Applied: Smoothly Animating a “border-radius” With a View Transition (bra)682
css, animations, view-transitions, borders
Why Microsoft Is Rewriting Their TypeScript Compiler in Go (imp)681
microsoft, typescript, compiling, go
Retrieval-Augmented Generation With Node.js, Podman AI Lab, and React680
rag, ai, nodejs, podman, react
On JavaScript Closures (With Examples of Interview Questions) (mar)679
guest-posts, javascript, closures, variables, examples, interviewing
What’s Missing With AI-Generated Code? Refactoring678
surveys, studies, research, ai, productivity, quality, maintenance, refactoring
A 10× Faster TypeScript (ahe)677
videos, typescript
A11y 101: 1.4.1 Use of Color (nat)676
introductions, accessibility, wcag, colors
CSS System Colors (ant)675
css, colors
Lazarus Strikes npm Again With New Wave of Malicious Packages (soc)674
npm, dependencies, security
Ten Years Ago Today I Coined the Shorthand “js;dr” for “JavaScript Required; Didn’t Read” (tan)673
javascript, support, terminology
Angular Hacks Every Developer Should Know672
angular
Automated Tools Can Ensure Full Accessibility Compliance671
accessibility, compliance, tooling, automation
Design Systems Report 2025 (zer)670
surveys, studies, research, design-systems, metrics
DOJ Pushes for Google to Sell Chrome to Break Search Monopoly669
google, search, legal, chrome, browsers
Content Churn in Google Doubled Over Five Years (moz)668
google, search, content, seo, metrics
Future of CSS: “select” Styling Without the Hacks667
css, selectors, forms, html
Relative Colors (sha)666
css, colors, functions, contrast
The Hype and Risks of Vibe Coding665
trends, design, processes, ai, vibe-coding
Here’s How Chrome Could Lose the Browser War664
chrome, browsers, browser-wars, history
Devs: Draw Your Line (rem)663
privacy, ethics, career
WAI a Day (yat)662
websites, accessibility, link-lists
Is Cursor Better Than VS Code With Copilot? Absolutely and It’s Not Close661
code-editors, cursor, vs-code, github-copilot, ai, comparisons
How to Handle “Urgent Request” in Scrum660
how-tos, scrum, agile, project-management, prioritization
“aria-label” Requires a Valid Role (cfe)659
accessibility, aria
Creating Animated Accordions With the “details” Element and Modern CSS (ste/bui)658
html, css, disclosure-widgets, accordions, animations, transitions
Implementing “aria-describedby” for Web Accessibility (flo/a11)657
accessibility, aria, forms, labels, html
Top 10 Common Accessibility Issues in Websites656
accessibility
Usability Testing With Disabled Users Is a Good Investment (nic)655
testing, usability, accessibility
Why Do We Have a “Cache-Control” Request Header? (css)654
caching, http-headers, http
10 Hidden Gems in Angular That You Should Use653
angular, functions
Great Software Design Looks Underwhelming (sea)652
software-design, simplicity
Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb)651
performance, html, css, data-urls, compression, base64
Standards for ANSI Escape Codes (b0r)650
escaping, encoding
Introducing “command” and “commandfor” (kei)649
introductions, html, attributes
DeepSeek and HTML (j9t)648
ai, deepseek, html, minimalism, conformance
Coding With AI: How to Do It Well and What This Means (chr)647
how-tos, ai, processes
Prompt Engineering for Web Development646
ai, prompting, examples
What Is the OWASP Top 10 and How Can Your Team Benchmark Security? (jet)645
owasp, security, vulnerabilities, qodana
Updates on CVE for End-of-Life Versions (raf/nod)644
nodejs, security
Cool Native HTML Elements You Should Already Be Using (hrr)643
html, modals, disclosure-widgets, forms, progress-indicators
Defending Tailwind (don)642
tailwind, presentational-html, naming, productivity, maintainability, scalability
How to Protect Your Web Applications From XSS (tor/w3c)641
how-tos, web-apps, security, xss
Maybe Don’t Use Custom Properties in Shorthand Properties (mat)640
css, shorthands, custom-properties
On Ethics in Web Development (With a Brief Overview of Ethical Theories) (j9t)639
overviews, ethics
Your Best Engineers Could Be Your Biggest Communication Liability (and How to Fix It)638
communication, collaboration
In Tech, What Matters and What Is Dangerous (ham)637
security, community, foss, open-web
How to Fix Largest Contentful Paint Issues With Subpart Analysis (mat/sma)636
how-tos, performance, web-vitals, metrics
From Designing Things to Designing Change635
design, principles, collaboration
Node Just Added TypeScript Support. What Does That Mean for Deno? (tin/den)634
typescript, nodejs, deno
Delaying the Shipping of CSS “@function” From Chrome 136 to 139 (arg)633
chrome, browsers, css
Making the Fediverse More Accessible With Claude 3.7 Sonnet632
fediverse, bluesky, social-media, ai, claude
The Angular Language Server: Understanding IDE Integration Approaches (nik/jet)631
angular, code-editors, vs-code, neovim, webstorm
JavaScript Best Practice: Use “return await”630
javascript, asynchrony, best-practices
An Aura of Accessibility (tpg)629
accessibility, zooming, reflow, wcag
Automatically Generate Changelogs With Git (dan)628
git, documentation, automation
Don’t Use Fake Bold or Italic in Social Media (aar)627
social-media, unicode, screen-readers, pronunciation, accessibility
Grouping Selection List Items Together With CSS Grid (pre/css)626
html, lists, forms, css, grids, layout
How ECMAScript Engines Optimize Your Variables (boa)625
ecmascript, variables, optimization
Super Crispy SVG Icons (ale)624
svg, images, icons, optimization
Accessible Solutions Benefit Everyone: Here’s How (nng)623
videos, design, accessibility, examples
How to Troubleshoot Node.js Images in OpenShift622
how-tos, nodejs, docker, debugging, tooling
Our Favorite DevTools Features of 2025 (deb)621
dev-tools, browsers, chrome, edge
Is Biome Ready to Replace Prettier and ESLint?620
formatting, linting, tooling, biome, prettier, eslint
From “You Will Fail” to 15,000 GitHub Stars: The Story of Wasp, a “Laravel for JS” Full-Stack Framework619
wasp, history
5 Questions to Ask Your Manager to 10× Your Impact at Work (cod)618
career, productivity, prioritization, communication, culture
Building Websites With LLMS (jim)617
html, css, view-transitions
Reservoir Sampling (sam)616
algorithms, randomness, visualization
Tailwind UI Is Now Tailwind Plus (ada/tai)615
tailwind
Truth, Lies, and Progress Bars (tyl/clo)614
design, progress-indicators
Underrated Angular Features (arm/dan)613
angular
Using and Styling the “details” Element (geo/css)612
html, css, disclosure-widgets, examples
View Transitions Applied: Dealing With the Snapshot Containing Block (bra)611
css, view-transitions
Ethical Foundations in Modern Software Development (fra)610
fundamentals, principles, ethics, foss, ai
The Professional Standing of Frontend Developers (mar)609
guest-posts, career, learning, html, css, javascript, communication, collaboration, community, ai
Unlock Exciting Use Cases With the Document Picture-in-Picture API (jad)608
html, apis
Myth: Technical Debt Is the Developers Problem607
myths, technical-debt, processes, scrum, agile
Agentic AI Is the New Web App, and Your AI Strategy Must Evolve606
ai, outlooks
Firefox 136 Launches With Vertical Tabs, but One Requested Feature Is Still Missing605
firefox, browsers
SEO Is the Worst It’s Ever Been (and It’s Still Your Best Marketing Channel) (ahr)604
seo, sem, marketing, ai, outlooks
A11y 101: 1.3.5 Identify Input Purpose (nat)603
introductions, accessibility, wcag, forms
CSS Meets Voxel Art: Building a Rendering Engine With Stacked Grids (cod)602
css, html, art
Functions in CSS?! (mon/css)601
css, functions
Other Causes of Signed Exchanges Errors (paw)600
signed-exchanges, errors, debugging, performance, cloudflare, google
Secure UX: Building Cybersecurity and Privacy Into the UX Lifecycle (uxm)599
user-experience, processes, security
Who Is Free Software For? (tan)598
foss, licensing
Dark Mode: Essential, Not a Preference597
dark-mode, accessibility
License to Kill: Coding With Cursor AI Agents596
cursor, code-editors, ai, ai-agents
Everything I Was Lied to About Node.js Came True With Elixir595
nodejs, concurrency, memory, performance
10 Best AI Code Review Tools and How They Work594
ai, code-reviews, tooling, comparisons, link-lists
I Finally Understand What FAANG Wants in a Candidate593
interviewing, facebook+meta, amazon, apple, netflix, google
UX Analytics: How to Measure Your User Experience the Right Way (uxm)592
how-tos, user-experience, metrics, accessibility, performance, tooling
JavaScript (htt)591
web-almanac, studies, research, metrics, javascript, performance, bundling, transpiling, web-workers, libraries, web-components
7 Best Practices of File Upload With JavaScript and React590
file-handling, javascript, react, best-practices
One Kilobyte to Copilot: My Journey Through Programming History589
programming, ai, history
AI in the Workplace: A Productivity Boost, Not a Replacement588
ai, productivity, career
The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks (sma)587
wordpress, theming, tooling, minimalism
AX, DX, UX (jim)586
agent-experience, developer-experience, user-experience, comparisons
Be Wary of Accessibility Guarantees From Anyone (aar)585
accessibility, automation
Image Comparison Slider in 6 Lines of JavaScript584
sliders, images, javascript
Values (yat)583
accessibility, ai, community, culture
“I’m Not a Designer But…” (ada)582
design, usability, forms, ecommerce
Update on QUIC (jas/nod)581
nodejs, quic, tls, protocols, support
My Sales Pitch for TypeScript (rau)580
typescript
I Quit My FAANG Job Because It’ll Be Automated by the End of 2025 (jas)579
career, ai
Learn Zod So You Can Trust Your Data and Your Types (did)578
libraries, types, typescript, examples
Mozilla Updates Firefox Terms Again After Backlash Over Broad Data License Language (the)577
firefox, mozilla, browsers, licensing
What’s New in Svelte: March 2025 (dre/sve)576
release-notes, svelte, sveltekit
What Is Generative Engine Optimization (GEO)—Tips and Workflows to Do It (moz)575
aiso, tips-and-tricks, mistakes
Leverage on Redux to Execute Your Tests 100× Times Faster574
react, redux, testing, performance, examples
Custom Property Fallbacks (mat/fro)573
css, custom-properties
JavaScript Fatigue Strikes Back (all)572
javascript, react, frameworks, libraries, tooling
There’s No Such Thing as “Menubar Navigation” (tem)571
accessibility, navigation, html
Views on Views (hdv)570
accessibility, wcag, terminology
Building APIs With Next.js (lee)569
nextjs, apis
When Config Becomes the Code: The Trap of Over-Abstracting Logic (max)568
configuration, debugging, low-and-no-code
Chrome on Android Edge-to-Edge Migration Guide (bra)567
guides, chrome, browsers, mobile
Testing Tools for Accessibility Enhancement566
videos, accessibility, testing, tooling
New to the Web Platform in February565
release-notes, web-platform, browsers, firefox, chrome, safari
Is the Button Focusable? (mat)564
accessibility, buttons, focus, quizzes
New to Web Development? Run Your Own Website (j9t)563
career, training, indieweb
Advanced Network Analysis With Chrome DevTools (jec)562
videos, dev-tools, chrome, browsers, performance, network, caching
Using AI in the Browser for Typo Rewriting (ray)561
chrome, browsers, ai, apis, content
How to Reduce Web Application Bundle Size? (ant)560
how-tos, web-apps, bundling, javascript, tooling
What Is TypeScript? An Overview for JavaScript Programmers (rau)559
overviews, typescript, javascript, comparisons
When to Use Lists for Better Accessibility558
accessibility, html, lists
Examples of Why the Web Needs Anchored Popovers (chr/fro)557
design, pop-overs, examples
Open-Source Is Where Dreams Go to Die (tre)556
foss, culture, community, economics
The Existential Challenge of Design System Team Morale (pjo)555
design-systems, processes, culture
8 Best Things About Working in UX (nng)554
videos, user-experience, career
The Six Cs of Accessibility553
accessibility
The Fallacy of Balance: Challenging the Notion of Security and Accessibility as Opposing Objectives (deq)552
videos, accessibility, security
Google’s Principles for Measuring Developer Productivity551
google, principles, productivity, studies, research
Firefox: Mozilla Confirms Support for Classic Extensions and Manifest V3 Add-Ons550
firefox, mozilla, browsers, browser-extensions
The Browser’s Native “Magnetic Snap” Effect: Demystifying the Anchor Positioning Powerhouse549
translations, css, anchor-positioning
Next.js 15.2548
release-notes, nextjs
5 Tips to Do Less and Better Work With AI (pro)547
ai, productivity, automation, writing, prompting
What It Really Takes: Building an Accessibility-First Corporate Culture (deq)546
videos, accessibility, culture, strategies
Accessibility Maturity Models (deq)545
videos, accessibility
Better Anchor Positioning With “position-area” (jam/odd)544
css, anchor-positioning
CSS Snapshot 2024 (tab+/w3c)543
css, standards
How to Use “attr()” in CSS for Columns, Colors, and Font-Size (chr/fro)542
how-tos, css, functions, layout, colors, typography
Justified Text, JS “moveBefore” Method, Performance Optimization (zor/css)541
videos, css, typography, javascript, performance, optimization
Why I Like Designing in the Browser (tyl/clo)540
design, processes, browsers
2024 Web Almanac: Uncovering Global Accessibility Insights With axe (mgi/deq)539
videos, accessibility, web-almanac, studies, research, metrics, axe
Turbocharging V8 With Mutable Heap Numbers538
v8, javascript-engines, javascript, performance, randomness
@11ty/image-color (zac)537
packages, npm, images, colors
Intent to Experiment for Longer (kiz)536
chrome, browsers, css, functions, conditionals
Browsers: A Snapshot (bry)535
browsers, browser-extensions, chromium, edge, firefox, brave, safari
Kimi AI Tutorial 2025—Tips and Tricks534
videos, kimi, ai, tips-and-tricks
5 Questions for Jeremy Keith (ada+/fro)533
interviews, web, web-platform, interoperability, mobile
A11y 101: 1.3.4 Orientation (nat)532
introductions, accessibility, wcag, design
Applying the Web Dev Mindset to Dealing With Life Challenges (css)531
career
Avoiding Tokens (don)530
design-systems, design-tokens
Common Dataviz Accessibility Issues (fos/sma)529
videos, accessibility, visualization
Overlay Timeline (ove)528
websites, overlays, accessibility, history, link-lists
Simple Interactive CLI App With Node.js (rwi)527
tutorials, nodejs, command-line
Strong Opinions on URL Design (val)526
urls, user-experience
Subverting Control With Weak References (jlo)525
programming, javascript
The Figma Dilemma: Too Many Cooks, Too Few Decisions (web)524
design, figma, collaboration
Trusting AI With My Images Wasn’t Easy (dri)523
ai, images, alt-text, accessibility, automation, tooling
Solved by Style Observer: “Element.matchContainer()” (bra)522
css, javascript
Top 10 Front-End Dev Trends for 2025 (bhu)521
trends, ai, low-and-no-code, css, edge-computing, frameworks, dark-mode, sustainability, webauthn, interaction-design, voice
Best Practices for Cognitive Accessibility in Web Design (a11)520
accessibility, wcag, best-practices
11 Practical Tips to Make Code Reviews Easier as a Developer519
code-reviews, tips-and-tricks, ai, principles, linting, formatting, quality, collaboration
Web Scraping With Playwright518
scraping, playwright, typescript, youtube, functionality
1.4.10: Adversarial Conformance (aar)517
accessibility, wcag, compliance
Skip Links: What, Why, and How (tem)516
accessibility, skip-links, keyboard-navigation, wcag
Speeding Up the JavaScript Ecosystem—Rust and JavaScript Plugins (mar)515
javascript, performance, rust, plugins
It Is No Longer Safe to Move Our Governments and Societies to US Clouds (ber)514
cloud-computing, security, privacy, legal
Clean Code in JavaScript: A Comprehensive Guide513
guides, javascript, principles, conventions, variables, objects, functions, comments, testing, quality
In Defense of Text Labels (chr)512
labels, icons, images, usability, design
Stop Your Angular Apps From Leaking Memory (cod)511
videos, angular, memory
How to Do Visual Regression Testing in Vue With Vitest? (ale)510
how-tos, testing, regressions, vuejs, vitest
You Need TDD if You Use AI (lor)509
ai, testing, processes
Top Benefits of Choosing Node.js for High-Performance Applications508
nodejs, performance, native
Accessible Design Checklist (lau/pen)507
accessibility, design, checklists
Debugging Mutable Subresources: A Detective Story (paw)506
signed-exchanges, caching, debugging
Fixing “rowspan=0” on Tables on WebKit (kar)505
html, tables, webkit, browser-engines, browsers
Toe Dipping Into View Transitions (geo/css)504
css, view-transitions
Web Accessibility Lawsuit Moves Forward Against the State of Louisiana (lfl)503
accessibility, legal, ada
UX Is Dead, Long Live UX (nng)502
user-experience, ai, economics
Everything You Need to Know About Invoker Commands (kei/web)501
videos, html, pop-overs
Why We Ditched Next.js and Never Looked Back (tdj)500
nextjs
A Guide to AI Prototyping for Product Designers499
guides, design, prototyping, ai, product-management
Introduction to Frontend Development498
introductions, html, css, javascript, frameworks, libraries, tooling, career, trends
10 Open-Source Documentation Frameworks to Check Out497
foss, documentation, tooling, link-lists, zola
“ruby-align” Is Baseline Newly Available496
ruby-markup, html, css, browsers, support, web-platform
The Effort Paradox in AI Design495
design, product-management, history
Debugging CSS Anchor Positioning (tab+/odd)494
videos, interviews, css, anchor-positioning, debugging
Digital Accessibility and the Cost of Exclusion (deq)493
accessibility, economics, ethics
Intro to Datastar (and Craft CMS) (cra)492
videos, introductions, tooling
TC39 Advances 3 Proposals to Stage 4: RegExp Escaping, Float16Array, and Redeclarable Global Eval Vars (sar/soc)491
standards, ecmascript, javascript, regex, escaping, arrays, math
Google Just Confirmed the AI Reality Many Programmers Are Desperately Trying to Deny (tar)490
programming, ai, productivity, google, github-copilot, code-editors, cursor
What I Wish I Knew as a Junior Developer (cod)489
career, lessons
3 Best Practices for Multi-Language Support in Frontend Development (ele/des)488
guest-posts, internationalization, localization, automation, ai
10 Practical Bash Commands to Simplify Complex Tasks (ski)487
shells, command-line, productivity
20 Years of AJAX: The Technology That Revolutionized Web Development486
ajax, javascript, history, data-fetching
Breakpoint-Free CSS Grid Layouts (kev)485
videos, css, grids, layout, functions
Documenting Web Components With Storybook484
documentation, design-systems, web-components, storybook, examples
Human-Centered Design Through AI-Assisted Usability Testing: Reality or Fiction? (sma)483
design, usability, testing, ai
Why You Shouldn’t Use AI to Write Documentation (lur/zer)482
documentation, writing, ai
Flutter Is at a Critical Inflection Point481
flutter
Demystifying MIME Types: Basics, Use Cases, Best Practices (mar)480
guest-posts, mime-types, fundamentals, best-practices, performance, servers, apache, nginx, email
Tracing of Node.js for Better Visibility and Performance With N|Solid (nod)479
nodejs, tracing, tooling, nsolid
CSS-Only Syntax Highlighting (aar)478
css, syntax-highlighting
A Color Input That Also Shows the Value (chr/fro)477
forms, colors, web-components
AI Killed the Tech Interview. Now What?476
interviewing, hiring, ai, career, outlooks
Basic Design Patterns475
software-design, software-design-patterns
CDEs Aren’t Just for Developers: How QA, Tech Writers, and Designers Benefit Too (jet)474
code-editors, jetbrains, case-studies
Decoding CSS Selectors: “:has(:not)” vs. “:not(:has)” (pol)473
css, selectors, comparisons
ESLint Now Officially Supports Linting of CSS (nza/esl)472
eslint, css, linting
How OWASP Helps You Secure Your Full-Stack Web Applications (eri/sma)471
security, owasp, monitoring, authentication, vulnerabilities, configuration, csrf, cryptography, authorization
Navigating the Web Platform (pat)470
web-platform, documentation, browsers, standards, link-lists, cheat-sheets
These (Still) Aren’t the SCs You’re Looking For (pat)469
videos, wcag, accessibility, compliance
TypeScript in a Node.js Project (rwi)468
typescript, nodejs, configuration
CSS “@function” + CSS “if()” = 🤯 (bra)467
css, functions, conditionals, custom-properties, dark-mode
Meeting European Accessibility Act (EAA) Standards: A Developer’s Checklist466
accessibility, checklists, eaa, legal
Tim Frick on Web Sustainability and Building a Greener Digital World465
interviews, design, content, hosting, sustainability
How I Review Design Work (ted)464
design, consistency, creativity, complexity, processes
A Really (Really) Long but Authentic History of Design Evolution in India463
design, culture, history
Static vs. Dynamic Content: Which Should Developers Favor?462
content, client-side-rendering, server-side-rendering, performance, frameworks, comparisons
CSS-Only Click Handlers You Might Not Be Using, but You Should461
css, selectors
10 Awesome CSS Text Effects for Your Next Project (pau)460
css, effects, code-pens
Aspect Ratio Changes With CSS View Transitions (jim)459
css, view-transitions, aspect-ratio
How to Build a Design System? Rolling It Out and Driving Adoption458
how-tos, design-systems, advocacy
React Libraries for 2025 (rwi)457
react, libraries, tooling, link-lists
Rethinking Find-in-Page Accessibility: Making Hidden Text Work for Everyone (sch)456
accessibility, search, hiding, browsers, html
The “attr()” Function in CSS Now Supports Types (ami)455
css, functions, attributes, types
The Dark Side of UX: Lessons From OnlyFans’ Addictive Design (web)454
lessons, design, dark-patterns, ethics, user-experience, case-studies
The Difference Between Zoom and Scale (css)453
css, zooming, transforms, tips-and-tricks
Top Lawyers in 16 States Push Back on Anti-DEIA Executive Orders (lfl)452
dei, accessibility, legal
Accessible UX Design: 6 Advanced Techniques to Elevate Your Process (a11)451
design, user-experience, accessibility, principles, techniques, processes
It’s Right There in the Back of the Book (hom)450
accessibility, html, semantics
10 Common Web Development Mistakes to Avoid Right Now449
mistakes, mobile, performance, accessibility, seo, navigation, security, analytics, testing
Interaction Design Demands More Than Visual Creativity448
design, interaction-design, design-systems, creativity
Getting the Relationship Between UX Design and Business Strategy Right (uxm)447
design, user-experience, product-management, strategies, economics, collaboration, business-relations
Implementing a Dissolve Effect With Shaders and Particles in Three.js (cod)446
effects, threejs
Five Things AI Will Not Change (met)445
ai, outlooks
The New “withAttributes” Method for Relationships and Scopes in Laravel (ami)444
laravel, php
The “:not” Selector in Use (cit)443
css, selectors
How to Move the First Element to the End in JavaScript442
how-tos, javascript
Generic LLM Chatbot Attestation (aar)441
ai, bots, processes
Top 5 Uses of WebAssembly for Web Developers440
webassembly, performance, migrating, ecommerce, dev-tools
How to Use Chrome’s Developer Tools (mat/deb)439
how-tos, chrome, browsers, dev-tools
10 Secret Git Commands That Will Save You 5+ Hours Every Week438
git, command-line
Advice to New Engineering Managers (tre)437
engineering-management, leadership, culture
5 Ways to Increase the Quality of Your Design System Documentation436
design-systems, documentation, quality
Create Contextual Console Loggers (pat/dev)435
console, javascript, debugging, dev-tools, browsers, edge, chrome
Does WebPerf Matter to Your SEO Ranking? (tod/per)434
videos, performance, seo, keywords
How Do We Know What Components to Work On? (lur/zer)433
design-systems, components, prioritization
Love at First Slide! Creating a Carousel Purely Out of CSS (uti)432
css, scrolling, carousels, functionality
Rainbow Selection in CSS (chr/fro)431
css, selectors, effects
Sunsetting “Create React App” (mat+/rea)430
react
The Hardest Working Font in Manhattan (mwi)429
fonts, typography, history
Common Accessibility Challenges When Navigating Tables428
accessibility, tables, images, keyboard-navigation
The Great AI UI Unification (mgs)427
ai, usability, chatgpt
Comcast: A New Standard for Internet Energy Efficiency426
web, network, infrastructure, sustainability
We Were Wrong About GPUs (fly)425
cloud-computing, edge-computing, ai, docker, containerization, developer-experience
Don’t Start Testing Accessibility With a Screen Reader (eri)424
accessibility, testing, screen-readers, keyboard-navigation
How to Test and Measure Content in UX (vit/sma)423
how-tos, user-experience, design, content, testing, analytics
Interop 2025 (pat)422
interoperability, web-platform, browsers, support
Using the “step” and “pattern” Attributes to Make Number Inputs More Useful (cas/pic)421
html, forms
Which HTML Element Are You?420
quizzes, html
Launching Interop 2025 (moz)419
interoperability, web-platform, browsers, support
2025: 10 Free Must-Know Websites for Every Developer418
productivity, creativity, link-lists
When an Engineering Manager Marries a Product Manager: Planning, Roadmaps, and Bug Fixes (cod)417
engineering-management, product-management, career, collaboration, processes
Interop 2025: Another Year of Web Platform Improvements416
interoperability, web-platform, browsers, support
Faux Containers in CSS Grids (tyl/clo)415
css, grids, layout
Style Observer: JS to Observe CSS Property Changes, for Reals (lea)414
tooling, libraries, css, javascript
Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t)413
frameworks, javascript, html, conformance, comparisons, link-lists
Why Emojis Are the Ultimate User Interface (web)412
emoji, user-experience, design
Reimagining Fluid Typography (mia/odd)411
typography, css, responsive-design, liquid-design
State of AI 2025 (sac/dev)410
surveys, ai
Tech Continues to Be Political (mia)409
politics, community, dei, ethics, ai, career
Time to First Byte: Beyond Server Response Time (mat/sma)408
performance, optimization, redirecting, content-delivery
State of React 2024 [Results] (sac+/dev)407
surveys, metrics, react
How to Improve Webpage Speed: Tips and Best Practices406
how-tos, performance, optimization, tips-and-tricks, best-practices, redirecting, fonts, images, testing, tooling, webpagetest
Better Text Rendering in Chromium-Based Browsers on Windows (pat)405
typography, rendering, browser-engines, browsers, chromium, windows
How to Start a React Project (rwi)404
how-tos, react
Simplify Nested Code (kei)403
programming, nesting, conditionals, simplicity
The Mystery of Mutable Subresources in Signed Exchanges (paw)402
authentication, signed-exchanges, caching, ruby-on-rails, nextjs, compression, http-headers, http
Web Components Toolkit (stu)401
websites, web-components
“Create React App” Officially Deprecated Amid React 19 Compatibility Issues (sar/soc)400
react, vite, migrating, single-page-apps, deprecation
How to Refactor Code With GitHub Copilot399
how-tos, refactoring, ai, github-copilot, github
Don’t Put Your Team in a Bubble398
agile, scrum, product-management, engineering-management
12 Web Accessibility Tips to Make Your Site More User-Friendly397
accessibility, tips-and-tricks, contrast, alt-text, keyboard-navigation, navigation, captions, labels, skip-links, microcontent
Structuring Design Tokens for Interactive States396
design-tokens
Exploring Routes Rendering Modes in Angular (mai)395
angular, routing
How I Created a Popular WordPress Theme and Coined the Term “Hero Section” (Without Realizing It) (sma)394
wordpress, themes, terminology, history
Optimizing Images for Web Performance (tod/fro)393
images, performance, optimization, jpeg, png, webp, avif, html, caching
Organizing Design System Component Patterns With CSS Cascade Layers (mrt/css)392
design-systems, components, css, cascade
Website Accessibility Testing Methods That Work (a11)391
accessibility, testing, processes
Micro Frontends With Angular and Native Federation (man/ang)390
angular, micro-frontends
Microsoft Study Finds AI Makes Human Cognition “Atrophied and Unprepared” (ema/404)389
studies, research, microsoft, ai, career, learning
Engineers Who Won’t Commit (sea)388
career, processes
One Year of Using the Web With Web Fonts Disabled387
fonts, accessibility, readability
Designing Accessible Website Navigation: Best Practices for Inclusive UX386
accessibility, design, user-experience, navigation
Control Scope Creep Before It Controls You385
project-management, processes
How to Write Cypress Tests That Don’t Suck (ato)384
how-tos, testing, cypress
10 Must Read Microservices Architecture Books for Experienced Developers383
books, microservices, architecture
Designing for AI Engineers: UI Patterns You Need to Know (eve)382
design, design-patterns, principles, processes, ai
Think JavaScript Is Slow? Here’s How JIT (Just in Time) Compilation Makes It 100× Faster Instantly381
javascript, compiling, performance
How I Migrated From WordPress to Astro (its)380
migrating, wordpress, astro
Tightening Every Bolt (bag)379
videos, processes, code-reviews, testing, security
The First Ever Website That Literally Glows in the Dark378
videos, effects, apis, javascript, css
TypeScript: The “satisfies” Operator (rau)377
typescript, operators
Beware the Faux Bold (and How to Fix It) (ric)376
typography, fonts, css
Taking RWD to the Extreme (sma)375
responsive-design, intrinsic-design, html, css
Three Approaches to the “&” (Ampersand) Selector in CSS (pre/fro)374
css, nesting
Preload Fonts on Your Website for Better Core Web Vitals (deb)373
performance, preloading, fonts, hints, web-vitals
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra)372
css, javascript, view-transitions, performance
The Popover API Is Now Baseline Newly Available371
pop-overs, apis, browsers, support, web-platform
An Intro to React Compiler (nik)370
introductions, react, compiling
The Complete OpenCode Guide: Tips, Tricks, and Best Practices369
guides, tips-and-tricks, best-practices, opencode, ai
Here Is Why Microsoft’s “Uninstall Edge” Page Offers No Instructions to Remove the Browser368
edge, microsoft, browsers
Beyond DX: Developers Must Now Learn Agent Experience (AX)367
code-editors, ai, agent-experience, developer-experience
6 Questions for Eric Eggert (yat+/fro)366
interviews, accessibility, eaa, legal
63% of Websites Receive AI Traffic (New Study of 3,000 Sites) (lou/ahr)365
traffic, ai, metrics
GitHub Copilot Brings Mockups to Life by Generating Code From Images (web)364
github-copilot, ai, images, design
How to Build a Design System? Bridging the Gap Between Design and Development363
how-tos, design-systems, documentation
The Jetbrains Platform Gets a New Community Space (kle/jet)362
jetbrains, community
What I Learned From Migrating a Vue Project From Vuex to Pinia (mic/pic)361
migrating, vuejs, state-management, lessons
My Experience as a Designer Working at Bit360
design, career
Definition Layers Within Semantic Tokens (ikn)359
design-tokens, semantics
Which Rich Text Editor Framework Should You Choose in 2025? (aur/liv)358
tooling, comparisons, link-lists
How to Bring Structure and Clarity to Design System Components357
how-tos, design-systems, components, documentation, conventions, information-architecture
Read-Only Accessibility in TypeScript (rau)356
typescript
Activism Matters for Tech Development and #FOSS Paths (inf)355
foss, fediverse, sustainability, advocacy
How to Declare Your Page’s Language (pop)354
how-tos, html, internationalization
HTML and CSS for a One-Time Password Input (chr/fro)353
html, css, forms, passwords
Move on to ESM-Only (ant)352
esm, modules, nodejs, support, javascript, typescript
On Generative AI Security (sch)351
ai, security, lessons, microsoft
The Problem With Indirections (dan)350
programming, variables, functions, presentational-html, state-management
Using “at()” Method in JavaScript to Get the Last Item From an Array (ama)349
javascript, arrays
Some Terminal Frustrations (b0r)348
command-line, shells
Optimizing the Critical Rendering Path (mat/deb)347
performance, optimization, critical-path