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

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

Entry (Sources) and TopicsDate#
Geolocation (mar+/w3c)20,455
geolocation, apis
WebKit Features for Safari 26.4 (jen/web)20,454
release-notes, webkit, safari, apple, browsers
Shadow DOM Focus Delegation: Getting “delegatesFocus” Right (fro)20,453
accessibility, shadow-dom, focus, javascript, lit, web-components
Testing Font Scaling for Accessibility With Figma Variables (sma)20,452
accessibility, fonts, scaling, figma, variables
This Is Crazy20,451
videos, foss, ai, legal, licensing
The Web Development Glossary 4K (j9t/fro)20,450
books, frontend-dogma, learning, training, concepts, terminology
What Is OpenCode? Understanding AI Coding Agents for Frontend Development (ele/des)20,449
guest-posts, opencode, ai, productivity
Announcing TypeScript 6.0 (dan/typ)20,448
release-notes, typescript
A Beginner’s Guide to Manual Accessibility Testing With Keyboard Navigation20,447
guides, accessibility, testing, keyboard-navigation
The Diminished Art of Coding (nol)20,446
programming, code-reviews, ai, vibe-coding
Building the Good Web (bre)20,445
indieweb, web
Trust and Faith in Our Web (bre)20,444
web, ai, indieweb
Rights and Tech Coalition Calls on Congress to End Warrantless Mass Surveillance (cor/com)20,443
privacy, legal, ai, advocacy
.htaccess Punk (j9t)20,442
packages, apache, redirecting, link-rot, quality
Why Aren’t AI Productivity Gains Higher?20,441
ai, productivity, engineering-management
Slouching Towards WCAG 2.1 (mni)20,440
accessibility, ada, legal, wcag
Petition to Node.js TSC: No AI Code in Node.js Core (ind)20,439
nodejs, ai
Node.js Worker Threads Are Problematic, but They Work Great for Us (inn)20,438
nodejs, worker-threads, event-loop
How to Burn $30M on a JavaScript Framework… (fir)20,437
videos, javascript, frameworks, famous
Cookie Consent Management in 2026 (gri/clo)20,436
consent-management, cookies, privacy, legal, gdpr
Red Alert: The DOJ Title II Web Accessibility Rule Is in Danger20,435
accessibility, ada, legal
Astro: How to Set Up More Powerful HTML Minification (in 31 Seconds) (j9t)20,434
how-tos, astro, html, html-minifier, minification, optimization
Tuesday, March 24, 2026 Security Releases (nod)20,433
release-notes, nodejs, security
Monitor and Improve Your Web App’s Load Performance (pat+/mic)20,432
web-apps, performance, monitoring, edge, microsoft, browsers
Edge.js: Running Node Apps Inside a WebAssembly Sandbox (was)20,431
tooling, nodejs, webassembly
Anime vs. Marvel/DC: Designing Digital Products With Emotion in Flow (sma)20,430
design, user-experience
Flexbox Masonry Layout (Explained With Math) (fro)20,429
css, flexbox, layout, math
GitHub Copilot’s Effect on Collaboration Has Stunned Researchers (the)20,428
studies, research, ai, github-copilot, github, productivity, metrics
When Deno or Bun Is a Better Solution Than Node.js (fro)20,427
deno, bun, nodejs, comparisons
Is This Product “Human-Made”? The Race to Establish an “AI-Free” Logo (joe)20,426
ai
Testing Node.js APIs With Jest: A Frontend Developer’s Guide to Backend Testing20,425
guides, testing, nodejs, apis, jest
Why Node.js Needs a Virtual File System (mco/pla)20,424
nodejs, file-handling
AI Content Wasn’t Good Enough—Now It Is (thi/ahr)20,423
content, writing, ai, quality
EU-Funded AI Systems “Exacerbate” Human Rights Violations in the Arab Region (the)20,422
ai, ethics
There Is No “Wrong” in CSS (j9t)20,421
css
The Perfect CSS Stylesheet Should Be… (alv)20,420
css
4 Reasons That Make Tailwind Great for Building Layouts (zel/css)20,419
tailwind, layout
Accessibility Is the Foundation (jul)20,418
accessibility, aria
Proposal for Time-Based CSS (joh)20,417
discussions, css, time
90% of Code Will Be AI-Generated—So What the Hell Do We Actually Do? (har)20,416
ai, career
Every UI/UX Concept Explained in Under 10 Minutes20,415
videos, design, user-experience, concepts
SVG Favicons That Respect Theme Preference (paw)20,414
svg, favicons, images, dark-mode
How Can Governments Pay Open Source Maintainers? (ede)20,413
foss, economics
Twenty Years of Amazon S3 and Building What’s Next (seb/aws)20,412
anniversaries, s3, aws, amazon
Two React Design Choices Developers Don’t Like—but Can’t Avoid (rya)20,411
react, solidjs, asynchronicity
What Is Content Decay? (And How to Fix It Before It Tanks Your Traffic) (lou/ahr)20,410
how-tos, content, maintenance, seo
Supply-Chain Attack Using Invisible Code Hits GitHub and Other Repositories (dan/ars)20,409
security, github, dependencies
The Emerging AI Agents War20,408
ai-agents, ai, scraping, amazon, ecommerce
Avoiding “z-index” (don)20,407
css, positioning
7 Practical Ways AI Is Rewriting the UI Design Playbook (and 3 Ways It’s Not) (web)20,406
design, ai
Vite 8.0 Is Out (vit)20,405
release-notes, vite
Introducing Account Regional Namespaces for Amazon S3 General Purpose Buckets (cha/aws)20,404
s3, aws, amazon
Building Dynamic Toggletips Using Anchored Container Queries (dxn/pic)20,403
css, anchor-positioning, container-queries, toggles, tooltips
Monitoring Your Node.js App Health on Fly.io (app)20,402
nodejs, monitoring, tooling
The 49 MB Web Page20,401
performance, user-experience, embed-code
What Is SERP Volatility and What Should You Do About It?20,400
search, seo, google
The Dark Side of AI No One Talks About (jam/moz)20,399
ai, seo, robotstxt
Temporal: The 9-Year Journey to Fix Time in JavaScript (jas/blo)20,398
javascript, time, apis, retrospectives
Form-Associated Custom Elements in Practice (fro)20,397
web-components, forms, javascript
“work_mem”: It’s a Trap (la)20,396
memory, postgresql, databases
Useful CSS Properties That Don’t Get Enough Attention (kev)20,395
videos, css
Abusing Customizable Selects (pat/css)20,394
forms, html, css, functions
AI Productivity Gains Are 10%, Not 10×20,393
ai, productivity, studies, research, metrics
On AI-Readying Engineering Organizations (j9t)20,392
engineering-management, ai, productivity
Quick Tip: Dialog Focus (nat)20,391
accessibility, modals, focus, tips-and-tricks
Leading Design Teams Is Easy, but We Made It Complicated (uxd)20,390
design, product-management, leadership
Nominal Types in WebAssembly (win)20,389
webassembly, types
Source Maps: Shipping Features Through Standards (jon/blo)20,388
source-maps, javascript
What’s New in DevTools (Chrome 146) (mat/dev)20,387
release-notes, dev-tools, chrome, google, browsers
Building Dynamic Forms in React and Next.js (sma)20,386
forms, react, nextjs, javascript
Amazon Calls Engineers for a “Deep Dive” Internal Meeting to Discuss “GenAI”-Related Outages (the)20,385
amazon, aws, ai, quality
How Much Do Keywords Matter in 2026? (moz)20,384
keywords, seo, search, google
The Color Statistic That’s Been Wrong for 80 Years (mul/uxd)20,383
colors
Using CSS Animations as State Machines to Remember Focus and Hover States With CSS Only (pat)20,382
css, animations, focus, hover, techniques
Testing Browser Support for “focusgroup” (ada)20,381
html, attributes, focus, javascript
Too Much Color (kei)20,380
colors, oklch, css
The Enforced Accessibility of the “geolocation” Element (chr/fro)20,379
html, geolocation, accessibility
How We Rewrote 130K Lines From React to Svelte in Two Weeks20,378
migrating, react, svelte
Persuasive Design: Ten Years Later (sma)20,377
design, hci, retrospectives
The Value of “z-index” (ami/css)20,376
css, positioning
How I Added Bluesky Likes to My Astro Blog (loi)20,375
astro, bluesky, functionality
Do AI-Enabled Companies Need Fewer People? (sel)20,374
ai, hiring, economics, metrics, link-lists
View Transitions Can Swoop‽ (arg)20,373
css, view-transitions, effects
Announcing TypeScript 6.0 RC (dan/typ)20,372
release-notes, typescript
AI Agents vs. Traditional Automation: How Small Teams Can Choose the Right Approach20,371
ai, ai-agents, automation, comparisons
My First Git Commit (ddb)20,370
git
Accessibility and AI Agents20,369
accessibility, ai-agents, ai
Statistical Significance Isn’t the Same as Practical Significance (nng)20,368
concepts, user-experience
How Internet Sovereignty Is Reshaping Company Tech Stacks20,367
web, tech-stacks
What Are Secondary Keywords? (And How to Use Them) (ahr)20,366
how-tos, keywords, seo
Hardening Firefox With Anthropic’s Red Team (moz)20,365
firefox, mozilla, browsers, ai, anthropic
The Big Gotcha of Anchor Positioning (chr/fro)20,364
css, anchor-positioning
The Real Skill in Programming Is Debugging—Everything Else Is Copy–Paste20,363
programming, debugging
You Don’t Know HTML Tables20,362
html, tables, javascript
Labor Market Impacts of AI: A New Measure and Early Evidence (ant)20,361
ai, studies, research, metrics
AdonisJS 7 Transformers: A Deep Dive (mez)20,360
deep-dives, adonisjs, type-safety
Product Ethics Have Never Mattered More (uxd)20,359
product-management, ethics, ai, anthropic, openai, link-lists
Request for Developer Feedback: “focusgroup” (jac/dev)20,358
html, attributes, chromium, browsers
A GitHub Issue Title Compromised 4,000 Developer Machines20,357
security, github, ai
One CSS Property That Makes Numbers Look Instantly Better (ami)20,356
css
The Different Ways to Select “<html>” in CSS (dxn/css)20,355
html, css, selectors
Your Skip Link Targets May Not Need “tabindex=-1” to Work Properly (mat)20,354
skip-links, html, attributes, accessibility
On Matters of Accessibility20,353
accessibility
Date Math in JavaScript: The Hidden Trap You’ll Eventually Hit (phi/hac)20,352
javascript, time, math, apis
[SolidJS] v2.0.0 Beta—the “<suspense>” Is Over Pre-Release (rya/sol)20,351
release-notes, solidjs
“display: green;”—Applying the Web Sustainability Guidelines (hdv/per)20,350
videos, sustainability
How to Steal npm Publish Tokens by Opening GitHub Issues (nec)20,349
npm, github, security, ai
Building a New Flash20,348
flash, tooling
Big Tech’s War on Democracy20,347
ai, anthropic
Announcing the Node.js LTS Upgrade and Modernization Program (ope)20,346
nodejs
It’s 2026 and Google Search Is Totally Broken20,345
google, search, seo, foss, ai
Nobody Gets Promoted for Simplicity (ter)20,344
simplicity, complexity, career
W3C Accessibility Guidelines (WCAG) 3.0 (ala+/w3c)20,343
w3c, accessibility, guidelines, wcag
OpenAI Alters Deal With Pentagon as Critics Sound Alarm Over Surveillance (kev+/nbc)20,342
ai, openai, privacy, legal
What I Like About WCAG 3.0 (kar)20,341
accessibility, wcag
Eleventy Is Now Build Awesome (zac/11t)20,340
eleventy
Proxying Fetch Requests in Server-Side JavaScript (nza)20,339
javascript, data-fetching, nodejs, deno, bun, cloudflare
Seven Years to TypeScript: Migrating 11,000 Files at Patreon20,338
migrating, javascript, typescript, case-studies
Finding an Accessibility-First Culture in npmx (abb/pic)20,337
accessibility, culture
Get Features Faster With Chrome’s Two-Week Release Cycle (dev)20,336
chrome, google, browsers
1995: From Batman Forever’s Cinematic Design to HTML Tables (ric)20,335
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,334
chrome, google, browsers
Agent Skills: The Complete Guide (jet)20,333
videos, guides, ai-agents, ai
Getting Started With the Popover API (sma)20,332
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,331
microsoft, ai, slop
Sticky Grid Scroll: Building a Scroll-Driven Animated Grid (the/cod)20,330
tutorials, css, grids, layout, scrolling, gsap
MCP Servers and the Return of the Service Account Problem (aem)20,329
servers, mcp, ai, security
Web Sustainability Guidelines Update (tzv/w3c)20,328
videos, w3c, sustainability, guidelines
A11y 101: 2.5.2 Pointer Cancellation (nat)20,327
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,326
privacy, ethics, microsoft, google, amazon
The Odometer Effect (Without JavaScript) (pre/fro)20,325
css, functions, effects
January 2026 Baseline Monthly Digest (mal/dev)20,324
browsers, support, web-platform, css, view-transitions, javascript, web-workers, apis, units
Why React 19’s Compiler Changes Everything for Senior Devs20,323
react, compiling
Get Your War On: AI Chatbots in the Kill Chain (dav)20,322
ai, anthropic, openai
External Import Maps, Today (lea)20,321
javascript, import-maps
How OpenAI Caved to the Pentagon on AI Surveillance (hay/ver)20,320
openai, ai, privacy
Popover API or Dialog API: Which to Choose? (zel/css)20,319
pop-overs, modals, apis, accessibility, javascript
My Personal Skills for AI-Assisted Node.js Development (mco)20,318
ai, tooling, nodejs
Expose Your Design System to LLMs (hvp)20,317
design-systems, ai
You Can Use Newline Characters in URLs (lem)20,316
urls, data-urls, links, html, attributes
The Hardest Part of Being a Developer Isn’t Coding—It’s Disappearing Quietly (nor)20,315
career, community
Figcaptions Versus Alt Text (tem)20,314
html, images, alt-text, accessibility, comparisons
Quick Tip: Hosting HTML/CSS/JS Demos From Source Code on GitHub Pages (cod)20,313
hosting, github-pages, tips-and-tricks
Put “aria-hidden=true” on Decorative SVGs (mat)20,312
svg, images, aria, accessibility, attributes
Accessibility Matters20,311
accessibility
[Svelte] Best Practices (sve)20,310
svelte, best-practices
Accessibility People Are a Superpower (jar)20,309
accessibility
“role=presentation” Is No Alternative for “aria-hidden=true” (mat)20,308
accessibility, aria, html, attributes, comparisons
Three Reasons Your “scroll-snap” Container May Be Overflowing on Mobile (sch)20,307
css, scrolling, mobile
Have We Forgotten How to Design? (lou)20,306
design
Anatomy of a CSS Phone Mockup20,305
css, design, effects
We Deserve a Better Streams API for JavaScript (jas/clo)20,304
javascript, streaming, apis
Security Advisory: Addressing Recent Vulnerabilities in Angular (ang)20,303
angular, security
A New Path for Digital Accessibility? (web)20,302
accessibility, ai, outlooks
Design System Contributions Work Better When Everyone Knows Your Name (pjo)20,301
design-systems, components, collaboration
JavaScript DRMs Are Stupid and Useless20,300
javascript, drm
The Most-Seen UI on the Internet? Redesigning Turnstile and Challenge Pages (clo)20,299
cloudflare
Configuration Collapse (nat)20,298
figma, components, configuration, props
Define the Theme Color for Safari 26 (gro)20,297
safari, apple, browsers, css
Claude Code vs. Cursor: Which AI IDE Wins for Real Development Work?20,296
claude, anthropic, cursor, ai, code-editors, comparisons
Yet Another Way to Center an (Absolute) Element (mon/css)20,295
css, centering
I Set Up My Own Web Server and Here’s What I Learned About nginx20,294
servers, nginx
Native Random Values in CSS (alv)20,293
css, functions, randomness
What Claude Code Actually Chooses20,292
ai, claude, anthropic, studies, research
Eleventy: How to Work Around the “Git Last Modified” Performance Bottleneck (j9t)20,291
how-tos, eleventy, git, performance
Why Is WebAssembly a Second-Class Language on the Web? (eqr/moz)20,290
webassembly
A Design Turn20,289
design, ai, career
Release Notes for Safari Technology Preview 238 (jon/web)20,288
release-notes, safari, apple, browsers
When Building Is Free, What’s Worth Building? (uxd)20,287
ai, vibe-coding, prototyping, user-experience, usability
New to the Web Platform in February (rac/dev)20,286
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,285
lessons, css, effects
CSS Snapshot 2026 (fri+/w3c)20,284
css, standards
Create Pages From JSON Files With Eleventy (san)20,283
eleventy, json, static-site-generation
The Pentagon Is Making a Mistake by Threatening Anthropic (bin)20,282
ai, anthropic
An Exploit… in CSS?! (css)20,281
css, security
When Is a Link Not a Link? (dec)20,280
html, links, semantics, accessibility
AdonisJS v7 Is Here (vir/ado)20,279
release-notes, adonisjs
“Harmless” Website Updates Can Create Serious Problems for Your Users—Here’s How It Happens20,278
maintenance, accessibility
Accessibility Considerations for Off-Site Navigation and Downloads20,277
accessibility, navigation
16 Modern JavaScript Features That Might Blow Your Mind20,276
javascript
A Complete Guide to Bookmarklets (val/css)20,275
guides, bookmarklets, javascript, link-lists
The Rise of “Micro-Backends”: Why Frontend Devs Are Adopting Hono20,274
hono, express, comparisons, backend-for-frontend, architecture
Developer Experience at Scale—Lessons From Dropbox20,273
interviews, developer-experience, productivity, tooling, ai, lessons
CSS Masonry Layout Is Finally Coming: Native Grid Support Explained20,272
css, masonry, layout, examples
20,000 (fro)20,271
frontend-dogma
Shift-Left Sustainability: How to Develop Green Software by Design20,270
how-tos, sustainability
Rewriting a 12-Year-Old JavaScript Library in TypeScript20,269
refactoring, javascript, typescript
Writing a Good AGENTS.md (phi)20,268
ai, documentation
Goodbye “innerHTML”, Hello “setHTML”: Stronger XSS Protection in Firefox 148 (moz)20,267
javascript, methods, xss, security, firefox, mozilla, browsers
If Code Is Cheap, Intent Is the Currency20,266
ai-agents, ai, code-reviews, documentation
How We Rebuilt Next.js With AI in One Week (sou/clo)20,265
nextjs, ai, cloudflare, deploying
The React Foundation: A New Home for React Hosted by the Linux Foundation (mat/rea)20,264
react, facebook+meta
Best Practices for CSS Scope in Angular Applications (ale)20,263
css, scope, angular, best-practices
Oxfmt Beta (bos+)20,262
release-notes, formatting, tooling
x86 CPU Made in CSS (reb)20,261
css, programming, functionality
Firefox 148 Brings Central AI Control and New Web Standards (hei)20,260
firefox, mozilla, browsers
How I Setup Production-Grade Deployment for My (Somewhat) Vibe-Coded App (mar/fro)20,259
deploying, aws
Web AI: Everything You Need to Know About On-Device AI for the Web20,258
ai
How Many AIs Does It Take to Read a PDF? (jos/ver)20,257
ai, pdf, tooling
A Designer’s Guide to Eco-Friendly Interfaces (sma)20,256
guides, design, user-experience, sustainability
Design Systems Are Platform Problems, Not Feature Problems (sha)20,255
design-systems
Virtual Scroll-Driven 3D Scenes (fro)20,254
css, scrolling, animations
“aria-haspopup” Might Not Do What You Think It Does (mat)20,253
html, aria, attributes, navigation, accessibility
On Software Quality (nic/pxl)20,252
quality, apple
Breakpoints (css)20,251
design, accessibility, mobile, css
AI as Art Director: Can Machines Develop Taste? (web)20,250
ai, design, aesthetics
Loading Smarter: SVG vs. Raster Loaders in Modern Web Design (hol/css)20,249
images, svg, progress-indicators, performance
How to Publish to npm From GitHub Actions (bah)20,248
how-tos, npm, github-actions
Dictionary Compression Is Finally Here, and It’s Ridiculously Good (pim/htt)20,247
compression, performance, javascript
From “instanceof” to “Error.isError”: Safer Error Checking in JavaScript20,246
javascript, errors
Upskilling in the AI Age (dac)20,245
ai, tooling, learning
Getting Started With the Vercel AI SDK in Node.js20,244
introductions, nodejs, ai, vercel
Matt May Speaks (mat+)20,243
videos, interviews, accessibility, html, standards
Stop Using “/init” for AGENTS.md (add)20,242
ai, configuration, documentation
Sprites on the Web (jos)20,241
css, images, sprites, techniques
Wasm vs. JavaScript: Who Wins at a Million Rows? (the)20,240
webassembly, javascript, comparisons, performance
Native HTML Components Don’t Guarantee Good UX (ada)20,239
html, components, user-experience
Standard HTML Video and Audio Lazy-Loading Is Coming (sco)20,238
html, multimedia, lazy-loading, standards, performance
ACCESSIBILITY.md (mgi)20,237
accessibility, documentation
Why AI Is Exposing Design’s Craft Crisis20,236
ai, design, craft, figma, link-lists
My Malware Story Gets Stolen; Yet Another Argument for the IndieWeb (bre)20,235
malware, indieweb, licensing
What Is the IndieWeb? (bre)20,234
indieweb, terminology, concepts
“Made in EU”—It Was Harder Than I Thought20,233
privacy, hosting, tooling, tech-stacks
Everything You Never Wanted to Know About “visually-hidden” (dbu)20,232
html, css, hiding, accessibility
Lil’ Fun Langs (sur)20,231
programming, overviews, link-lists
Git Is the New Code (nec)20,230
ai, git, command-line, code-reviews
The Software Development Lifecycle Is Dead (bor)20,229
processes, ai, ci-cd
Weird Issues With CSS Calculations in Safari 26.2 (cit)20,228
css, functions, safari, apple, browsers
Potentially Coming to a Browser “:near()” You (dxn/css)20,227
css, functions
WordPress 7.0 Beta 1 (wor)20,226
release-notes, wordpress
Big Tech Still Dreams of Mass Surveillance—Now People Are Pushing Back (tro/sal)20,225
privacy, amazon, google, ai
An Official* Logo for HTML (zac)20,224
html
A Considered Approach to Generative AI in Front-End Development (cle)20,223
ai, processes
Notes on Relying on the ARIA Authoring Practices Guide (ste)20,222
aria, accessibility, html
Design Systems Can’t Automate Away All of Your Accessibility Considerations (eri/zer)20,221
design-systems, components, automation, accessibility, aria
Using the Browser’s “<canvas>” for Data Compression20,220
canvas, compression
A Web Revival: The Internet Didn’t Die, You’re Just Not on It20,219
videos, indieweb, web
An In-Depth Guide to Customising Lists With CSS (ric/pic)20,218
guides, css, lists
8 Things You Didn’t Know About Code Mode (bla)20,217
ai
Fastest Frontend Tooling for Humans and AI20,216
tech-stacks, tooling, typescript, developer-experience, optimization
Suffering From Bugs: How I Almost Deleted My Entire Project20,215
bugs, lessons
“border-shape”: The Future of the Non-Rectangular Web (una)20,214
css, shapes, borders
Vitest vs. Jest 2026: The Migration Guide With Real Benchmarks20,213
guides, migrating, vitest, jest, comparisons
Tailwind CSS v4: Container Queries and the Death of Media Queries20,212
tailwind, container-queries, media-queries, css
Claude Sonnet 4.6 vs. GPT-5: The 2026 Developer Benchmark20,211
claude, anthropic, openai, ai, comparisons, metrics, programming, documentation
Sometimes the Best Accessibility Fix Is a Usability Fix20,210
accessibility, usability
When Accessibility Demand Letters Land on Your Desk: A Framework for Strategic Response (dec)20,209
accessibility, strategies
Why Separate Guest and Logged in States Create Accessibility Barriers20,208
accessibility, authentication
Why You Need to Close Open Objects When Users Navigate Away20,207
accessibility, wcag
AI Is Giving Tech Companies Power That Once Belonged to Governments (res)20,206
ai, economics
5 CSS Fouls That I See Way Too Often (kev)20,205
videos, css
Distinguishing “Components” and “Utilities” in Tailwind (zel/css)20,204
tailwind, terminology
Analyst Reactions: How AI Is Reshaping Engineering Organizations20,203
ai, engineering-management
Web Rewind20,202
websites, web, history
Frontend Memory Leaks: A 500-Repository Static Analysis and Five-Scenario Benchmark Study20,201
memory, react, vuejs, angular, studies
From Random Chunks to Real Code—Wiring Up Next.js Source Maps in Sentry (get)20,200
nextjs, source-maps
Design Docs Considered Harmful20,199
documentation, software-design
The Future of Design Is Code and Canvas (zoi/fig)20,198
figma, design, outlooks
Building Typographic Scales in CSS With “:heading()”, “sibling-index()”, and “pow()” (stu)20,197
css, functions, math, typography
Igalia’s Eric Meyer and Ujjwal Sharma Chat With Designer, CSS Developer, and Illustrator Lynn Fisher (lyn+/iga)20,196
podcasts, interviews, css, design
Designing for Transparent Screens20,195
design, transparency, readability
Web Development Is More Than Frontend and Backend (Here’s What Actually Matters)20,194
programming, career
Selectors Level 5 (fan+/w3c)20,193
css, selectors, standards
5 Source Map Best Practices for Frontend Production Deployments (ele/des)20,192
guest-posts, source-maps, javascript, best-practices
Europe Is Ready to Ditch US Tech for Private Alternatives (pro)20,191
tooling, privacy, security, metrics
Europeans Are Dangerously Reliant on US Tech—Now Is a Good Time to Build Our Own (joh/the)20,190
economics, policies, google, microsoft, amazon
We Cut Node.js’ Memory in Half (mco/pla)20,189
nodejs, v8, javascript, memory, metrics
Interop 2026 (geo/css)20,188
interoperability, web-platform, browsers, support, link-lists
Spiral Scrollytelling in CSS With “sibling-index()” (css)20,187
css, functions, scrolling, gsap
Why We Hate AI (fal)20,186
ai
Angular Bindings: What Are They and How Do I Use Them? (ato)20,185
angular
Agentic UX: 7 Principles for Designing Systems With Agents (uxd)20,184
ai-agents, ai, design, principles
Anchored Menus and a Lesson in Scoping (chr/fro)20,183
css, anchor-positioning, scope, lessons
Here’s How to Instruct a LLM to Reference the ARIA Authoring Practices Guide (eri)20,182
how-tos, ai, aria, accessibility
The Hidden Cost of AI Prototypes That Are Made to Die (uxd)20,181
prototyping, ai, design, product-management
How “Liquid Design” Broke the iPhone and Forced Apple’s Great Reset (web)20,180
design, usability, readability, liquid-glass, apple
Why It’s Important to Manually Test for Accessibility20,179
accessibility, testing
Style Headings Using the CSS “:heading” Pseudo-Class (stu)20,178
headings, css, selectors
Why Your CEO Acts Like a Clown: The Tribal Myths of Leadership (uxd)20,177
leadership, culture, engineering-management
Why WebAIM’s Report Only Found 6 Issues on a Million Pages20,176
videos, accessibility, webaim
We Scanned 250 Node.js Repos for Blocking I/O: 76% Had It—and the Benchmarks Explain Why That Matters20,175
nodejs, file-handling, performance, metrics
How Fast Is Fast Enough? Rethinking Web Performance in Pragmagical Terms (tam/spe)20,174
performance, user-experience, concepts
Justifying “text-wrap: pretty”20,173
css, typography
Quick and Dirty Linting (sto)20,172
linting, typescript, javascript, biome
A Programmer’s Loss of a Social Identity (rat)20,171
programming, career, community
JS-Heavy Approaches Are Not Compatible With Long-Term Performance Goals (ser)20,170
javascript, frameworks, performance, prioritization
Fun With TypeScript Generics (ada/fro)20,169
typescript, generics
Are We Having the Wrong AI Dreams? (jet)20,168
ai, outlooks
The EU Moves to Kill Infinite Scrolling (egr/pol)20,167
social-media, scrolling, legal
How to Debug the “@ starting-style” At-Rule in Polypane (pol)20,166
how-tos, debugging, css, animations, polypane, browsers
Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev)20,165
html, tables, scrolling, performance, react
State of React 2025 [Results] (sac/dev)20,164
surveys, metrics, react
You Might Not Need “role="presentation"” (stv/pic)20,163
html, aria, accessibility
Interop 2026: Continuing to Improve the Web for Developers (rac/dev)20,162
interoperability, web-platform, browsers, support
Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents? (ves+)20,161
studies, research, ai, ai-agents, documentation
Mastering Dialog Accessibility20,160
accessibility, modals, html, aria
Launching Interop 2026 (jaf/moz)20,159
interoperability, web-platform, browsers, support
Accessibility Contractors Have Their Place-but It’s Not Everywhere20,158
accessibility, business-relations, processes
The Beautiful Web (j9t)20,157
web, indieweb
Radix UI vs. Base UI (sha)20,156
react, libraries, radix, comparisons
The 80% Job: How Design Leads Are Using AI—and It’s Not About Mockups (uxd)20,155
design, ai, prototyping, communication, leadership, product-management, link-lists
What It Really Costs to Run a WordPress Website in 202620,154
wordpress, economics
Life After Figma Is Coming (and It Will Be Glorious) (jon)20,153
design, ai, tooling, figma
Designing for Agentic AI: Practical UX Patterns for Control, Consent, and Accountability (sma)20,152
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,151
traffic, search, chatgpt, google, metrics
How to Create a CSS-Only Elastic Text Effect (css/fro)20,150
how-tos, css, effects
Re-Creating a Pantone Color Deck in CSS (sto)20,149
css
Announcing TypeScript 6.0 Beta (dan/typ)20,148
typescript
Container Timing: Measuring Web Components Performance (jda/iga)20,147
performance, web-components, chromium
You Know What? Just Don’t Split Words Into Letters (aar)20,146
accessibility, html, screen-readers, support
Does Your Navigation Need an ARIA Menu? Probably Not (pop)20,145
accessibility, navigation, aria, keyboard-navigation
The Natural Design Process (uxd)20,144
design, processes
Building an Endless Procedural Snake With Three.js and WebGL (suj/cod)20,143
threejs, webgl, javascript
Shades of Halftone (max)20,142
effects, halftone
Polypane 28: Project Improvements, Elements Panel Updates, and Chromium 146 (pol)20,141
release-notes, polypane, browsers
The Software Sovereignty Scale (dri)20,140
foss, licensing, legal
It’s About to Get a Lot Easier for Your JavaScript to Clean Up After Itself (wil/pic)20,139
javascript, garbage-collection
The 2026 Frontend Dogma Survey (fro)20,138
frontend-dogma, surveys
Fast by Default (den)20,137
performance, architecture, tooling, code-reviews, processes
Webspace Invaders (mat)20,136
ai, traffic
“Design Courage”20,135
design
Modern CSS Code Snippets20,134
websites, css, examples, comparisons
Design Is Dead, It’s All Evolution Now (ily)20,133
design, processes
Designing Useful Ads (uxd)20,132
design, monetization, ai
Emotional Design: Let’s Design for Silence (uxd)20,131
design
Background Patterns With CSS “corner-radius” (pre/fro)20,130
css, backgrounds, effects, examples
Vite, Rust, and the Future of JavaScript Tooling (eva+/bet)20,129
videos, interviews, vuejs, rust, javascript, oxc, bundling, tooling, ai
Trying to Make the Perfect Pie Chart in CSS (mon/css)20,128
css, html
Large Tech Companies Don’t Need Heroes (sea)20,127
processes, engineering-management, career
Underlining Links With CSS (stu)20,126
css, links
Definitive Guide to Multi-Threaded Rendering on the Web (hac)20,125
guides, dom, rendering
Why JavaScript Needs Structured Concurrency20,124
javascript, concurrency, asynchronicity
Interop 2025: A Year of Convergence (stu/web)20,123
interoperability, web-platform, browsers, retrospectives, metrics
Why Your Brain Rebels Against Redesigns—Even Good Ones (uxd)20,122
design, redesigning, link-lists
How Generative AI Is Redefining Brand Identity Systems20,121
ai, branding, design
How (and Why) to Stop Users From Selecting Text on Your Website20,120
css
The Browser Hates Surprises (fro)20,119
browsers, performance
The CSS Selection (ven/pro)20,118
css, metrics, studies, research
What to Expect in Angular 2220,117
angular
A New Meta Tag for Respecting Text Scaling on Mobile (mat)20,116
accessibility, metadata, scaling
Your Design System Needs an Enforcer (nng)20,115
design-systems, processes
The Return of the Intuitive Designer in the Age of AI (uxd)20,114
design, user-experience, ai
Git’s Magic Files (and)20,113
git, configuration
How to Use the “Auto” Value With “clamp()” (css)20,112
how-tos, css, functions
Accessibility Conformance Testing (ACT) Rules Format 1.1 (wil+/w3c)20,111
accessibility, compliance, testing, documentation
Minifier Benchmarks (j9t)20,110
minification, tooling, metrics, comparisons, html-minifier, htmlnano
CSS “@ scope”: An Alternative to Naming Conventions and Heavy Abstractions (sma)20,109
css, scope, naming
Measuring SVG Rendering Time (sto)20,108
svg, png, images, rendering, performance, web-vitals, metrics
How to Write Alt Text for News (sta/the)20,107
how-tos, alt-text, accessibility, images
Why Designers Secretly Love Constraints (Even When We Complain About Them) (web)20,106
design
Quick Tip: Do Not Replicate OS Behavior (nat)20,105
accessibility, tips-and-tricks
What’s New in ViteLand: January 2026 Recap (man/voi)20,104
release-notes, vite, vitest, rolldown, oxc
Clarity Is Not the Enemy of Depth (the)20,103
content, writing, accessibility
How to Improve Your HTML Game (j9t)20,102
how-tos, html, conformance, learning, career
AI Will Eliminate the Need for Accessibility Professionals? I Think Not20,101
ai, accessibility, testing, career
You Probably Shouldn’t Be Annotating Focus Order (eri)20,100
accessibility, focus, forms
Stop Installing Libraries: 10 Browser APIs That Already Solve Your Problems20,099
javascript, libraries, apis, web-platform
Introduction to the New HTML Element “<geolocation>” (mat)20,098
introductions, html, geolocation
[Webpack] Roadmap 2026 (eve)20,097
webpack
CSS Properties That Solve Annoying Problems (kev)20,096
videos, css
From Basic Adoption to Meaningful Measurement: How Design System Metrics Evolve (zer)20,095
design-systems
Building Bulletproof React Components20,094
react, components
How to Shoot a Screen Using a Board of Keys (mwi)20,093
screenshots, keyboard-shortcuts, history, apple
Introducing Deno Sandbox (tin/den)20,092
deno
State of JavaScript 2025 [Results] (sac/dev)20,091
surveys, metrics, javascript
Deno Deploy Is Generally Available (lca+/den)20,090
deno
Combobox vs. Multiselect vs. Listbox: How to Choose the Right One (vit/sma)20,089
how-tos, forms, design-patterns, comparisons
Nice Select (arg)20,088
forms, css
How Eleventy Survived: Funding, Growth, and Open Source Reality (zac+/fon)20,087
podcasts, interviews, eleventy, foss
A Percise Parser (rem)20,086
javascript, parsing
Elastic/Bouncy Text Effect (css)20,085
css, effects
Accessible Inline Collapsible (eri)20,084
accessibility, html, disclosure-widgets
Accessibility Progress and Healthy Engineering Teams (hbu)20,083
accessibility, technical-debt, web-platform, prioritization
Node.js Path Traversal: Prevention and Security Guide (loi)20,082
guides, nodejs, security
Implementing the Temporal Proposal in JavaScriptCore (you/iga)20,081
javascriptcore, javascript-engines, time
Accessible Design Is Digital Infrastructure (ann)20,080
accessibility, design
What’s Missing From the Web Platform? (wes+/syn)20,079
podcasts, web-platform, wish-lists
Performance-Optimized Video Embeds With Zero JavaScript (stf/fro)20,078
multimedia, performance
What Is JPEG XL: Do We Really Need Another Image Format? (aar/deb)20,077
jpeg-xl, images, quality, performance, metrics
Release Notes for Safari Technology Preview 236 (jon/web)20,076
release-notes, safari, apple, browsers
Building an RSS Aggregator With Astro (ray)20,075
astro, rss, syndication, functionality
Explicit Resource Management in JavaScript20,074
javascript
Stop Asking “Is This on Brand?”—It’s Killing Your Creativity (web)20,073
design, branding, creativity
Limiting Work in Progress Is a Superpower20,072
project-management, processes, productivity, agile, scrum
HTML Minifier Next 5, a Quick Upgrade Guide (j9t)20,071
guides, html-minifier
Selfish AI (cre)20,070
ai
The Indie Web Is Not Defined by Its Enemies (khu)20,069
indieweb, ai
Tim Cook Sold Apple’s Soul (kev)20,068
apple
Google Helped Israeli Military Contractor With AI, Whistleblower Alleges (was)20,067
google, ai, ethics, privacy
Repeatable Form Fields Made Simple (aar)20,066
forms, html, web-components
A Broken Heart (api)20,065
performance, fonts, emoji
My Opinionated ESLint Setup for Vue Projects (ale)20,064
eslint, configuration, vuejs
Tickering With Node.js Core on ARM64 Windows (joy)20,063
nodejs, building, windows, microsoft
When Design Stops Asking Why and Starts Asking, “Can AI Do It?” (uxd)20,062
design, ai, processes, quality
The Too Early Breakpoint (sha)20,061
css, layout
“WCAG Is Difficult to Read, Don’t Read It” Is a Self-Fulfilling Prophecy (yat)20,060
wcag, standards, accessibility
AI Agents Explained (tre)20,059
ai-agents, ai
Practical Use of AI Coding Tools for the Responsible Developer (ska/sma)20,058
ai, tooling, prompting
Announcing Rspress 2.020,057
release-notes
New to the Web Platform in January (rac/dev)20,056
release-notes, web-platform, browsers, firefox, mozilla, chrome, google
How the Same Content Always Has Multiple Different Versions20,055
accessibility, content, comparisons
React’s “ViewTransition” Element (chr/fro)20,054
react, view-transitions
Understanding Hydration in Frontend Frameworks: Definition, Challenges, and Optimization Strategies (ele/des)20,053
guest-posts, frameworks, hydration, optimization, concepts, strategies
The Design System Paradox: How Abstraction Can Hollow Out Quality (pjo/zer)20,052
design-systems, quality, training
How to Make an HTTP Request in Node.js (loi)20,051
how-tos, nodejs, http
Is Learning CSS a Waste of Time in 2026?20,050
css, learning, career, discussions
Vibe Prototyping Is a Double-Edged Sword (edd/uxd)20,049
prototyping, vibe-coding, ai, design
OpenJS Foundation Security Program: Annual Report 2025 (ope)20,048
openjs, security
Cryptography Usage in Web Standards (w3c)20,047
standards, cryptography, security
Making Interesting Borders With CSS “corner-shape” (cas)20,046
css, borders
How Rolldown Works: High-Performance Code Splitting With Bitset Logic (atr)20,045
rolldown, bundling, code-splitting, performance
Why I Don’t Call Myself an Accessibility Expert20,044
accessibility, career
How an Accessibility Designer Adds Keyboard Shortcuts to a Web App (eri)20,043
web-apps, keyboard-shortcuts, accessibility
The Next Decade of UX: Why Psychology Matters More Than Ever (tbf/nng)20,042
videos, interviews, user-experience, design, outlooks
How to Design Great Alt Text: An Introduction (deq)20,041
how-tos, introductions, alt-text, images, accessibility
How to Style the New “::search-text” and Other Highlight-y Pseudo-Elements (dxn/css)20,040
how-tos, css, selectors
Introducing ReliCSS: A Tool for Front-End Archaeology (stu)20,039
introductions, tooling, css, auditing
AI’s Text-Trap: Moving Towards a More Interactive Future (uxd)20,038
ai, interaction-design, user-experience
A Year of Creator Wins: Highlights From the JetBrains Content Creators Program 2025 (jet)20,037
jetbrains, community
Are We Doing UX for AI the Right Way? (cxo/uxd)20,036
user-experience, design, conversational-design, ai, link-lists
7 Learnings From Anders Hejlsberg: The Architect Behind C# and TypeScript (git)20,035
lessons, scalability, typescript, foss, ai, collaboration
How AI Is Redefining the Way We Find Content (cle)20,034
ai, crawling, search, content, seo
Some Notes on Starting to Use Django (b0r)20,033
django
More Invoker Commands, and More Reasons Not to Use JavaScript Please (paw)20,032
html, examples
Unstacking CSS Stacking Contexts (sma)20,031
css, positioning
Try Text Scaling Support in Chrome Canary (jos)20,030
chrome, google, browsers, scaling, accessibility
We’re Creating a Knowledge Collapse and No One’s Talking About It20,029
ai, documentation, learning, career
Solving Shrinkwrap: New Experimental Technique (kiz)20,028
css, techniques
On the Need for Neutral Maintained Minifier Metrics (j9t)20,027
minification, tooling, html-minifier, htmlnano
Claude Code for Designers: A Practical Guide20,026
guides, design, claude, anthropic, ai
Design Systems Checklist (tyc)20,025
design-systems, checklists
9 Reasons to Choose Sketch in 2026 (fre/ske)20,024
sketch
Supporting Open Source in 2026: Why It Matters More Than Ever ($50,000) (mar/fro)20,023
foss, web-platform
Drawing Connections With CSS Anchor Positioning20,022
css, anchor-positioning
Improving Single Executable Application Building for Node.js (joy)20,021
nodejs
Density vs. Clarity: The Core Tension in Modern UI Design (web)20,020
design, information-design, minimalism, comparisons, figma
How Web Performance Impacts User Experience (deb)20,019
performance, user-experience, web-vitals, metrics
Why the Future of Design Is Less Flash and More Thought20,018
design, outlooks
There Is No Need to Trap Focus on a “dialog” Element (zel/css)20,017
modals, focus, accessibility
A Security Checklist for Your React and Next.js Apps (the)20,016
security, react, nextjs
Porting 100k Lines From TypeScript to Rust Using Claude Code in a Month (vje)20,015
migrating, typescript, rust, claude, anthropic, ai
SPAs Are a Performance Dead End (yeg)20,014
single-page-apps, performance
Vibe Prototyping Isn’t Solving Any Problems—but It’s Creating Many New Ones (pav)20,013
prototyping, design, ai, vibe-coding
Using Maturity Models to Build Accessibility That Lasts (ted)20,012
accessibility
Figma Slots for Repeating Items (nat)20,011
figma, components
How to Use Font Ligatures20,010
how-tos, typography, fonts, tooling, adobe, figma, microsoft, css
npmx (dan/npm)20,009
websites, npm, packages
Software Design Principles That Matter20,008
software-design, principles, examples
6 Ways to Set Better Content Accessibility Goals in 202620,007
accessibility, processes
Anchor Interpolated Morph (AIM) (arg)20,006
css, animations, techniques
Responsive Hexagon Grid Using Modern CSS (css/css)20,005
css, functions, math, responsive-design
CSS Scope and Mixins (chr+/odd)20,004
videos, interviews, css, scope, mixins
Do We All See the Same Colors? (tba)20,003
colors, color-blindness, accessibility
Names Are Hard but They Don’t Have to Be (col)20,002
internationalization, naming, validation
Handling Breaking Changes in a Design System Without Causing Chaos (sha/zer)20,001
design-systems, maintenance, semver, communication
Understanding the Fundamentals of CSS Layout (pol)20,000
fundamentals, css, layout, grids, flexbox, positioning
The Context Collapse Problem19,999
ai, documentation
CSS Optical Illusions (alv)19,998
css, effects, examples
Claude’s New Constitution (ant)19,997
claude, anthropic, ai
Why Webflow Isn’t the Future—Yet (web)19,996
webflow, low-and-no-code
10 Digital Accessibility Predictions for 2026 (ons)19,995
accessibility, outlooks, wcag, career, ai, legal, assistive-tech
When Will CSS Grid Lanes Arrive? How Long Until We Can Use It? (jen/web)19,994
css, grids, masonry, layout
CTA Hierarchy in the Wild (jim)19,993
user-experience, buttons, youtube
10 Tips for Effective User Experience Evaluation19,992
user-experience, usability, content, design, testing, tips-and-tricks
Barriers From Links With ARIA (aar)19,991
accessibility, links, html, aria
The Conditionally Open Web (cor)19,990
open-web
Why Light-Weight Websites May One Day Save Your Life (mah)19,989
performance, accessibility, print, frameworks
How to Diagnose Lighthouse Score Discrepancies Between Tools (deb)19,988
how-tos, performance, lighthouse, google, tooling
Accessibility 101 and Core Concepts (kno)19,987
videos, accessibility, introductions, concepts
Floating Action Buttons Are Bad, and What to Do Instead (eri)19,986
buttons, usability, material-design, google
The Accessibility Manager Moment No One Warns You About19,985
accessibility, leadership, legal, communication
Securing npm Is Table Stakes (nza+/cha)19,984
podcasts, interviews, npm, security, ai
What Makes Generated UI Worth Keeping? (uxd)19,983
design, ai, branding, tooling
Demystifying Screen Reader Use for Manual Testing: Deneb Pulsipher and Kosi Asabere19,982
videos, accessibility, testing, screen-readers
CSS in 2026: The New Features Reshaping Frontend Development (log)19,981
css, functions
How to Favicon in 2026: Three Files That Fit Most Needs (sit/evi)19,980
how-tos, images, favicons
I Learned the First Rule of ARIA the Hard Way (css)19,979
accessibility, aria, semantics, html
Designing Beyond the Happy Path in Design Systems (ste/zer)19,978
design-systems, design
Developing Trustworthy Information (jma)19,977
writing, content, ai
Faking a Fieldset-Legend (tyl/clo)19,976
html, forms, css
Node.js 16 to 25 Performance Benchmarks19,975
nodejs, performance, metrics, comparisons
Lowering the Specificity of Multiple Rules at Once (mat)19,974
css, cascade
Inside Turbopack: Building Faster by Building Less (she+)19,973
turbopack, performance
A Brief History of Programming… (fir)19,972
videos, programming, history
Animating Responsive Grid Layout Transitions With GSAP Flip (cod)19,971
css, grids, layout, animations, gsap, plugins
Rethinking “Pixel Perfect” Web Design (ami/sma)19,970
design, quality
View Transitions and Playing Video (chr/fro)19,969
javascript, view-transitions, multimedia
AI’s Missing Ingredient (cwo)19,968
ai, vibe-coding, creativity, design
Some Thoughts on the Open Web (mno)19,967
open-web, web
Design Tokens With Confidence (luk/uxd)19,966
design-tokens, json, css
What Figma Got Wrong About Design Systems (web)19,965
figma, design-systems
The State of WebAssembly—2025 and 2026 (uno)19,964
webassembly, retrospectives, outlooks
“Code Only” Props in Figma (nat)19,963
figma, props
What Design Leaders Must Unlearn to Lead in an AI-First World (uxd)19,962
design, leadership, ai
Design in Code, Get Praise (ada)19,961
design, processes, communication
How to Build a WordPress Block Theme19,960
how-tos, wordpress, theming
Vercel vs. Netlify vs. Cloudflare: Serverless Cold Starts Compared19,959
vercel, netlify, cloudflare, serverless, comparisons, metrics
jQuery 4.0.0 (tim/jqu)19,958
jquery, release-notes
AdonisJS v7 Is Feature-Complete and Entering Final Validation (vir/ado)19,957
release-notes, adonisjs
ASCII Characters Are Not Pixels: A Deep Dive Into ASCII Rendering19,956
deep-dives, ascii, rendering