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 that they be respected. Hide

Frontend Dogma

“2025” News Archive (6)

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