Life is about deciding who you are: Join us and decide to be for environmental protection, free education and generous social security, human rights and international law, and, of course, action against oppression and violence (starting with helping the people of occupied Palestine 🇵🇸)! Hide

Frontend Dogma

News and Tools for Web Developers, 1990s to Now

Updated daily

Featured on Frontend Dogma? Help us help you, and whitelist your domain!

Articles and videos and books, people and projects and processes, tools and tips and tricks from the world of web development and design.

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

Entry (Sources) and TopicsDate#
EU-Funded AI Systems “Exacerbate” Human Rights Violations in the Arab Region (the)20,319
ai, ethics
There Is No “Wrong” in CSS (j9t)20,318
css
The Perfect CSS Stylesheet Should Be… (alv)20,317
css
4 Reasons That Make Tailwind Great for Building Layouts (zel/css)20,316
tailwind, layout
SVG Favicons That Respect Theme Preference (paw)20,315
svg, favicons, images, dark-mode
How Can Governments Pay Open Source Maintainers? (ede)20,314
foss, economics
What Is Content Decay? (And How to Fix It Before It Tanks Your Traffic) (lou/ahr)20,313
how-tos, content, maintenance, seo
Supply-Chain Attack Using Invisible Code Hits GitHub and Other Repositories (dan/ars)20,312
security, github, dependencies
The Emerging AI Agents War20,311
ai-agents, ai, scraping, amazon, ecommerce
Avoiding “z-index” (don)20,310
css, positioning
The Dark Side of AI No One Talks About (jam/moz)20,309
ai, seo, robotstxt
Useful CSS Properties That Don’t Get Enough Attention (kev)20,308
videos, css
Abusing Customizable Selects (pat/css)20,307
forms, html, css, functions
AI Productivity Gains Are 10%, Not 10×20,306
ai, productivity, studies, research, metrics
Nominal Types in WebAssembly (win)20,305
webassembly, types
Source Maps: Shipping Features Through Standards (jon/blo)20,304
source-maps, javascript
What’s New in DevTools (Chrome 146) (mat/dev)20,303
release-notes, dev-tools, chrome, google, browsers
Building Dynamic Forms in React and Next.js (sma)20,302
forms, react, nextjs, javascript
Amazon Calls Engineers for a “Deep Dive” Internal Meeting to Discuss “GenAI”-Related Outages (the)20,301
amazon, aws, ai, quality
How Much Do Keywords Matter in 2026? (moz)20,300
keywords, seo, search, google
Persuasive Design: Ten Years Later (sma)20,299
design, hci, retrospectives
The Value of “z-index” (ami/css)20,298
css, positioning
View Transitions Can Swoop‽ (arg)20,297
css, view-transitions, effects
Accessibility and AI Agents20,296
accessibility, ai-agents, ai
Statistical Significance Isn’t the Same as Practical Significance (nng)20,295
concepts, user-experience
How Internet Sovereignty Is Reshaping Company Tech Stacks20,294
web, tech-stacks
What Are Secondary Keywords? (And How to Use Them) (ahr)20,293
how-tos, keywords, seo
Hardening Firefox With Anthropic’s Red Team (moz)20,292
firefox, mozilla, browsers, ai, anthropic
The Real Skill in Programming Is Debugging—Everything Else Is Copy–Paste20,291
programming, debugging
You Don’t Know HTML Tables20,290
html, tables, javascript
Labor Market Impacts of AI: A New Measure and Early Evidence (ant)20,289
ai, studies, research, metrics
AdonisJS 7 Transformers: A Deep Dive (mez)20,288
deep-dives, adonisjs, type-safety
Product Ethics Have Never Mattered More (uxd)20,287
product-management, ethics, ai, anthropic, openai, link-lists
Request for Developer Feedback: “focusgroup” (jac/dev)20,286
html, attributes, chromium, browsers
A GitHub Issue Title Compromised 4,000 Developer Machines20,285
security, github, ai
One CSS Property That Makes Numbers Look Instantly Better (ami)20,284
css
The Different Ways to Select “<html>” in CSS (dxn/css)20,283
html, css, selectors
[SolidJS] v2.0.0 Beta—the “<suspense>” Is Over Pre-Release (rya/sol)20,282
release-notes, solidjs
“display: green;”—Applying the Web Sustainability Guidelines (hdv/per)20,281
videos, sustainability
How to Steal npm Publish Tokens by Opening GitHub Issues (nec)20,280
npm, github, security, ai
Building a New Flash20,279
flash, tooling
Big Tech’s War on Democracy20,278
ai, anthropic
Announcing the Node.js LTS Upgrade and Modernization Program (ope)20,277
nodejs
Date Math in Javascript: The Hidden Trap You’ll Eventually Hit (phi/hac)20,276
javascript, time, math, apis
Nobody Gets Promoted for Simplicity (ter)20,275
simplicity, complexity, career
W3C Accessibility Guidelines (WCAG) 3.0 (ala+/w3c)20,274
w3c, accessibility, guidelines, wcag
OpenAI Alters Deal With Pentagon as Critics Sound Alarm Over Surveillance (kev+/nbc)20,273
ai, openai, privacy, legal
What I Like About WCAG 3.0 (kar)20,272
accessibility, wcag
Eleventy Is Now Build Awesome (zac/11t)20,271
eleventy
Proxying Fetch Requests in Server-Side JavaScript (nza)20,270
javascript, data-fetching, nodejs, deno, bun, cloudflare
Seven Years to TypeScript: Migrating 11,000 Files at Patreon20,269
migrating, javascript, typescript, case-studies
Finding an Accessibility-First Culture in npmx (abb/pic)20,268
accessibility, culture
Get Features Faster With Chrome’s Two-Week Release Cycle (dev)20,267
chrome, google, browsers
1995: From Batman Forever’s Cinematic Design to HTML Tables (ric)20,266
web, history, design, netscape, mosaic, browsers, tables, layout, html, wysiwyg, code-editors
Google’s Chrome Browser Moves to a Two-Week Release Cycle (fre/the)20,265
chrome, google, browsers
Getting Started With the Popover API (sma)20,264
introductions, pop-overs, tooltips, apis, javascript
Microsoft Banned the Word “Microslop” in Its Copilot Discord Server, Then Began Restricting Access After Users Started Posting “Microsl0p” and Other Funnies (pcg)20,263
microsoft, ai, slop
Sticky Grid Scroll: Building a Scroll-Driven Animated Grid (the/cod)20,262
tutorials, css, grids, layout, scrolling, gsap
MCP Servers and the Return of the Service Account Problem (aem)20,261
servers, mcp, ai, security
Web Sustainability Guidelines Update (tzv/w3c)20,260
videos, w3c, sustainability, guidelines
A11y 101: 2.5.2 Pointer Cancellation (nat)20,259
introductions, accessibility
Palestinians Call for Increased Pressure on the Tech Companies Powering Israel’s Occupation and Gaza Genocide That Also Enable ICE Violence in the US (bds)20,258
privacy, ethics, microsoft, google, amazon
The Odometer Effect (Without JavaScript) (pre/fro)20,257
css, functions, effects
January 2026 Baseline Monthly Digest (mal/dev)20,256
browsers, support, web-platform, css, view-transitions, javascript, web-workers, apis, units
Why React 19’s Compiler Changes Everything for Senior Devs20,255
react, compiling
Get Your War On: AI Chatbots in the Kill Chain (dav)20,254
ai, anthropic, openai
External Import Maps, Today (lea)20,253
javascript, import-maps
How OpenAI Caved to the Pentagon on AI Surveillance (hay/ver)20,252
openai, ai, privacy
Popover API or Dialog API: Which to Choose? (zel/css)20,251
pop-overs, modals, apis, accessibility, javascript
Expose Your Design System to LLMs (hvp)20,250
design-systems, ai
Figcaptions Versus Alt Text (tem)20,249
html, images, alt-text, accessibility, comparisons
Quick Tip: Hosting HTML/CSS/JS Demos From Source Code on GitHub Pages (cod)20,248
hosting, github-pages, tips-and-tricks
The Most-Seen UI on the Internet? Redesigning Turnstile and Challenge Pages (clo)20,247
cloudflare
Configuration Collapse (nat)20,246
figma, components, configuration, props
Define the Theme Color for Safari 26 (gro)20,245
safari, apple, browsers, css
Claude Code vs. Cursor: Which AI IDE Wins for Real Development Work?20,244
claude, anthropic, cursor, ai, code-editors, comparisons
Yet Another Way to Center an (Absolute) Element (mon/css)20,243
css, centering
I Set Up My Own Web Server and Here’s What I Learned About nginx20,242
servers, nginx
Eleventy: How to Work Around the “Git Last Modified” Performance Bottleneck (j9t)20,241
how-tos, eleventy, git, performance
Why Is WebAssembly a Second-Class Language on the Web? (eqr/moz)20,240
webassembly
A Design Turn20,239
design, ai, career
Release Notes for Safari Technology Preview 238 (jon/web)20,238
release-notes, safari, apple, browsers
When Building Is Free, What’s Worth Building? (uxd)20,237
ai, vibe-coding, prototyping, user-experience, usability
New to the Web Platform in February (rac/dev)20,236
release-notes, web-platform, browsers, chrome, google, firefox, mozilla, safari, apple
Lessons Learned From Failed Demos: Pure CSS Nav Thumb Flip on Scroll (ana/fro)20,235
lessons, css, effects
CSS Snapshot 2026 (fri+/w3c)20,234
css, standards
Create Pages From JSON Files With Eleventy (san)20,233
eleventy, json, static-site-generation
The Pentagon Is Making a Mistake by Threatening Anthropic (bin)20,232
ai, anthropic
An Exploit… in CSS?! (css)20,231
css, security
When Is a Link Not a Link? (dec)20,230
html, links, semantics, accessibility
AdonisJS v7 Is Here (vir/ado)20,229
release-notes, adonisjs
“Harmless” Website Updates Can Create Serious Problems for Your Users—Here’s How It Happens20,228
maintenance, accessibility
Accessibility Considerations for Off-Site Navigation and Downloads20,227
accessibility, navigation
16 Modern JavaScript Features That Might Blow Your Mind20,226
javascript
A Complete Guide to Bookmarklets (val/css)20,225
guides, bookmarklets, javascript, link-lists
The Rise of “Micro-Backends”: Why Frontend Devs Are Adopting Hono20,224
hono, express, comparisons, backend-for-frontend, architecture
Developer Experience at Scale—Lessons From Dropbox20,223
interviews, developer-experience, productivity, tooling, ai, lessons
CSS Masonry Layout Is Finally Coming: Native Grid Support Explained20,222
css, masonry, layout, examples
20,000 (fro)20,221
frontend-dogma
If Code Is Cheap, Intent Is the Currency20,220
ai-agents, ai, code-reviews, documentation
How We Rebuilt Next.js With AI in One Week (sou/clo)20,219
nextjs, ai, cloudflare, deploying
The React Foundation: A New Home for React Hosted by the Linux Foundation (mat/rea)20,218
react, facebook+meta
Best Practices for CSS Scope in Angular Applications (ale)20,217
css, scope, angular, best-practices
Oxfmt Beta (bos+)20,216
release-notes, formatting, tooling
x86 CPU Made in CSS (reb)20,215
css, programming, functionality
Firefox 148 Brings Central AI Control and New Web Standards (hei)20,214
firefox, mozilla, browsers
How I Setup Production-Grade Deployment for My (Somewhat) Vibe-Coded App (mar/fro)20,213
deploying, aws
Web AI: Everything You Need to Know About On-Device AI for the Web20,212
ai
Virtual Scroll-Driven 3D Scenes (fro)20,211
css, scrolling, animations
“aria-haspopup” Might Not Do What You Think It Does (mat)20,210
html, aria, attributes, navigation, accessibility
On Software Quality (nic/pxl)20,209
quality, apple
Breakpoints (css)20,208
design, accessibility, mobile, css
AI as Art Director: Can Machines Develop Taste? (web)20,207
ai, design, aesthetics
Loading Smarter: SVG vs. Raster Loaders in Modern Web Design (hol/css)20,206
images, svg, progress-indicators, performance
How to Publish to npm From GitHub Actions (bah)20,205
how-tos, npm, github-actions
Dictionary Compression Is Finally Here, and It’s Ridiculously Good (pim/htt)20,204
compression, performance, javascript
From “instanceof” to “Error.isError”: Safer Error Checking in JavaScript20,203
javascript, errors
Upskilling in the AI Age (dac)20,202
ai, tooling, learning
Getting Started With the Vercel AI SDK in Node.js20,201
introductions, nodejs, ai, vercel
Matt May Speaks (mat+)20,200
videos, interviews, accessibility, html, standards
Stop Using “/init” for AGENTS.md (add)20,199
ai, configuration, documentation
Sprites on the Web (jos)20,198
css, images, sprites, techniques
Native HTML Components Don’t Guarantee Good UX (ada)20,197
html, components, user-experience
Standard HTML Video and Audio Lazy-Loading Is Coming (sco)20,196
html, multimedia, lazy-loading, standards, performance
Wasm vs. Javascript: Who Wins at a Million Rows? (the)20,195
webassembly, javascript, comparisons, performance
ACCESSIBILITY.md (mgi)20,194
accessibility, documentation
Why AI Is Exposing Design’s Craft Crisis20,193
ai, design, craft, figma, link-lists
My Malware Story Gets Stolen; Yet Another Argument for the IndieWeb (bre)20,192
malware, indieweb, licensing
“Made in EU”—It Was Harder Than I Thought20,191
privacy, hosting, tooling, tech-stacks
Everything You Never Wanted to Know About “visually-hidden” (dbu)20,190
html, css, hiding, accessibility
Lil’ Fun Langs (sur)20,189
programming, overviews, link-lists
Git Is the New Code (nec)20,188
ai, git, command-line, code-reviews
The Software Development Lifecycle Is Dead (bor)20,187
processes, ai, ci-cd
Weird Issues With CSS Calculations in Safari 26.2 (cit)20,186
css, functions, safari, apple, browsers
Potentially Coming to a Browser “:near()” You (dxn/css)20,185
css, functions
WordPress 7.0 Beta 1 (wor)20,184
release-notes, wordpress
Big Tech Still Dreams of Mass Surveillance—Now People Are Pushing Back (tro/sal)20,183
privacy, amazon, google, ai
An Official* Logo for HTML (zac)20,182
html
A Considered Approach to Generative AI in Front-End Development (cle)20,181
ai, processes
Notes on Relying on the ARIA Authoring Practices Guide (ste)20,180
aria, accessibility, html
Design Systems Can’t Automate Away All of Your Accessibility Considerations (eri/zer)20,179
design-systems, components, automation, accessibility, aria
Using the Browser’s “<canvas>” for Data Compression20,178
canvas, compression
A Web Revival: The Internet Didn’t Die, You’re Just Not on It20,177
videos, indieweb, web
An In-Depth Guide to Customising Lists With CSS (ric/pic)20,176
guides, css, lists
8 Things You Didn’t Know About Code Mode (bla)20,175
ai
Fastest Frontend Tooling for Humans and AI20,174
tech-stacks, tooling, typescript, developer-experience, optimization
Suffering From Bugs: How I Almost Deleted My Entire Project20,173
bugs, lessons
“border-shape”: The Future of the Non-Rectangular Web (una)20,172
css, shapes, borders
Vitest vs. Jest 2026: The Migration Guide With Real Benchmarks20,171
guides, migrating, vitest, jest, comparisons
Tailwind CSS v4: Container Queries and the Death of Media Queries20,170
tailwind, container-queries, media-queries, css
Claude Sonnet 4.6 vs. GPT-5: The 2026 Developer Benchmark20,169
claude, anthropic, openai, ai, comparisons, metrics, programming, documentation
Sometimes the Best Accessibility Fix Is a Usability Fix20,168
accessibility, usability
When Accessibility Demand Letters Land on Your Desk: A Framework for Strategic Response (dec)20,167
accessibility, strategies
Why Separate Guest and Logged in States Create Accessibility Barriers20,166
accessibility, authentication
Why You Need to Close Open Objects When Users Navigate Away20,165
accessibility, wcag
AI Is Giving Tech Companies Power That Once Belonged to Governments (res)20,164
ai, economics
5 CSS Fouls That I See Way Too Often (kev)20,163
videos, css
Distinguishing “Components” and “Utilities” in Tailwind (zel/css)20,162
tailwind, terminology
Analyst Reactions: How AI Is Reshaping Engineering Organizations20,161
ai, engineering-management
From Random Chunks to Real Code—Wiring Up Next.js Source Maps in Sentry (get)20,160
nextjs, source-maps
Design Docs Considered Harmful20,159
documentation, software-design
The Future of Design Is Code and Canvas (zoi/fig)20,158
figma, design, outlooks
Building Typographic Scales in CSS With “:heading()”, “sibling-index()”, and “pow()” (stu)20,157
css, functions, math, typography
Igalia’s Eric Meyer and Ujjwal Sharma Chat With Designer, CSS Developer, and Illustrator Lynn Fisher (lyn+/iga)20,156
podcasts, interviews, css, design
Designing for Transparent Screens20,155
design, transparency, readability
Web Development Is More Than Frontend and Backend (Here’s What Actually Matters)20,154
programming, career
Selectors Level 5 (fan+/w3c)20,153
css, selectors, standards
5 Source Map Best Practices for Frontend Production Deployments (ele/des)20,152
guest-posts, source-maps, javascript, best-practices
Europe Is Ready to Ditch US Tech for Private Alternatives (pro)20,151
tooling, privacy, security, metrics
Europeans Are Dangerously Reliant on US Tech—Now Is a Good Time to Build Our Own (joh/the)20,150
economics, policies, google, microsoft, amazon
We Cut Node.js’ Memory in Half (mco/pla)20,149
nodejs, v8, javascript, memory, metrics
Interop 2026 (geo/css)20,148
interoperability, web-platform, browsers, support, link-lists
Spiral Scrollytelling in CSS With “sibling-index()” (css)20,147
css, functions, scrolling, gsap
Why We Hate AI (fal)20,146
ai
Angular Bindings: What Are They and How Do I Use Them? (ato)20,145
angular
Agentic UX: 7 Principles for Designing Systems With Agents (uxd)20,144
ai-agents, ai, design, principles
Anchored Menus and a Lesson in Scoping (chr/fro)20,143
css, anchor-positioning, scope, lessons
Here’s How to Instruct a LLM to Reference the ARIA Authoring Practices Guide (eri)20,142
how-tos, ai, aria, accessibility
The Hidden Cost of AI Prototypes That Are Made to Die (uxd)20,141
prototyping, ai, design, product-management
How “Liquid Design” Broke the iPhone and Forced Apple’s Great Reset (web)20,140
design, usability, readability, liquid-glass, apple
Why It’s Important to Manually Test for Accessibility20,139
accessibility, testing
Style Headings Using the CSS “:heading” Pseudo-Class (stu)20,138
headings, css, selectors
Why Your CEO Acts Like a Clown: The Tribal Myths of Leadership (uxd)20,137
leadership, culture, engineering-management
Why WebAIM’s Report Only Found 6 Issues on a Million Pages20,136
videos, accessibility, webaim
We Scanned 250 Node.js Repos for Blocking I/O: 76% Had It—and the Benchmarks Explain Why That Matters20,135
nodejs, file-handling, performance, metrics
How Fast Is Fast Enough? Rethinking Web Performance in Pragmagical Terms (tam/spe)20,134
performance, user-experience, concepts
Justifying “text-wrap: pretty”20,133
css, typography
Quick and Dirty Linting (sto)20,132
linting, typescript, javascript, biome
A Programmer’s Loss of a Social Identity (rat)20,131
programming, career, community
JS-Heavy Approaches Are Not Compatible With Long-Term Performance Goals (ser)20,130
javascript, frameworks, performance, prioritization
Fun With TypeScript Generics (ada/fro)20,129
typescript, generics
Are We Having the Wrong AI Dreams? (jet)20,128
ai, outlooks
The EU Moves to Kill Infinite Scrolling (egr/pol)20,127
social-media, scrolling, legal
How to Debug the “@ starting-style” At-Rule in Polypane (pol)20,126
how-tos, debugging, css, animations, polypane, browsers
Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev)20,125
html, tables, scrolling, performance, react
State of React 2025 [Results] (sac/dev)20,124
surveys, metrics, react
You Might Not Need “role="presentation"” (stv/pic)20,123
html, aria, accessibility
Interop 2026: Continuing to Improve the Web for Developers (rac/dev)20,122
interoperability, web-platform, browsers, support
Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents? (ves+)20,121
studies, research, ai, ai-agents, documentation
Mastering Dialog Accessibility20,120
accessibility, modals, html, aria
Launching Interop 2026 (jaf/moz)20,119
interoperability, web-platform, browsers, support
Accessibility Contractors Have Their Place-but It’s Not Everywhere20,118
accessibility, business-relations, processes
The Beautiful Web (j9t)20,117
web, indieweb
Radix UI vs. Base UI (sha)20,116
react, libraries, radix, comparisons
The 80% Job: How Design Leads Are Using AI—and It’s Not About Mockups (uxd)20,115
design, ai, prototyping, communication, leadership, product-management, link-lists
What It Really Costs to Run a WordPress Website in 202620,114
wordpress, economics
Life After Figma Is Coming (and It Will Be Glorious) (jon)20,113
design, ai, tooling, figma
Designing for Agentic AI: Practical UX Patterns for Control, Consent, and Accountability (sma)20,112
design, user-experience, design-patterns, ai-agents, ai
ChatGPT Has 12% of Google’s Search Volume but Google Sends 190× More Traffic to Websites (ahr)20,111
traffic, search, chatgpt, google, metrics
How to Create a CSS-Only Elastic Text Effect (css/fro)20,110
how-tos, css, effects
Re-Creating a Pantone Color Deck in CSS (sto)20,109
css
Announcing TypeScript 6.0 Beta (dan/typ)20,108
typescript
Container Timing: Measuring Web Components Performance (jda/iga)20,107
performance, web-components, chromium
You Know What? Just Don’t Split Words Into Letters (aar)20,106
accessibility, html, screen-readers, support
Does Your Navigation Need an ARIA Menu? Probably Not (pop)20,105
accessibility, navigation, aria, keyboard-navigation
The Natural Design Process (uxd)20,104
design, processes
Building an Endless Procedural Snake With Three.js and WebGL (suj/cod)20,103
threejs, webgl, javascript
Shades of Halftone (max)20,102
effects, halftone
Polypane 28: Project Improvements, Elements Panel Updates, and Chromium 146 (pol)20,101
release-notes, polypane, browsers
The Software Sovereignty Scale (dri)20,100
foss, licensing, legal
It’s About to Get a Lot Easier for Your JavaScript to Clean Up After Itself (wil/pic)20,099
javascript, garbage-collection
The 2026 Frontend Dogma Survey (fro)20,098
frontend-dogma, surveys
Fast by Default (den)20,097
performance, architecture, tooling, code-reviews, processes
Webspace Invaders (mat)20,096
ai, traffic
“Design Courage”20,095
design
Modern CSS Code Snippets20,094
websites, css, examples, comparisons
Design Is Dead, It’s All Evolution Now (ily)20,093
design, processes
Designing Useful Ads (uxd)20,092
design, monetization, ai
Emotional Design: Let’s Design for Silence (uxd)20,091
design
Background Patterns With CSS “corner-radius” (pre/fro)20,090
css, backgrounds, effects, examples
Vite, Rust, and the Future of JavaScript Tooling (eva+/bet)20,089
videos, interviews, vuejs, rust, javascript, oxc, bundling, tooling, ai
Trying to Make the Perfect Pie Chart in CSS (mon/css)20,088
css, html
Large Tech Companies Don’t Need Heroes (sea)20,087
processes, engineering-management, career
Underlining Links With CSS (stu)20,086
css, links
Definitive Guide to Multi-Threaded Rendering on the Web (hac)20,085
guides, dom, rendering
Why JavaScript Needs Structured Concurrency20,084
javascript, concurrency, asynchronicity
Interop 2025: A Year of Convergence (stu/web)20,083
interoperability, web-platform, browsers, retrospectives, metrics
Why Your Brain Rebels Against Redesigns—Even Good Ones (uxd)20,082
design, redesigning, link-lists
How Generative AI Is Redefining Brand Identity Systems20,081
ai, branding, design
How (and Why) to Stop Users From Selecting Text on Your Website20,080
css
The Browser Hates Surprises (fro)20,079
browsers, performance
The CSS Selection (ven/pro)20,078
css, metrics, studies, research
What to Expect in Angular 2220,077
angular
A New Meta Tag for Respecting Text Scaling on Mobile (mat)20,076
accessibility, metadata, scaling
Your Design System Needs an Enforcer (nng)20,075
design-systems, processes
The Return of the Intuitive Designer in the Age of AI (uxd)20,074
design, user-experience, ai
Git’s Magic Files (and)20,073
git, configuration
How to Use the “Auto” Value With “clamp()” (css)20,072
how-tos, css, functions
Accessibility Conformance Testing (ACT) Rules Format 1.1 (wil+/w3c)20,071
accessibility, compliance, testing, documentation
Minifier Benchmarks (j9t)20,070
minification, tooling, metrics, comparisons, html-minifier, htmlnano
CSS “@ scope”: An Alternative to Naming Conventions and Heavy Abstractions (sma)20,069
css, scope, naming
Measuring SVG Rendering Time (sto)20,068
svg, png, images, rendering, performance, web-vitals, metrics
How to Write Alt Text for News (sta/the)20,067
how-tos, alt-text, accessibility, images
Why Designers Secretly Love Constraints (Even When We Complain About Them) (web)20,066
design
Quick Tip: Do Not Replicate OS Behavior (nat)20,065
accessibility, tips-and-tricks
What’s New in ViteLand: January 2026 Recap (man/voi)20,064
release-notes, vite, vitest, rolldown, oxc
Clarity Is Not the Enemy of Depth (the)20,063
content, writing, accessibility
How to Improve Your HTML Game (j9t)20,062
how-tos, html, conformance, learning, career
AI Will Eliminate the Need for Accessibility Professionals? I Think Not20,061
ai, accessibility, testing, career
You Probably Shouldn’t Be Annotating Focus Order (eri)20,060
accessibility, focus, forms
Stop Installing Libraries: 10 Browser APIs That Already Solve Your Problems20,059
javascript, libraries, apis, web-platform
Introduction to the New HTML Element “<geolocation>” (mat)20,058
introductions, html, geolocation
[Webpack] Roadmap 2026 (eve)20,057
webpack
CSS Properties That Solve Annoying Problems (kev)20,056
videos, css
From Basic Adoption to Meaningful Measurement: How Design System Metrics Evolve (zer)20,055
design-systems
Building Bulletproof React Components20,054
react, components
How to Shoot a Screen Using a Board of Keys (mwi)20,053
screenshots, keyboard-shortcuts, history, apple
Introducing Deno Sandbox (tin/den)20,052
deno
State of JavaScript 2025 [Results] (sac/dev)20,051
surveys, metrics, javascript
Deno Deploy Is Generally Available (lca+/den)20,050
deno
Combobox vs. Multiselect vs. Listbox: How to Choose the Right One (vit/sma)20,049
how-tos, forms, design-patterns, comparisons
Nice Select (arg)20,048
forms, css
How Eleventy Survived: Funding, Growth, and Open Source Reality (zac+/fon)20,047
podcasts, interviews, eleventy, foss
A Percise Parser (rem)20,046
javascript, parsing
Elastic/Bouncy Text Effect (css)20,045
css, effects
Accessible Inline Collapsible (eri)20,044
accessibility, html, disclosure-widgets
Accessibility Progress and Healthy Engineering Teams (hbu)20,043
accessibility, technical-debt, web-platform, prioritization
Node.js Path Traversal: Prevention and Security Guide (loi)20,042
guides, nodejs, security
Implementing the Temporal Proposal in JavaScriptCore (you/iga)20,041
javascriptcore, javascript-engines, time
Accessible Design Is Digital Infrastructure (ann)20,040
accessibility, design
What’s Missing From the Web Platform? (wes+/syn)20,039
podcasts, web-platform, wish-lists
Performance-Optimized Video Embeds With Zero JavaScript (stf/fro)20,038
multimedia, performance
What Is JPEG XL: Do We Really Need Another Image Format? (aar/deb)20,037
jpeg-xl, images, quality, performance, metrics
Release Notes for Safari Technology Preview 236 (jon/web)20,036
release-notes, safari, apple, browsers
Building an RSS Aggregator With Astro (ray)20,035
astro, rss, syndication, functionality
Explicit Resource Management in JavaScript20,034
javascript
Stop Asking “Is This on Brand?”—It’s Killing Your Creativity (web)20,033
design, branding, creativity
Limiting Work in Progress Is a Superpower20,032
project-management, processes, productivity, agile, scrum
HTML Minifier Next 5, a Quick Upgrade Guide (j9t)20,031
guides, html-minifier
Selfish AI (cre)20,030
ai
The Indie Web Is Not Defined by Its Enemies (khu)20,029
indieweb, ai
Tim Cook Sold Apple’s Soul (kev)20,028
apple
Google Helped Israeli Military Contractor With AI, Whistleblower Alleges (was)20,027
google, ai, ethics, privacy
Repeatable Form Fields Made Simple (aar)20,026
forms, html, web-components
A Broken Heart (api)20,025
performance, fonts, emoji
My Opinionated ESLint Setup for Vue Projects (ale)20,024
eslint, configuration, vuejs
Tickering With Node.js Core on ARM64 Windows (joy)20,023
nodejs, building, windows, microsoft
When Design Stops Asking Why and Starts Asking, “Can AI Do It?” (uxd)20,022
design, ai, processes, quality
The Too Early Breakpoint (sha)20,021
css, layout
“WCAG Is Difficult to Read, Don’t Read It” Is a Self-Fulfilling Prophecy (yat)20,020
wcag, standards, accessibility
AI Agents Explained (tre)20,019
ai-agents, ai
Practical Use of AI Coding Tools for the Responsible Developer (ska/sma)20,018
ai, tooling, prompting
Announcing Rspress 2.020,017
release-notes
New to the Web Platform in January (rac/dev)20,016
release-notes, web-platform, browsers, firefox, mozilla, chrome, google
How the Same Content Always Has Multiple Different Versions20,015
accessibility, content, comparisons
React’s “ViewTransition” Element (chr/fro)20,014
react, view-transitions
Understanding Hydration in Frontend Frameworks: Definition, Challenges, and Optimization Strategies (ele/des)20,013
guest-posts, frameworks, hydration, optimization, concepts, strategies
The Design System Paradox: How Abstraction Can Hollow Out Quality (pjo/zer)20,012
design-systems, quality, training
How to Make an HTTP Request in Node.js (loi)20,011
how-tos, nodejs, http
Is Learning CSS a Waste of Time in 2026?20,010
css, learning, career, discussions
Vibe Prototyping Is a Double-Edged Sword (edd/uxd)20,009
prototyping, vibe-coding, ai, design
OpenJS Foundation Security Program: Annual Report 2025 (ope)20,008
openjs, security
Cryptography Usage in Web Standards (w3c)20,007
standards, cryptography, security
Making Interesting Borders With CSS “corner-shape” (cas)20,006
css, borders
How Rolldown Works: High-Performance Code Splitting With Bitset Logic (atr)20,005
rolldown, bundling, code-splitting, performance
Why I Don’t Call Myself an Accessibility Expert20,004
accessibility, career
How an Accessibility Designer Adds Keyboard Shortcuts to a Web App (eri)20,003
web-apps, keyboard-shortcuts, accessibility
The Next Decade of UX: Why Psychology Matters More Than Ever (tbf/nng)20,002
videos, interviews, user-experience, design, outlooks
How to Design Great Alt Text: An Introduction (deq)20,001
how-tos, introductions, alt-text, images, accessibility
How to Style the New “::search-text” and Other Highlight-y Pseudo-Elements (dxn/css)20,000
how-tos, css, selectors
Introducing ReliCSS: A Tool for Front-End Archaeology (stu)19,999
introductions, tooling, css, auditing
AI’s Text-Trap: Moving Towards a More Interactive Future (uxd)19,998
ai, interaction-design, user-experience
A Year of Creator Wins: Highlights From the JetBrains Content Creators Program 2025 (jet)19,997
jetbrains, community
Are We Doing UX for AI the Right Way? (cxo/uxd)19,996
user-experience, design, conversational-design, ai, link-lists
7 Learnings From Anders Hejlsberg: The Architect Behind C# and TypeScript (git)19,995
lessons, scalability, typescript, foss, ai, collaboration
How AI Is Redefining the Way We Find Content (cle)19,994
ai, crawling, search, content, seo
Some Notes on Starting to Use Django (b0r)19,993
django
More Invoker Commands, and More Reasons Not to Use JavaScript Please (paw)19,992
html, examples
Unstacking CSS Stacking Contexts (sma)19,991
css, positioning
Try Text Scaling Support in Chrome Canary (jos)19,990
chrome, google, browsers, scaling, accessibility
We’re Creating a Knowledge Collapse and No One’s Talking About It19,989
ai, documentation, learning, career
Solving Shrinkwrap: New Experimental Technique (kiz)19,988
css, techniques
On the Need for Neutral Maintained Minifier Metrics (j9t)19,987
minification, tooling, html-minifier, htmlnano
Claude Code for Designers: A Practical Guide19,986
guides, design, claude, anthropic, ai
Design Systems Checklist (tyc)19,985
design-systems, checklists
9 Reasons to Choose Sketch in 2026 (fre/ske)19,984
sketch
Supporting Open Source in 2026: Why It Matters More Than Ever ($50,000) (mar/fro)19,983
foss, web-platform
Drawing Connections With CSS Anchor Positioning19,982
css, anchor-positioning
Improving Single Executable Application Building for Node.js (joy)19,981
nodejs
Density vs. Clarity: The Core Tension in Modern UI Design (web)19,980
design, information-design, minimalism, comparisons, figma
How Web Performance Impacts User Experience (deb)19,979
performance, user-experience, web-vitals, metrics
Why the Future of Design Is Less Flash and More Thought19,978
design, outlooks
There Is No Need to Trap Focus on a “dialog” Element (zel/css)19,977
modals, focus, accessibility
A Security Checklist for Your React and Next.js Apps (the)19,976
security, react, nextjs
Porting 100k Lines From TypeScript to Rust Using Claude Code in a Month (vje)19,975
migrating, typescript, rust, claude, anthropic, ai
SPAs Are a Performance Dead End (yeg)19,974
single-page-apps, performance
Vibe Prototyping Isn’t Solving Any Problems—but It’s Creating Many New Ones (pav)19,973
prototyping, design, ai, vibe-coding
Using Maturity Models to Build Accessibility That Lasts (ted)19,972
accessibility
Figma Slots for Repeating Items (nat)19,971
figma, components
How to Use Font Ligatures19,970
how-tos, typography, fonts, tooling, adobe, figma, microsoft, css
npmx (dan/npm)19,969
websites, npm, packages
Software Design Principles That Matter19,968
software-design, principles, examples
6 Ways to Set Better Content Accessibility Goals in 202619,967
accessibility, processes
Anchor Interpolated Morph (AIM) (arg)19,966
css, animations, techniques
Responsive Hexagon Grid Using Modern CSS (css/css)19,965
css, functions, math, responsive-design
CSS Scope and Mixins (chr+/odd)19,964
videos, interviews, css, scope, mixins
Do We All See the Same Colors? (tba)19,963
colors, color-blindness, accessibility
Names Are Hard but They Don’t Have to Be (col)19,962
internationalization, naming, validation
Handling Breaking Changes in a Design System Without Causing Chaos (sha/zer)19,961
design-systems, maintenance, semver, communication
Understanding the Fundamentals of CSS Layout (pol)19,960
fundamentals, css, layout, grids, flexbox, positioning
The Context Collapse Problem19,959
ai, documentation
CSS Optical Illusions (alv)19,958
css, effects, examples
Claude’s New Constitution (ant)19,957
claude, anthropic, ai
Why Webflow Isn’t the Future—Yet (web)19,956
webflow, low-and-no-code
10 Digital Accessibility Predictions for 2026 (ons)19,955
accessibility, outlooks, wcag, career, ai, legal, assistive-tech
When Will CSS Grid Lanes Arrive? How Long Until We Can Use It? (jen/web)19,954
css, grids, masonry, layout
CTA Hierarchy in the Wild (jim)19,953
user-experience, buttons, youtube
10 Tips for Effective User Experience Evaluation19,952
user-experience, usability, content, design, testing, tips-and-tricks
Barriers From Links With ARIA (aar)19,951
accessibility, links, html, aria
The Conditionally Open Web (cor)19,950
open-web
Why Light-Weight Websites May One Day Save Your Life (mah)19,949
performance, accessibility, print, frameworks
How to Diagnose Lighthouse Score Discrepancies Between Tools (deb)19,948
how-tos, performance, lighthouse, google, tooling
Accessibility 101 and Core Concepts (kno)19,947
videos, accessibility, introductions, concepts
Floating Action Buttons Are Bad, and What to Do Instead (eri)19,946
buttons, usability, material-design, google
The Accessibility Manager Moment No One Warns You About19,945
accessibility, leadership, legal, communication
Securing npm Is Table Stakes (nza+/cha)19,944
podcasts, interviews, npm, security, ai
What Makes Generated UI Worth Keeping? (uxd)19,943
design, ai, branding, tooling
Demystifying Screen Reader Use for Manual Testing: Deneb Pulsipher and Kosi Asabere19,942
videos, accessibility, testing, screen-readers
CSS in 2026: The New Features Reshaping Frontend Development (log)19,941
css, functions
How to Favicon in 2026: Three Files That Fit Most Needs (sit/evi)19,940
how-tos, images, favicons
I Learned the First Rule of ARIA the Hard Way (css)19,939
accessibility, aria, semantics, html
Designing Beyond the Happy Path in Design Systems (ste/zer)19,938
design-systems, design
Developing Trustworthy Information (jma)19,937
writing, content, ai
Faking a Fieldset-Legend (tyl/clo)19,936
html, forms, css
Node.js 16 to 25 Performance Benchmarks19,935
nodejs, performance, metrics, comparisons
Lowering the Specificity of Multiple Rules at Once (mat)19,934
css, cascade
Inside Turbopack: Building Faster by Building Less (she+)19,933
turbopack, performance
A Brief History of Programming… (fir)19,932
videos, programming, history
Animating Responsive Grid Layout Transitions With GSAP Flip (cod)19,931
css, grids, layout, animations, gsap, plugins
Rethinking “Pixel Perfect” Web Design (ami/sma)19,930
design, quality
View Transitions and Playing Video (chr/fro)19,929
javascript, view-transitions, multimedia
AI’s Missing Ingredient (cwo)19,928
ai, vibe-coding, creativity, design
Some Thoughts on the Open Web (mno)19,927
open-web, web
Design Tokens With Confidence (luk/uxd)19,926
design-tokens, json, css
What Figma Got Wrong About Design Systems (web)19,925
figma, design-systems
The State of WebAssembly—2025 and 2026 (uno)19,924
webassembly, retrospectives, outlooks
“Code Only” Props in Figma (nat)19,923
figma, props
What Design Leaders Must Unlearn to Lead in an AI-First World (uxd)19,922
design, leadership, ai
Design in Code, Get Praise (ada)19,921
design, processes, communication
How to Build a WordPress Block Theme19,920
how-tos, wordpress, theming
Vercel vs. Netlify vs. Cloudflare: Serverless Cold Starts Compared19,919
vercel, netlify, cloudflare, serverless, comparisons, metrics
jQuery 4.0.0 (tim/jqu)19,918
jquery, release-notes
AdonisJS v7 Is Feature-Complete and Entering Final Validation (vir/ado)19,917
release-notes, adonisjs
ASCII Characters Are Not Pixels: A Deep Dive Into ASCII Rendering19,916
deep-dives, ascii, rendering
When Design Kills Usability—Meet the Custom Cursor (mal)19,915
videos, design, usability, cursors
Chrome 145 Adds Experimental Support for Vertical Tabs (bra)19,914
chrome, google, browsers
Better Defaults for Popovers (mat)19,913
pop-overs, css, resets
State of UX 2026: Design Deeper to Differentiate (nng)19,912
user-experience, design, outlooks, career, ai
PWA (htt)19,911
web-almanac, studies, research, metrics, progressive-web-apps, web-apps, web-workers
Ecommerce (htt)19,910
web-almanac, studies, research, metrics, ecommerce, tooling, performance, web-vitals, lighthouse
The Astro Technology Company Joins Cloudflare (ast)19,909
astro, cloudflare
CMS (htt)19,908
web-almanac, studies, research, metrics, content-management, tooling, wordpress, user-experience, performance, web-vitals, lighthouse, apis
Security (vik+/htt)19,907
web-almanac, studies, research, metrics, security, tls, certificates, cookies, csp, http-headers, apis, sanitization, configuration
On Coding Agents and the Future of Design (jef)19,906
ai, ai-agents, design, outlooks
Software as Fast Fashion (tan)19,905
programming, ai, sustainability, economics
Fonts (htt)19,904
web-almanac, studies, research, metrics, fonts, performance, css
The Missing Link for Web Components (kin/fro)19,903
web-components, typescript, json, mcp, ai, tooling
Building a Scroll-Driven Dual-Wave Text Animation With GSAP (cod)19,902
gsap, animations, scrolling
The Incredible Overcomplexity of the Shadcn Radio Button (pau)19,901
html, forms, complexity
Performance (25p+/htt)19,900
web-almanac, studies, research, metrics, performance, web-vitals, hints, speculation
Third Parties (htt)19,899
web-almanac, studies, research, metrics, embed-code
Using “100vw” Is Now Scrollbar-Aware (in Chrome 145+, Under the Right Conditions) (bra)19,898
css, units, scrolling, chrome, google, browsers
Accessibility (bog+/htt)19,897
web-almanac, studies, research, metrics, accessibility, colors, contrast, zooming, scaling, internationalization, keyboard-navigation, skip-links, forms, labels, placeholders, multimedia, images, aria, overlays, ai
Why Designers Are the New Bureaucrats (web)19,896
design, processes
Accessible Faux-Nested Interactive Controls (eri/pic)19,895
accessibility, conformance, html, nesting
Privacy (htt)19,894
web-almanac, studies, research, metrics, privacy, legal, consent-management, do-not-track
Generative AI (chr+/htt)19,893
web-almanac, studies, research, metrics, ai, robotstxt, llmstxt
WebAssembly (htt)19,892
web-almanac, studies, research, metrics, webassembly
CDN (htt)19,891
web-almanac, studies, research, metrics, content-delivery, http, performance, http-headers, compression, tls, hints
Usability Heuristics and Competition in Games (uxd)19,890
usability, heuristics, design, aesthetics
SEO (htt)19,889
web-almanac, studies, research, metrics, seo, robotstxt, llmstxt, links, content, structured-data, amp, html, internationalization
Cookies (htt)19,888
web-almanac, studies, research, metrics, cookies
Page Weight (bar+/htt)19,887
web-almanac, studies, research, metrics, performance, web-vitals, lighthouse, google
StyleX vs. Tailwind: Meta’s Take on CSS-in-JS Maintainability (ric/the)19,886
tailwind, comparisons, css-in-js, maintainability, css, javascript
So You Think Your Website Is Doing Great (cit)19,885
html, javascript, css, quality
Beyond Manual Audits: How Automation Strengthens Accessibility (equ)19,884
accessibility, auditing, automation, wcag
Making GitHub Actions Suck a Little Less19,883
github-actions
Node.js January 2026 Security Release: What Changed and Why It Matters (nod)19,882
nodejs, security
The “Senior Developer” Is Now the New “Entry Level”19,881
career, ai
Smashing Animations: Theming Animations Using CSS Relative Colour (mal/sma)19,880
animations, colors, theming, css
The Unhinged World of Tech in 2026… (fir)19,879
videos, outlooks, ai, javascript
Live Region Support (aar)19,878
accessibility, live-regions, support, screen-readers, nvda, jaws, voiceover
Everything You Need to Know About Ruby 4.0 (hon)19,877
ruby
EPUB and HTML—Survey Results and Next Steps (rei/w3c)19,876
surveys, epub, html
ARIA Roles Can Remove Their Children’s Semantics (ste)19,875
html, aria, semantics, accessibility
Traditional Code Review Is Dead: What Comes Next? (the)19,874
code-reviews, ai, processes, infrastructure, scalability
18 Predictions for 202619,873
outlooks, ai, usability, user-experience
Introducing the “<geolocation>” HTML Element (tom+/dev)19,872
introductions, html, geolocation, chrome, google, browsers
The Invisible Work (hvp)19,871
leadership, productivity, processes
Mitigating Denial-of-Service Vulnerability From Unrecoverable Stack Space Exhaustion for React, Next.js, and APM Users (mco+/nod)19,870
nodejs, security, vulnerabilities, react, nextjs, tooling, monitoring, performance
Tuesday, January 13, 2026 Security Releases (nod)19,869
release-notes, nodejs, security
Simulating Crop Marks (chr/fro)19,868
css
Astro 6 Beta (mat)19,867
release-notes, astro
Just the Browser (cor)19,866
websites, browsers, chrome, google, firefox, mozilla, edge, microsoft
Design Systems and Shareable Browser Support (rob)19,865
design-systems, browsers, browserslist, support
A Polyfill for the HTML “switch” Element (tom)19,864
html, forms, polyfills
Solid.js Best Practices (bre)19,863
solidjs, best-practices, examples
Is There Too Much Design in Design Systems? (sha)19,862
design, design-systems
Don’t Start With AI, Start With the Problem (cal/nng)19,861
videos, ai, processes
Aspire for JavaScript Developers (dav/mic)19,860
tooling, javascript, typescript
Manufacturing as Code Is the Future, and the Future Is Now19,859
programming, outlooks
OpenCode vs. Claude Code (bui)19,858
opencode, claude, anthropic, ai, comparisons
Stop Turning Everything Into Arrays (and Do Less Work Instead)19,857
javascript, methods, arrays
SVG Filters Are Just Amazing (ami)19,856
svg, filters
Focus Rings With Nested “contrast-color()”? (dav)19,855
css, selectors, functions, focus, contrast
Stop Using MySQL in 2026, It Is Not True Open Source (ott)19,854
mysql
Don’t Fall Into the Anti-AI Hype (ant)19,853
ai, career
How Wrong Can a JavaScript Date Calculation Go? (phi)19,852
javascript, time, apis
On Abbreviating Accessibility (ons)19,851
accessibility, microcontent
What Is the Minimum Markup Needed to Create a Modal?19,850
modals, minimalism, html, css, accessibility
Prompt Engineering Won’t Fix Your Architecture19,849
architecture, ai
How to Steal Any React Component19,848
react, components
Beyond the Mouse: Animating With Mobile Accelerometers (ami/fro)19,847
mobile, javascript, animations
Death to Scroll Fade (dbu)19,846
scrolling, effects, performance
How Markdown Took Over the World (ani)19,845
markdown, web
Not All Browser APIs Are “Web” APIs (pol)19,844
apis
Brief Note on Application Keyboard Shortcuts (aar)19,843
accessibility, keyboard-shortcuts, screen-readers
Your Brand Just Evolved: The Rise of AI-Generated Identities (web)19,842
design, branding, ai
Very Good Components (bee)19,841
websites, components, html
Popover Context Menus With Anchor Positioning (chr/fro)19,840
css, tooltips, pop-overs, anchor-positioning
Node.js Package Configuration Guide (nod)19,839
guides, packages, dependencies, configuration, commonjs, esm
Judging Severity in Accessibility Issues (joe)19,838
accessibility
What Makes a Good Tech Meet-Up?19,837
discussions, community
A Data Model for Git (and Other Docs Updates) (b0r)19,836
git
Async React19,835
videos, react, asynchronicity
Exploring React Performance (en-)19,834
videos, react, performance
Profiling With React Performance Tracks19,833
videos, react, profiling, performance
Designing Page Transitions19,832
videos, design, transitions, effects
Software Is Culture (fig)19,831
culture
2026 Accessibility Hiring Looks Busy, Yet the Patterns Show Underlying Weakness19,830
accessibility, career
Common Misconceptions About Testing Accessibility (tet)19,829
accessibility, testing
Modern Emails Using React19,828
videos, email, react
Date Is Out, Temporal Is In (wil/pic)19,827
javascript, time
Ethical and Resilient Blog Hosting (pad)19,826
hosting, blogging, ethics
npm to Implement Staged Publishing After Turbulent Shift Off Classic Tokens (sar/soc)19,825
npm, dependencies, security, github
Web Dependencies Are Broken—Can We Fix Them? (lea)19,824
dependencies, javascript, import-maps, web-platform
4 CSS Features Every Front-End Developer Should Know in 2026 (arg)19,823
css, functions, scrolling
Designing With AI-Readable Design Systems in Cursor (uxd)19,822
design, design-systems, ai, cursor, code-editors
5 Accessibility Checks to Run on Every Component (hdv/zer)19,821
accessibility, components, testing, keyboard-navigation, design-tokens, microcontent, zooming, screen-readers
Google Broke My Heart (per)19,820
google, search, licensing, legal