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

News and Tools for Web Developers, 1990s to Now (10)

→ Stay up-to-date on all topics by various RSS feeds (main feed with exclusive news: only $1/month), on Mastodon, and on Bluesky

Entry (Sources) and TopicsDate#
How to Use Chrome’s Developer Tools (mat/deb)17350
how-tos, chrome, google, browsers, dev-tools
How to Move the First Element to the End in JavaScript17349
how-tos, javascript
The “:not” Selector in Use (cit)17348
css, selectors
The New “withAttributes” Method for Relationships and Scopes in Laravel (ami)17347
laravel, php
Five Things AI Will Not Change (met)17346
ai, outlooks
5 Ways to Increase the Quality of Your Design System Documentation17345
design-systems, documentation, quality
Create Contextual Console Loggers (pat/dev)17344
console, javascript, debugging, dev-tools, browsers, edge, microsoft, chrome, google
Advice to New Engineering Managers (tre)17343
engineering-management, leadership, culture
10 Secret Git Commands That Will Save You 5+ Hours Every Week17342
git, command-line
Comcast: A New Standard for Internet Energy Efficiency17341
web, network, infrastructure, sustainability
We Were Wrong About GPUs (fly)17340
cloud-computing, edge-computing, ai, docker, containerization, developer-experience
The Hardest Working Font in Manhattan (mwi)17339
fonts, typography, history
The Great AI UI Unification (mgs)17338
ai, usability, chatgpt, openai
Sunsetting “Create React App” (mat+/rea)17337
react
Rainbow Selection in CSS (chr/fro)17336
css, selectors, effects
Love at First Slide! Creating a Carousel Purely Out of CSS (uti)17335
css, scrolling, carousels, functionality
How Do We Know What Components to Work On? (lur/zer)17334
design-systems, components, prioritization
Does WebPerf Matter to Your SEO Ranking? (tod/per)17333
videos, performance, seo, keywords
Common Accessibility Challenges When Navigating Tables17332
accessibility, tables, images, keyboard-navigation
Interop 2025: Another Year of Web Platform Improvements (rac)17331
interoperability, web-platform, browsers, support
When an Engineering Manager Marries a Product Manager: Planning, Roadmaps, and Bug Fixes (cod)17330
engineering-management, product-management, career, collaboration, processes
Launching Interop 2025 (moz)17329
interoperability, web-platform, browsers, support
Which HTML Element Are You?17328
quizzes, html
Using the “step” and “pattern” Attributes to Make Number Inputs More Useful (cas/pic)17327
html, forms
Interop 2025 (pat)17326
interoperability, web-platform, browsers, support
How to Test and Measure Content in UX (vit/sma)17325
how-tos, user-experience, design, content, testing, analytics
Don’t Start Testing Accessibility With a Screen Reader (eri)17324
accessibility, testing, screen-readers, keyboard-navigation
2025: 10 Free Must-Know Websites for Every Developer17323
productivity, creativity, link-lists
How to Improve Webpage Speed: Tips and Best Practices17322
how-tos, performance, optimization, tips-and-tricks, best-practices, redirecting, fonts, images, testing, tooling, webpagetest
State of React 2024 [Results] (sac+/dev)17321
surveys, metrics, react
Time to First Byte: Beyond Server Response Time (mat/sma)17320
performance, optimization, redirecting, content-delivery
Tech Continues to Be Political (mia)17319
politics, community, dei, ethics, ai, career
State of AI 2025 (sac/dev)17318
surveys, ai
Better Text Rendering in Chromium-Based Browsers on Windows (pat)17317
typography, rendering, browser-engines, browsers, chromium, windows, microsoft
Reimagining Fluid Typography (mia/odd)17316
typography, css, responsive-design, liquid-design
Why Emojis Are the Ultimate User Interface (web)17315
emoji, user-experience, design
Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t)17314
frameworks, javascript, html, conformance, comparisons, link-lists
Style Observer: JS to Observe CSS Property Changes, for Reals (lea)17313
tooling, libraries, css, javascript
Faux Containers in CSS Grids (tyl/clo)17312
css, grids, layout
Don’t Put Your Team in a Bubble17311
agile, scrum, product-management, engineering-management
How to Refactor Code With GitHub Copilot17310
how-tos, refactoring, ai, github-copilot, github
“Create React App” Officially Deprecated Amid React 19 Compatibility Issues (sar/soc)17309
react, vite, migrating, single-page-apps, deprecation
Web Components Toolkit (stu)17308
websites, web-components
The Mystery of Mutable Subresources in Signed Exchanges (paw)17307
authentication, signed-exchanges, caching, ruby-on-rails, nextjs, compression, http-headers, http
Structuring Design Tokens for Interactive States17306
design-tokens
Simplify Nested Code (kei)17305
programming, nesting, conditionals, simplicity
How to Start a React Project (rwi)17304
how-tos, react
12 Web Accessibility Tips to Make Your Site More User-Friendly17303
accessibility, tips-and-tricks, contrast, alt-text, keyboard-navigation, navigation, captions, labels, skip-links, microcontent
One Year of Using the Web With Web Fonts Disabled17302
fonts, accessibility, readability
Engineers Who Won’t Commit (sea)17301
career, processes
Microsoft Study Finds AI Makes Human Cognition “Atrophied and Unprepared” (ema/404)17300
studies, research, microsoft, ai, career, learning
Micro Frontends With Angular and Native Federation (man/ang)17299
angular, micro-frontends
Control Scope Creep Before It Controls You17298
project-management, processes
Website Accessibility Testing Methods That Work (a11)17297
accessibility, testing, processes
Organizing Design System Component Patterns With CSS Cascade Layers (mrt/css)17296
design-systems, components, css, cascade
Optimizing Images for Web Performance (tod/fro)17295
images, performance, optimization, jpeg, png, webp, avif, html, caching
How to Write Cypress Tests That Don’t Suck (ato)17294
how-tos, testing, cypress
How I Created a Popular WordPress Theme and Coined the Term “Hero Section” (Without Realizing It) (sma)17293
wordpress, themes, terminology, history
Exploring Routes Rendering Modes in Angular (mai)17292
angular, routing
Designing Accessible Website Navigation: Best Practices for Inclusive UX17291
accessibility, design, user-experience, navigation
Designing for AI Engineers: UI Patterns You Need to Know (eve)17290
design, design-patterns, principles, processes, ai
Think JavaScript Is Slow? Here’s How JIT (Just in Time) Compilation Makes It 100× Faster Instantly17289
javascript, compiling, performance
10 Must Read Microservices Architecture Books for Experienced Developers17288
books, microservices, architecture
The First Ever Website That Literally Glows in the Dark17287
videos, effects, apis, javascript, css
TypeScript: The “satisfies” Operator (rau)17286
typescript, operators
Tightening Every Bolt (bag)17285
videos, processes, code-reviews, testing, security
How I Migrated From WordPress to Astro (its)17284
migrating, wordpress, astro
Beyond DX: Developers Must Now Learn Agent Experience (AX)17283
code-editors, ai, agent-experience, developer-experience
Here Is Why Microsoft’s “Uninstall Edge” Page Offers No Instructions to Remove the Browser17282
edge, microsoft, browsers
The Complete OpenCode Guide: Tips, Tricks, and Best Practices17281
guides, tips-and-tricks, best-practices, opencode, ai
An Intro to React Compiler (nik)17280
introductions, react, compiling
The Popover API Is Now Baseline Newly Available17279
pop-overs, apis, browsers, support, web-platform
6 Questions for Eric Eggert (yat+/fro)17278
interviews, accessibility, eaa, legal
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra)17277
css, javascript, view-transitions, performance
Preload Fonts on Your Website for Better Core Web Vitals (deb)17276
performance, preloading, fonts, hints, web-vitals
Three Approaches to the “&” (Ampersand) Selector in CSS (pre/fro)17275
css, nesting
Taking RWD to the Extreme (sma)17274
responsive-design, intrinsic-design, html, css
Beware the Faux Bold (and How to Fix It) (ric)17273
typography, fonts, css
Which Rich Text Editor Framework Should You Choose in 2025? (aur/liv)17272
tooling, comparisons, link-lists
Definition Layers Within Semantic Tokens (ikn)17271
design-tokens, semantics
My Experience as a Designer Working at Bit17270
design, career
What I Learned From Migrating a Vue Project From Vuex to Pinia (mic/pic)17269
migrating, vuejs, state-management, lessons
The Jetbrains Platform Gets a New Community Space (kle/jet)17268
jetbrains, community
Read-Only Accessibility in TypeScript (rau)17267
typescript
How to Build a Design System? Bridging the Gap Between Design and Development17266
how-tos, design-systems, documentation
How to Bring Structure and Clarity to Design System Components17265
how-tos, design-systems, components, documentation, conventions, information-architecture
GitHub Copilot Brings Mockups to Life by Generating Code From Images (web)17264
github-copilot, ai, images, design
63% of Websites Receive AI Traffic (New Study of 3,000 Sites) (lou/ahr)17263
traffic, ai, metrics
DORA, SPACE, DevEx, DX Core 4 (j9t)17262
engineering-management, productivity, culture, metrics
Optimizing the Critical Rendering Path (mat/deb)17261
performance, optimization, critical-path
Some Terminal Frustrations (b0r)17260
command-line, shells
The State of PHP 2024 [Results] (jet)17259
surveys, metrics, php, laravel, wordpress, symfony, phpstorm, jetbrains, vs-code, microsoft, sublime-text, code-editors
Using “at()” Method in JavaScript to Get the Last Item From an Array (ama)17258
javascript, arrays
The Problem With Indirections (dan)17257
programming, variables, functions, presentational-html, state-management
On Generative AI Security (sch)17256
ai, security, lessons, microsoft
Move on to ESM-Only (ant)17255
esm, modules, nodejs, support, javascript, typescript
HTML and CSS for a One-Time Password Input (chr/fro)17254
html, css, forms, passwords
How to Declare Your Page’s Language (pop)17253
how-tos, html, internationalization
How to Build a Landing Page in 6 Easy Steps (sem)17252
how-tos, landing-pages
Activism Matters for Tech Development and #FOSS Paths (inf)17251
foss, fediverse, sustainability, advocacy
10 Digital Accessibility Mistakes to Avoid17250
accessibility, mistakes, alt-text, images, contrast, colors, keyboard-navigation, aria, semantics, headings, labels, forms, pop-ups, testing
Firefox 135 Launches With New Translation Languages, New Tab Layout, Security, and Privacy Improvements17249
firefox, mozilla, browsers
How to Gif (2025 Edition) (oll)17248
how-tos, images, multimedia, gif, png, webp, avif, jpeg-xl
Angular: The Documentary17247
videos, angularjs, angular, history
Alt Text Accessibility: Balancing AI and Human Oversight (tec+/equ)17246
podcasts, accessibility, images, multimedia, alt-text, ai, quality
How to Favicon in 2025: Three Files That Fit Most Needs (sit/evi)17245
how-tos, images, favicons
Introducing Fusion: Write PHP Inside Vue and React Components (eri/lar)17244
introductions, tooling, php, vuejs, react, components
How I Use LLMs as a Staff Engineer (sea)17243
ai, processes
Which VoiceOver? (aar)17242
accessibility, voiceover, screen-readers, unix-like, apple
Using Padding to Space an Input and Label (dar)17241
html, forms, labels, spacing, css
Understanding the Trade-Offs of Using Tailwind CSS (mon/mea)17240
tailwind, presentational-html, css
Tutorial: Publishing ESM-Based npm Packages With TypeScript (rau)17239
tutorials, dependencies, npm, typescript
The End of Programming as We Know It (tim/ore)17238
programming, processes, ai, career, history, outlooks
Reasons Not to Refactor (tho)17237
technical-debt, refactoring, processes, prioritization
Oracle Justified Its JavaScript Trademark With Node.js—Now It Wants That Ignored (tin/den)17236
oracle, javascript, nodejs, deno, legal
Live CSS Colors: What You Can Safely Use (jar/van)17235
css, colors, functions
Internet of Agents17234
web, agent-experience, ai
Integrations: From Simple Data Transfer to Modern Composable Architectures (edo/sma)17233
architecture, web-services, apis, rest, graphql, webhooks, headless, content-management
How I Learned to Code With My Voice (whi)17232
voice, code-editors, tooling
Build a Link Blog (xua)17231
blogging, links
A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl/clo)17230
html, forms, lists, css
Generating Image Descriptions and Alt-Text With AI (dri)17229
images, alt-text, accessibility, ai, quality
How to Perform Comprehensive ADA Testing (a11)17228
how-tos, testing, processes, ada, legal, compliance, accessibility
Typecasting and Viewport Transitions in CSS With “tan(atan2())” (mon/css)17227
css, transitions, animations, functions, math
There Are a Lot of Ways to Break Up Long Tasks in JavaScript (mac)17226
javascript, web-workers, performance
Smarter, Faster, Human: The Future of Design Systems With AI (uxm)17225
design-systems, ai, outlooks
Notes on the “Code Editors With AI” Landscape (chr/fro)17224
ai, code-editors, plugins, github-copilot, cursor, project-idx, google, jetbrains
Introducing the JSR Open Governance Board (tin+/den)17223
introductions, jsr, javascript, typescript, community
How to Manage Old Content on a News Website (moz)17222
how-tos, content, content-management, maintenance, prioritization, redirecting, seo
Fast and Smooth Third-Party Web Fonts (sco)17221
fonts, embed-code, performance, css, javascript
Extending the Cursor (kyl)17220
design, interaction-design, cursors, examples
Developer Philosophy (qnt)17219
technical-debt, refactoring, quality, processes
Compiling CSS With Vite and Lightning CSS (mrt/css)17218
css, compiling, vite, lightning-css
Change “font-weight” Based on the User’s Screen DPI17217
css, typography, pixel-density
AI and Accessibility: The Good, the Bad, and the Bollocks (tin/rem)17216
videos, accessibility, ai
The Paradox of UX Personalization17215
user-experience, personalization, ai
Combining “currentColor” With Relative Color Syntax (oll)17214
css, colors
The Systemic Failure of Implementing CSS Principles17213
css, principles, history, maintainability, consistency, modules, craft
Before You Buy an Accessibility Audit (cer)17212
accessibility, auditing, training, testing, culture
Demo: Running TypeScript Directly in Node.js (rau)17211
typescript, nodejs
CSS “scrollbar-color” and “scrollbar-gutter” Are Baseline Newly Available (bra)17210
css, scrolling, browsers, support, web-platform
React Is Just “document.createElement()” With Good Marketing, and I Can Prove It17209
react, typescript, tailwind
We Can’t Keep Simply Repeating This Mess (inf)17208
processes, sustainability
OKLCH, Explained for Designers17207
design, colors, oklch
How to Write a Good Design Document (gra)17206
how-tos, writing, documentation, software-design
AI Transparency Framework17205
ai, policies, processes
The Myth of “Fully Accessible” (sor)17204
accessibility, myths
The Politics of Accessibility17203
accessibility, history, advocacy, politics
Why Next.js Leads the Future of Web Development in 202517202
nextjs
Our Coding Obsession Is Pushing Kids Out of Tech17201
career
WCAG Colour Contrast: What Does the 4.5:1 Ratio Actually Mean? (the)17200
accessibility, wcag, contrast, colors
Understanding CORS Errors in Signed Exchanges (paw)17199
security, cors, errors, signed-exchanges
Microsoft Improves Text Contrast for All Windows Chromium Browsers (ser/ble)17198
contrast, colors, browsers, chromium, microsoft, windows
How to Set Up an Accessible Page Structure and Navigation (pop)17197
how-tos, accessibility, html, navigation
Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet)17196
fundamentals, forms, html, aria
Effective Steps for Conducting a Thorough ADA Audit (a11)17195
accessibility, processes, ada, legal, compliance, auditing
US Blocks Open Source “Help” From These Countries17194
foss
Accessibility Beyond Compliance: A Driver for Innovation and UX17193
accessibility, compliance, user-experience
The Internet Is Unusable (ste)17192
web, ai, monetization, user-experience, usability
XHTML in Modern Web Development (mar)17191
guest-posts, html, xhtml
Vite With TypeScript (rwi)17190
vite, migrating, javascript, typescript, configuration
The European Accessibility Act for Websites and Apps (mar)17189
accessibility, legal, eaa, overviews
On Diversity (aar)17188
dei
Is npm Enough? Why Startups Are Coming After This JavaScript Package Registry (kat/red)17187
npm, jsr, bun, pnpm, yarn, javascript
How I Use AI: Meet My Promptly Hired Model Intern (mit)17186
ai, programming, processes, tooling
Google Says “Links Matter Less”—We Looked at 1,000,000 SERPs to See if It’s True (ahr)17185
google, links, seo, metrics
CSS Nesting: Use With Caution (bel/pic)17184
css, nesting
Making Good on the Promise of Open Source AI17183
ai, foss
New to the Web Platform in January (rac)17182
release-notes, web-platform, browsers, firefox, mozilla, chrome, google, safari, apple
The 2025 Frontend Dogma Survey (fro)17181
frontend-dogma, surveys
How Data Structures Organize the Chaos of Modern Apps (yan/cod)17180
overviews, data-structures, arrays, caching
How to Determine if You Are Ready for a Leadership Position? (cod)17179
how-tos, career, leadership
Transitioning Top-Layer Entries and the Display Property in CSS (uti/sma)17178
css, animations, transitions, techniques, effects
On Building AI Understanding and Automation Muscle (With 18 Random Problems Solved With AI) (j9t)17177
ai, automation, examples
Mapped Types in TypeScript (ama)17176
typescript, types
Keep Your Node.js Apps Secure With “npx is-my-node-vulnerable” (tre)17175
packages, npm, nodejs, security
How to Set WebGL Shader Colors With CSS and JavaScript (nma)17174
how-tos, webgl, css, javascript
Here’s Why Your Anchor Positioning Isn’t Working (jam/odd)17173
css, anchor-positioning
Computing With Tuples in TypeScript (rau)17172
typescript, arrays
A Modern Node.js and TypeScript Setup for 202517171
nodejs, typescript, configuration
Why Teams Are Ditching DynamoDB17170
dynamodb, databases, aws
The Era of Agent Experience (AX) (jav)17169
agent-experience
Intro to Wasm in Deno (dsh/den)17168
introductions, webassembly, deno
Considerations for Making a Tree View Component Accessible (eri)17167
components, accessibility, keyboard-navigation, aria, case-studies
Dynamic Focus Zoom Effect With CSS “@property”17166
css, effects
What Text Area Popovers Taught Me About Browser APIs (bla)17165
html, forms, apis, javascript
The DOJ Provides Practical Guidance on How to Implement a Digital Accessibility Program17164
how-tos, accessibility, processes, prioritization
Svelte 5 and the Future of Frameworks: A Chat With Rich Harris (ric+/sma)17163
interviews, svelte, frameworks, outlooks
Page Bloat Update: How Does Ever-Increasing Page Size Affect Your Business and Your Users? (tam/spe)17162
performance, trends, metrics, javascript, images, desktop, mobile
Introducing AX: Why Agent Experience Matters (bii)17161
introductions, agent-experience, ai
Getting Started With TYPO3 (typ)17160
videos, introductions, typo3, content-management
Differences Between ESLint and TypeScript (jos/esl)17159
eslint, typescript, comparisons, linting, type-safety, quality
Did the US Government Cancel Accessibility? (mic)17158
legal, accessibility, politics
Introducing Mentoss: The Fetch Mocker (nza)17157
introductions, data-fetching, tooling
Figma Branches Best Practices17156
design, figma, best-practices, collaboration, naming, processes
How Does a Compiler Work? (cod)17155
compiling, programming
Why Should You Read Tech Books in the 2025 AI Age17154
learning, career
The Mistakes of CSS (mon/css)17153
css, technical-debt
The European Accessibility Act 2025: An Internet for All17152
accessibility, legal, eaa
The Browser Back Button: Hero, Villain, or Outdated Relic? (web)17151
browsers, usability, user-experience
Revisiting CSS Multi-Column Layout (mal/css)17150
css, layout
Pure CSS Mixin for Displaying Values of Custom Properties (kiz)17149
css, mixins, custom-properties
My Failed Attempt to Shrink All npm Packages by 5% (eva)17148
npm, dependencies, compression
How to Use ARIA Alert Effectively (flo/a11)17147
how-tos, aria, accessibility, best-practices, examples
Full-Bleed Layout With Modern CSS (css/fro)17146
css, layout
Best Practices for EU Web Accessibility Compliance Monitoring (a11)17145
accessibility, compliance, eaa, legal, monitoring
AI-Generated Art Is Postmodern Art17144
ai, art
What Is Cloud Computing?17143
cloud-computing, concepts, aws, azure, gcp
Focus Styles and Programmatic Focus (oll)17142
css, focus, keyboard-navigation
Backlink-Free SEO: How to Rank Content Without Links17141
how-tos, seo, content, links, backlinks
How Long Is a Second in JavaScript? (iag)17140
javascript
Tailwind CSS Gets a “Ground-Up Rewrite” for Version 4.017139
tailwind
It’s Time for Design to Think Less and Feel More17138
design, creativity
AI Slop, Suspicion, and Writing Back17137
ai, slop
Your Clean Code Might Be Someone Else’s Technical Debt17136
technical-debt, principles, quality
State Management: Simplified for Front-End Developers17135
state-management, flutter, react, vuejs, best-practices
React.js vs. Next.js (bhu)17134
react, nextjs, comparisons, performance
How I Review Code as a Senior Developer for Better Results17133
processes, code-reviews, communication
You’re Overthinking Web Components (all)17132
web-components, javascript
The Modern Way to Write JavaScript Servers (mar)17131
javascript, nodejs, servers
Only One “<details>” Open at a Time (osv)17130
html, disclosure-widgets
Announcing the Web AI Acceleration Fund (add)17129
ai, monetization, chrome, google, browsers
Ensuring Excellence: Proven Strategies for Quality Vue.js Development17128
vuejs, best-practices, techniques
How to Build a CMS With React-Admin (thi/mar)17127
how-tos, content-management
The 4 Top IDEs for Developers in 2025 (ele/des)17126
guest-posts, code-editors, comparisons, vs-code, microsoft, intellij-idea, jetbrains, sublime-text
Why Are Big Tech Companies So Slow? (sea)17125
efficiency, productivity, complexity
10 Very Important Flutter Packages17124
flutter, dependencies
5 Microservices Design Patterns You Must Know in 202517123
microservices, software-design-patterns, link-lists
When DEI Fails: Is Diversity Just a Marketing Gimmick? (web)17122
dei
WCAG 3 a Change of Context (ste)17121
accessibility, wcag, terminology
TypeScript 5.8 Ships “--erasableSyntaxOnly” to Disable Enums (mat)17120
typescript
Section 508 Compliance: What You Need to Know17119
accessibility, compliance, section-508, legal
Positioning Text Around Elements With CSS Offset (pre/css)17118
css, effects
Node.js EOL Versions CVE Dubbed the “Worst CVE of the Year” by Security Experts (sar/soc)17117
nodejs, security, documentation
JavaScript Temporal Is Coming (bsm/mdn)17116
javascript, apis, time
How to Build a “Copy Code” Snippet Button and Why It Matters (whi)17115
how-tos, buttons, functionality, accessibility, developer-experience
How I Open-Sourced My Secret Access Tokens From GitHub, Slack, and npm—and Who Actually Cares17114
security, github, slack, npm
Designing for Clarity: How We Restructured Intercom’s Information Architecture17113
design, information-architecture, case-studies
Creating Accessibility Systems to Fix Accessibility Issues (vis/ass)17112
accessibility, processes, automation
Build It Yourself (mit)17111
dependencies, maintenance, maintainability, processes
We Need to Cut Down on Cloud Waste in 202517110
cloud-computing, sustainability
9 Design System Metrics That Matter17109
design-systems, metrics, user-experience, consistency, accessibility, maintenance, documentation, economics
When I Can Avoid It, I Don’t Manage Servers—My Experience With Google Cloud Run and AWS Fargate17108
serverless, gcp, aws
The Speed Trifecta: 11ty, Brotli 11, and CSS Fingerprinting (the)17107
performance, eleventy, brotli, compression, fingerprinting, caching, cloudflare
MPA View Transitions Deep Dive (bra+)17106
deep-dives, videos, css, view-transitions, multi-page-apps
Exploring AI, Web Development, and Accessibility in Tech With Stefan Judis (ste+/wea)17105
videos, interviewing, ai, javascript, runtimes, accessibility, screen-readers, craft
Cool URLs Don’t Change, Unless… (j9t)17104
urls, links, link-rot, redirecting
Build for the Web, Build on the Web, Build With the Web (css)17103
web-platform, processes
Why You Should Reconsider Your “Big Tech Job” in 202517102
career
Interop 2024 Brings More Features to Baseline (rac)17101
interoperability, web-platform, support, browsers
The Four Most Dangerous Words to People With Disabilities17100
accessibility, communication
Running Inference in Web Extensions (tar/moz)17099
firefox, mozilla, browsers, ai
Tailwind CSS v4.0 (ada/tai)17098
release-notes, tailwind
Scroll State Queries Are on the Way (and a Bunch More) (kev)17097
videos, css, selectors, container-queries, functions, scrolling
Creating an Angled Slider (zac/fro)17096
sliders, html, css, effects
Angular Clean Coding Fundamentals17095
fundamentals, principles, angular
The Vertical Bar (“|”) Is the Best HTML Page Title Separator (kyr)17094
spacing
So, You Want to Push a Web Platform Feature?17093
web-platform, standards, processes, community
Tuesday, January 21, 2025 Security Releases (raf/nod)17092
release-notes, nodejs, security
Things People Get Wrong About Electron (fel)17091
electron
New Capabilities for “attr()” (una)17090
css, functions
Navigating the Challenges of Modern Open-Source Authoring: Lessons Learned (alv/sma)17089
lessons, foss
Initial Load Performance for React Developers: Investigative Deep Dive (ade)17088
deep-dives, performance, react, web-vitals, metrics
ECMAScript Proposal: RegExp Escaping (rau)17087
ecmascript, regex, escaping
Avoiding “anys” With Linting and TypeScript (jos/tse)17086
typescript, linting
Is SEO Dead in 2025? No, but Changes Are Coming (sem)17085
seo, search, ai, google
On AI Doomerism (fla)17084
ai, career
Building High-Performing Remote Engineering Teams (hcr)17083
engineering-management, communication, collaboration
The Second Wave of AI Coding Is Here (wil/tec)17082
ai, economics
Simplify Lazy Loading With Intersection Observer’s “scrollMargin” (fro)17081
scrolling, apis, javascript, lazy-loading, performance
[NestJS] v11.0.017080
release-notes, nestjs
My Website Has Been Gaslighting You (dav)17079
css, javascript, colors, effects
Emotional Intelligence in AI-Driven UX Design (uxm)17078
user-experience, design, ai, personalization
Adding Dark Mode to My Site, Shaving Yaks, and Questioning My Sanity (hl)17077
dark-mode, maintenance, hugo
6 CSS Snippets Every Front-End Developer Should Know in 2025 (arg)17076
css, functions, custom-properties, transitions, animations, gradients, effects
Why Every Developer Should Fail (at Least Once)17075
career, learning
Breaking the Frontend Ceiling (max)17074
career, learning, link-lists
Fetch and HTTP/2 Support in Node.js, Bun, and Deno (dis)17073
data-fetching, http, support, nodejs, bun, deno
Opacify HEX Color in CSS (osv)17072
css, colors, functions
Moving on From React, a Year Later (kel)17071
migrating, react, stimulus, performance
Generating Test Values Using JavaScript Generators17070
typescript, javascript, functions, testing
2024 Year in Review (fuj+)17069
astro, retrospectives
What Is the Shared Storage API?17068
videos, browser-storage, apis, privacy
From React to Next.js: When and Why to Make the Switch17067
migrating, react, nextjs
Vitest 3.0 Is Out (vit)17066
release-notes, vitest
The Hidden Complexity of Scaling WebSockets (atu)17065
websockets, complexity, scalability
How to Structure Functions (cfe)17064
how-tos, functions, programming
Google Begins Requiring JavaScript for Google Search (kyl/tec)17063
google, javascript
Audio Description in Advertising (eri)17062
videos, accessibility, monetization, multimedia
SolidJS Creator on Confronting Web Framework Complexity17061
frameworks, angular, vuejs, multi-page-apps, single-page-apps, javascript, complexity, outlooks
Open Source Drives the Twelve-Factor Modernization Project17060
foss, architecture, principles
23 HTML Cheat Sheets, for a Different Look at HTML (fro)17059
html, cheat-sheets, link-lists
The Web Is a Creative Industry and Is Facing the Same Decline and Shattered Economics as Film, TV, or Publishing (bal)17058
web, economics, creativity, career
Postgres vs. MySQL17057
postgresql, mysql, databases, comparisons
Polypane 23 (pol)17056
release-notes, polypane, browsers
My 18-Months Rule for Open-Source Contributions (j9t)17055
foss, collaboration, communication, community
Interoperable Tokens (don)17054
design-systems, design-tokens, sass, jsx
Don’t Wrap Figure in a Link (aar)17053
html, links, screen-readers, accessibility
You Might Not Have a Web Performance Problem (mat/deb)17052
performance, web-vitals, lighthouse, google, seo, link-lists
What Is [the] TCP/IP Model and How Does the Protocol Work17051
protocols, tcp, ip, network
CSS “attr()” Gets an Upgrade (bra)17050
css, functions
CSS “scroll-state()” (arg)17049
css, container-queries, scrolling, examples
FastHTML and Heroku17048
web-apps, fasthtml, heroku
The Future of AI-Assisted Design Systems: Predictions and Use Cases17047
design-systems, ai, outlooks
Creating Generative Artwork With Three.js (cod)17046
design, grids, art, threejs
The Optimization That Made Everything Slower17045
complexity, optimization, technical-debt
What Is a Callback Function? (cfe)17044
javascript, callbacks, functions
Using SVGs on Canvas With Compose Multiplatform (eev)17043
canvas, svg, images, javascript
User Research Myths (jon)17042
user-experience, usability, research, myths
The Usability Myth: Users Don’t Really Know What They Want (and That’s Totally OK) (web)17041
usability, user-experience, myths
The 2025 State of AI Development17040
surveys, ai
On Certification (mar)17039
accessibility, career, training
Making “this” Less Annoying (dav)17038
javascript, formatting, configuration
Learning HTML Is the Best Investment I Ever Did (cod)17037
html, learning, career
JavaScript’s “Promise.race” and “Promise.all” Are Not “Fair” (chr)17036
javascript, promises
How Fingerprinting Can Improve Your Website’s Performance17035
performance, caching, fingerprinting, optimization
Drupal CMS 1.0 Released (dri)17034
release-notes, drupal
A Checklist for Your tsconfig.json (rau)17033
typescript, configuration, checklists
APIs Are Quickly Becoming the Latest Security Battleground (and Nightmare)17032
apis, security
[Accessibility Personas]17031
accessibility, personas
Data Structures and Algorithms (DSA): A Complete Tutorial17030
data-structures, algorithms, tutorials
CSS “text-box-trim” (arg)17029
css, typography
Troubles With Multipart Form Data and Fetch in Node.js (phi)17028
nodejs, data-fetching
Top Pens of 2024 on CodePen (cod)17027
codepen, code-pens, link-lists, retrospectives
The Success of Interop 2024 (jen/web)17026
interoperability, web-platform, browsers, support
Release Notes for Safari Technology Preview 211 (jon/web)17025
release-notes, safari, apple, browsers
Open Props UI17024
css, components, props
Justified Text: Better Than Expected? (tyl/clo)17023
css, typography
How I Write Angular Apps in 2025: Tools, Tips, Techniques (rai)17022
videos, angular, tooling, tips-and-tricks, techniques
Hiring Is the Billion Dollar Problem to Solve in 2025 (joe)17021
hiring, ai
CSS Wishlist for 2025 (chr/fro)17020
css, wish-lists
Angular Team Unveils Strategy for 2025 (inf)17019
angular, strategies
Advancing Accessibility: Strategies for Continuous Improvement (seg/equ)17018
accessibility, strategies, processes, culture
ADA Title II: Top 20 Questions Answered (gwi/deq)17017
accessibility, ada, legal, wcag
Evolving GitHub Issues (Public Preview)17016
github, project-management
To Get to the Internet, You Need a Steam Shovel (res)17015
web, history
Revealed: React’s Experimental Animations API (cit)17014
react, animations, transitions, apis
Prefetching Subresources With Signed Exchanges (paw)17013
performance, caching, hints, signed-exchanges, optimization
Introduction to Docker: Core Concepts17012
introductions, concepts, docker, containerization, command-line
How to Wait for the “sibling-count()” and “sibling-index()” Functions (mon/css)17011
how-tos, css, functions, selectors
Everything You Need to Know About Node.js Type Stripping (sat)17010
nodejs, typescript
Container Queries Unleashed (jos)17009
css, container-queries
A11y 101: 1.3.1 Info and Relationships (nat)17008
introductions, accessibility, wcag
9 GitHub Projects That Surprised Me (che)17007
foss, tooling, link-lists
CDN-First Is No Longer a Performance Feature (osv)17006
content-delivery, performance, caching, embed-code, privacy, security
Alternatives to htmx (htm)17005
tooling, alpinejs, hotwire, jquery, link-lists
What’s Involved in Getting a “Modern” Terminal Setup? (b0r)17004
shells, command-line, customization, configuration
Taking a Look at Compression Algorithms17003
compression, algorithms, gzip
WordPress Is in Trouble (gav)17002
automattic, wordpress, wp-engine, community
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)17001
javascript, hashing, performance, comparisons, bun, nodejs
HTML Developers: Please Consider—in the Year of 2025 (ste)17000
html, aria, accessibility
Accessibility of Emojis for List Bullets—Potential Issues (cer)16999
accessibility, emoji, lists, screen-readers, pronunciation
Code Quality Becomes Even More Vital in the AI Era16998
ai, quality, automation
Meta and Spotify’s AI Takeover: Is This the End of Human-Created Content?16997
facebook+meta, ai, content, economics
How to Conduct Accessibility Testing With Screen Readers16996
how-tos, accessibility, testing, screen-readers, assistive-tech
Tech Jobs Radar16995
websites, career, hiring
Creating Successful Design System OKRs That Drive Adoption16994
design-systems, okr, processes
How to Fix Washed Out Colors in Google Chrome Screenshots for Clear and Accurate Images16993
how-tos, screenshots, images, colors, chrome, google, browsers
Your First Component (don)16992
components, design-systems
Updates to the Customizable Select API (una)16991
apis, forms
Should Accordions Auto-Close Sections? (ash)16990
accordions, usability
Oracle Refuses to Yield JavaScript Trademark, Deno Land Says (inf)16989
javascript, oracle, deno, legal
Mastering Angular Unit Testing: Best Practices and Tools (pla)16988
angular, testing, tooling, best-practices
ECMAScript Feature: Regular Expression Pattern Modifiers (rau)16987
ecmascript, regex
Can AI Be Used as an Accessibility Testing Partner? (tho)16986
ai, accessibility, testing, tooling, comparisons
All JavaScript Keyboard Shortcut Libraries Are Broken16985
javascript, libraries, keyboard-shortcuts
Yeoman’s Next Chapter Maintenance Reboot (uli+)16984
yeoman
A New Chapter for Express.js: Triumphs of 2024 and an Ambitious 2025 (exp)16983
express, retrospectives, outlooks
Clean Up HTML Content for Retrieval-Augmented Generation With Readability.js (phi/dat)16982
html, scraping, tooling, nodejs, rag
Building Design Consistency: A Deep Dive Into Figma Variables at JW Player16981
deep-dives, design, design-systems, design-tokens, consistency, figma, variables, case-studies
What Is Website Traffic? And a Quick Guide on Tracking It (sem)16980
how-tos, traffic, analytics, google, tooling
Tight Mode: Why Browsers Produce Different Performance Results (geo/sma)16979
browsers, performance, chrome, google, safari, apple, comparisons
The “:empty” Pseudo-Class in CSS (cfe)16978
css, selectors
Running Animations Without Keyframes (css)16977
css, animations, tips-and-tricks
Prescriptive and Descriptive Information Architectures (jar)16976
information-architecture, concepts
Let’s Standardize Async CSS (sco)16975
css, asynchronicity
ECMAScript Feature: Import Attributes (rau)16974
ecmascript
Creating Better Pull Requests (bel)16973
version-control, code-reviews, documentation, collaboration
Automated and Manual Accessibility Testing Work Best Together (pop)16972
accessibility, testing, comparisons
“aria-description” Does Not Translate (aar)16971
accessibility, aria, browsers, localization
Accessibility Always a Focus in Drupal16970
interviews, accessibility, drupal
A Couple CSS Tricks for HTML Dialog Elements (cas)16969
css, modals, tips-and-tricks
10 Backend Terms Every Frontend Developer Should Know16968
terminology, concepts, architecture, performance
5 Technical JavaScript Trends You Need to Know About in 202516967
javascript, trends, architecture, serverless, webassembly, state-management, typescript, type-safety, micro-frontends
Exploring Modern JavaScript Compilers: Why Oxc Matters for the Developer Community (hac)16966
oxc, javascript, compiling, tooling
Eleventy, 2024 in Review (zac/11t)16965
eleventy, retrospectives
8 Modern Dev Tools to 100× Your Productivity (let)16964
productivity, tooling, link-lists
Sharing a Variable Across HTML, CSS, and JavaScript (chr/fro)16963
variables, html, css, javascript
Remove the “direction” Property on Your Arrow Icons (ali)16962
icons, images, microcontent
Node’s New Built-In Support for TypeScript (rau)16961
nodejs, typescript, configuration
Lesser Known Uses of Better Known Attributes (sma)16960
html, attributes
Getting All Comments From a Given User on a GitHub Discussion (www)16959
github, graphql
CSS Wish List 2025 (mey)16958
css, wish-lists
What Is the Definition of Done?16957
agile, scrum, documentation
Top PHP Alternative for Web Development?16956
php, javascript, java, python, ruby, go, rust
Top React Best Practices in 202516955
react, best-practices
Reckoning: Frontend’s Lost Decade (sli/per)16954
videos, javascript, performance, web-platform
33 Anti-Patterns That Transform Product Managers Into Backlog Managers (d-p)16953
product-management, anti-patterns, processes, agile
Progressive Enhancement Brings Everyone In (jay)16952
progressive-enhancement, history, javascript, advocacy, link-lists
pnpm 10 (pnp)16951
release-notes, pnpm
How to Design for High-Traffic Events and Prevent Your Website From Crashing (sma)16950
how-tos, traffic, hosting, scalability, content-delivery, caching, compression, testing
Double-Keyed Caching: How Browser Cache Partitioning Changed the Web (add)16949
browsers, caching, dependencies, network, content-delivery, performance
An Overview of the 50 Highest-Ranking Web Design and Development Glossaries (j9t)16948
overviews, comparisons, terminology, concepts, link-lists
Accessibility Essentials Every Front-End Developer Should Know (mar)16947
accessibility, fundamentals, html, semantics, forms, keyboard-navigation, modals, alt-text, focus, responsive-design, reduced-motion, aria
2024 JavaScript Rising Stars16946
javascript, frameworks, libraries, react, vuejs, tooling, mobile, desktop, state-management, ai, css-in-js, testing, graphql, retrospectives
1-Billion Row Challenge With Node.js16945
nodejs, performance
Open Source in 2025: What Will Matter Most This Year?16944
foss, sustainability
HTML Is Actually a Programming Language—Fight Me (tim/wir)16943
html, programming
What’s Actually Happening With JS Frameworks16942
videos, javascript, frameworks, trends
Use “translate” to Turn Off Element Translations (ste)16941
html, localization
The Difference Between HTML Attributes and Properties (pau/clo)16940
html, attributes, javascript, terminology
Relatively New Things You Should Know About HTML Heading Into 2025 (chr/fro)16939
html, forms, toggles, pop-overs, javascript, import-maps, css, transitions
Quick Note: Limit Use of “Logo” in Alt Text (nat)16938
accessibility, images, logos, alt-text, microcontent
JavaScript Frameworks—Heading Into 2025 (rya/thi)16937
javascript, frameworks, performance, complexity, maintainability
How to Order Attributes on HTML Elements16936
how-tos, html, attributes, sorting, conventions
How to Find All Existing and Archived URLs on a Website (tca/moz)16935
how-tos, urls, seo, sitemaps, tooling
Brief Note on Figure and Figcaption Support (aar)16934
html, accessibility, screen-readers, support
A Day in the Life of a Software Engineer in 2025 (rak)16933
career, programming
The Secret to Building Highly Responsive Systems16932
videos, architecture, software-design, performance, scalability
Top 6 Must Try Frontend Libraries for All Developers16931
libraries, tooling, link-lists
Scrum vs. Extreme Programming: Was XP Right All Along?16930
processes, agile, scrum
How to Scrape Web Content for RAG With Readability.js (phi/dat)16929
videos, how-tos, content, scraping, rag, ai
How to Become a Strong Software Architect16928
how-tos, architecture, career, learning
Updated Brief Note on Description List Support (aar)16927
html, lists, semantics, accessibility, screen-readers, support
This Is Not Your Last Job (chr)16926
career
Tech Stack 202516925
tech-stacks, react, remix, astro, zustand, tailwind, prisma, playwright, cloudflare
FTC Orders AI Accessibility Startup accessiBe to Pay $1M for Misleading Advertising (kyl/tec)16924
accessibility, legal, ai
Database Trends: A 2024 Review and a Look Ahead16923
databases, retrospectives, trends, outlooks
19 Cron Jobs for DevOps Engineers16922
dev-ops, cron, automation
I Became a Better Developer by Doing This One Thing (and It’s Not Coding)16921
career
What Is Google’s Navboost Algorithm? (sem)16920
google, search, seo
TypeScript Generics: A Complete Guide16919
guides, typescript, generics, examples
Refactoring a Web Performance Snippet for Security and Best Practice (the)16918
performance, javascript, metrics, refactoring
Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting (ros)16917
studies, research, privacy, css, fingerprinting
View Transitions Snippets: Getting All Animations Linked to a View Transition (bra)16916
javascript, css, view-transitions, apis
You Don’t Need Next.js16915
migrating, nextjs, react, metrics
The Future of htmx (ale/htm)16914
htmx, outlooks
The Cyber-Cleanse: Take Back Your Digital Footprint (cyb)16913
privacy, security
Designing Websites for Bad Performance (per)16912
performance, caching, web-workers, hints, optimization
Fabulous Font-Face Fallbacks (sto/per)16911
performance, css, fonts, typography
Breaking Up With Long Tasks or: How I Learned to Group Loops and Wield the Yield (rvi/per)16910
performance, javascript, loops
Kagi, Orion, and Gopher (geo)16909
orion, kagi, browsers
A Gentle Introduction to Using a Vector Database16908
introductions, databases, vector-databases, javascript, ai, openai
Do I Need This Node Dependency? (bri)16907
nodejs, dependencies
CSS Is Emotional: The Psychology of Specificity16906
css, cascade
Using DevTools to Validate Web Performance Improvements (nuc/per)16905
performance, dev-tools, browsers, chrome, google
The 20 Commandments of Software Engineering16904
principles, programming, complexity, documentation, commit-messages, code-reviews, dependencies, maintenance, collaboration
Your App Should Have Been a Website (and Probably Your Game Too)16903
mobile, native, web-apps, browsers, web-platform
TypeScript Without Build Tools (chr/fro)16902
typescript, monorepos, tooling, link-lists
Shallow Clones Versus Structured Clones (phi)16901
javascript
Page Weight (dws+/htt)16900
web-almanac, studies, research, metrics, performance, storage, web-vitals
December 2024 Google Core Update (mor/sem)16899
google, search
Consistency Means Nothing (pjo)16898
consistency
5 Reasons Your Direct Traffic Can Suddenly Drop (moz)16897
traffic, analytics
After Rome Failure, VoidZero Is the Newest Attempt to Create Unified JavaScript Toolchain (inf)16896
voidzero, javascript, tooling
Why Metrics Cannot Measure Software Development16895
programming, metrics, efficiency, productivity
Using Iframes to Embed Arbitrary Content Is Probably a Bad Idea (tem)16894
iframes, embed-code, keyboard-navigation, scrolling, screen-readers, accessibility
The Must-Have SEO Checklist for Developers for 202516893
seo, checklists, metadata, urls, performance
Media (ste+/htt)16892
web-almanac, studies, research, metrics, multimedia, images, html
Datalists Are More Powerful Than You Think (two/mat)16891
html
The Ultimate Tech Stack for Startups in 202516890
tech-stacks, nextjs, tooling
Improve Accessibility of User Authentication (cer)16889
accessibility, authentication, forms, labels, validation
CSS: How to Indicate Container Overflow, When There Is Overflow (j9t)16888
how-tos, css, overflow, techniques
Boost Website Speed With Prefetching and the Speculation Rules API (sch/mat)16887
performance, hints, speculation, apis
AI Needs So Much Power, It’s Making Yours Worse16886
ai
URLs and Percent Encoding16885
urls, encoding
My Favorite Web Performance Graphs of the Year (fab/per)16884
performance, metrics, visualization
Is It “Frontend” or “Front-End” or “Front End”? (mar)16883
guest-posts, terminology
Linux Commands and Concepts Every Developer Should Know16882
unix-like, command-line
Why Heading Order Matters in HTML (gra)16881
html, headings, accessibility
“text-box” (fon)16880
css, typography, spacing
Principles of Web Accessibility (hey)16879
accessibility, principles
Node.js Now Supports TypeScript by Default (mat)16878
nodejs, typescript, support
Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers (ale/mat)16877
html, buttons, icons, images, accessibility, screen-readers
Don’t Let Your Redesign Ruin Performance: A Case Study (mac/per)16876
performance, redesigning, case-studies
The Underrated “<dl>” Element (luh/mat)16875
html, lists
Nothing Moves16874
design, animations
Baseline Data Choices (chr/fro)16873
browsers, support, progressive-enhancement
Correlation or Causation: How Web Performance Proves Its Value (per)16872
performance, testing, metrics
Preloading Fonts for Web Performance With “link rel=preload” (acc/mat)16871
performance, preloading, fonts, html, hints
Caching Optimizations16870
json, caching, optimization, performance
The Curious (Performance) Case of CSS “@import” (erw/per)16869
performance, css, history
Crawling December: CDNs and Crawling (gee+)16868
seo, crawling, content-delivery
Concurrency vs. Parallelism16867
programming, concurrency, concepts, comparisons
The Search Input: They Almost Got It Right (stv/mat)16866
html, forms, labels, screen-readers, assistive-tech, accessibility
CSS “margin-trim” and Line Height Units (jen/5t3)16865
css, margins, typography, units
Relearning Dart16864
dart, flutter
Why Are We So Rubbish at Accessibility? (car)16863
accessibility, craft, culture
The Devil Is in the “<details>” (mat)16862
html, disclosure-widgets
The Design Leader Dilemma (boa/sma)16861
design, leadership, principles, policies, prioritization
JavaScript Benchmarking Is a Mess16860
javascript, performance
How to Use Baseline Data (rac/5t3)16859
how-tos, web-platform, browsers, support, documentation
CSS Wants to Be a System (dav)16858
css
A CSS Wishlist for 2025 (mon/css)16857
css, wish-lists
15 Principles for Secure Programming (rak)16856
security, principles, validation, testing
Accessibility First: How to Design Inclusive Frontend Experiences16855
how-tos, design, accessibility, html, semantics, alt-text, keyboard-navigation, aria, contrast, forms, focus
Mastering npm Scripts: Automate Everything in Your Frontend Workflow16854
npm, dependencies, environments, ci-cd, automation
Create Stunning Dashboards With ReactJS: Step-By-Step Guide16853
guides, react, visualization
AWS S3 Deep Dive16852
deep-dives, aws, s3, storage
Build Your Own Site Speed Testing Tool With Puppeteer (per)16851
performance, testing, puppeteer