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 and included. Hide

Frontend Dogma

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

→ 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#
The Shadcn-ification of the Internet20,577
design, design-systems, shadcn, web
Too Much Color (kei)20,576
colors, oklch, css
Employees Across OpenAI and Google Support Anthropic’s Lawsuit Against the Pentagon (hay+/ver)20,575
anthropic, openai, google, ai, ethics, legal
The Color Statistic That’s Been Wrong for 80 Years (mul)20,574
colors
Using CSS Animations as State Machines to Remember Focus and Hover States With CSS Only (pat)20,573
css, animations, focus, hover, techniques
Testing Browser Support for “focusgroup” (ada)20,572
html, attributes, focus, javascript
The Enforced Accessibility of the “geolocation” Element (chr/fro)20,571
html, geolocation, accessibility
How We Rewrote 130K Lines From React to Svelte in Two Weeks20,570
migrating, react, svelte
Persuasive Design: Ten Years Later (sma)20,569
design, hci, retrospectives
The Value of “z-index” (ami/css)20,568
css, positioning
Why Designing in Code Makes You a Better Designer (ada)20,567
design, career
How I Added Bluesky Likes to My Astro Blog (loi)20,566
astro, bluesky, functionality
Do AI-Enabled Companies Need Fewer People? (sel)20,565
ai, hiring, economics, metrics, link-lists
Absorbing Unknown Into the Type Realm20,564
typescript, json
Building a Real-Time Todo App With Jazz and Vue 3 (ale)20,563
functionality, vuejs
It Took Me Just 2 Hours to Vibe Code a Mass Surveillance Site With OpenAI’s Codex (pcm)20,562
vibe-coding, ai, openai, privacy
View Transitions Can Swoop‽ (arg)20,561
css, view-transitions, effects
Your Design System Might Be AI-Ready—Your Organisation Probably Isn’t (mur)20,560
design-systems, ai
Why Most Design Principles Fail (ben)20,559
design, principles
Owning Code in the Age of AI (moz)20,558
ai, reliability
I Don’t Know if My Job Will Still Exist in Ten Years (sea)20,557
automation, ai, career
Nobel Laureate Joe Stiglitz Says Not Only Can AI Take Your Job, It’ll Make the “Tech Bro” Class Richer While Doing So (cat/for)20,556
ai, economics
The Accessibility D.E.N.N.I.S. System (jar)20,555
accessibility, processes
Announcing TypeScript 6.0 RC (dan/typ)20,554
release-notes, typescript
AI Agents vs. Traditional Automation: How Small Teams Can Choose the Right Approach20,553
ai, ai-agents, automation, comparisons
My First Git Commit (ddb)20,552
git
Accessibility and AI Agents20,551
accessibility, ai-agents, ai
Statistical Significance Isn’t the Same as Practical Significance (nng)20,550
concepts, user-experience
How Internet Sovereignty Is Reshaping Company Tech Stacks20,549
web, tech-stacks
What Are Secondary Keywords? (And How to Use Them) (ahr)20,548
how-tos, keywords, seo
Hardening Firefox With Anthropic’s Red Team (moz)20,547
firefox, mozilla, browsers, ai, anthropic
Fast Software: More Programmers, Not Fewer (yeg)20,546
programming, career, hiring, ai
Request for Developer Feedback: “focusgroup” (jac)20,545
html, attributes, chromium, browsers
Prompt Hoarders: 7 Reasons Saving Prompts Won’t Make You Creative (web)20,544
design, creativity, prompting, ai
Folded Corner With CSS (kit)20,543
css, images, clipping
The Big Gotcha of Anchor Positioning (chr/fro)20,542
css, anchor-positioning
The Real Skill in Programming Is Debugging—Everything Else Is Copy–Paste20,541
programming, debugging
You Don’t Know HTML Tables20,540
html, tables, javascript
Labor Market Impacts of AI: A New Measure and Early Evidence (ant)20,539
ai, studies, research, metrics
AdonisJS 7 Transformers: A Deep Dive (mez)20,538
deep-dives, adonisjs, type-safety
Product Ethics Have Never Mattered More20,537
product-management, ethics, ai, anthropic, openai, link-lists
A GitHub Issue Title Compromised 4,000 Developer Machines20,536
security, github, ai
One CSS Property That Makes Numbers Look Instantly Better (ami)20,535
css
The Different Ways to Select “<html>” in CSS (dxn/css)20,534
html, css, selectors
2026 Crystal Ball: What to Expect in the ADA Title iii Universe This Year20,533
accessibility, ada, outlooks
Every Jira Ticket Is Your Accessibility Policy (equ)20,532
accessibility, policies, atlassian, processes, product-management
A Guide to Accessible Focus Indicators (pop)20,531
guides, accessibility, focus, keyboard-navigation, css
Accessibility Testing Takes More Than a Scan20,530
accessibility, testing, tooling
Your Skip Link Targets May Not Need “tabindex=-1” to Work Properly (mat)20,529
skip-links, html, attributes, accessibility
On Matters of Accessibility20,528
accessibility
Date Math in JavaScript: The Hidden Trap You’ll Eventually Hit (phi/hac)20,527
javascript, time, math, apis
[SolidJS] v2.0.0 Beta—the “<suspense>” Is Over Pre-Release (rya/sol)20,526
release-notes, solidjs
“display: green;”—Applying the Web Sustainability Guidelines (hdv/per)20,525
videos, sustainability
How to Steal npm Publish Tokens by Opening GitHub Issues (nec)20,524
npm, github, security, ai
Building a New Flash20,523
flash, tooling
Big Tech’s War on Democracy20,522
ai, anthropic
Announcing the Node.js LTS Upgrade and Modernization Program (ope)20,521
nodejs
OpenAI Alters Deal With Pentagon as Critics Sound Alarm Over Surveillance (kev+/nbc)20,520
ai, openai, privacy, legal, politics
Finding an Accessibility-First Culture in npmx (abb/pic)20,519
accessibility, culture, npmx
Get Features Faster With Chrome’s Two-Week Release Cycle20,518
chrome, google, browsers
It’s 2026 and Google Search Is Totally Broken20,517
google, search, seo, foss, ai
Nobody Gets Promoted for Simplicity (ter)20,516
simplicity, complexity, career
W3C Accessibility Guidelines (WCAG) 3.0 (ala+/w3c)20,515
w3c, accessibility, guidelines, wcag
What I Like About WCAG 3.0 (kar)20,514
accessibility, wcag
Eleventy Is Now Build Awesome (zac/11t)20,513
eleventy
Proxying Fetch Requests in Server-Side JavaScript (nza)20,512
javascript, data-fetching, nodejs, deno, bun, cloudflare
Seven Years to TypeScript: Migrating 11,000 Files at Patreon20,511
migrating, javascript, typescript, case-studies
1995: From Batman Forever’s Cinematic Design to HTML Tables (ric)20,510
web, history, design, netscape, mosaic, browsers, tables, layout, html, wysiwyg, code-editors
Google’s Chrome Browser Moves to a Two-Week Release Cycle (fre)20,509
chrome, google, browsers
How OpenAI Caved to the Pentagon on AI Surveillance (hay/ver)20,508
openai, ai, privacy, politics
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,507
privacy, ethics, palantir, microsoft, google, amazon, politics
January 2026 Baseline Monthly Digest (mal)20,506
browsers, support, web-platform, css, view-transitions, javascript, web-workers, apis, units
Agent Skills: The Complete Guide (jet)20,505
videos, guides, ai-agents, ai
Getting Started With the Popover API (sma)20,504
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,503
microsoft, ai, slop
Sticky Grid Scroll: Building a Scroll-Driven Animated Grid (the/cod)20,502
tutorials, css, grids, layout, scrolling, gsap
MCP Servers and the Return of the Service Account Problem (aem)20,501
servers, mcp, ai, security
Web Sustainability Guidelines Update (tzv/w3c)20,500
videos, w3c, sustainability, guidelines
A11y 101: 2.5.2 Pointer Cancellation (nat)20,499
introductions, accessibility
The Odometer Effect (Without JavaScript) (pre/fro)20,498
css, functions, effects
Why React 19’s Compiler Changes Everything for Senior Devs20,497
react, compiling
Get Your War On: AI Chatbots in the Kill Chain (dav)20,496
ai, anthropic, openai
External Import Maps, Today (lea)20,495
javascript, import-maps
Popover API or Dialog API: Which to Choose? (zel/css)20,494
pop-overs, modals, apis, accessibility, javascript
My Personal Skills for AI-Assisted Node.js Development (mco)20,493
ai, tooling, nodejs
Expose Your Design System to LLMs (hvp)20,492
design-systems, ai
You Can Use Newline Characters in URLs (lem)20,491
urls, data-urls, links, html, attributes
The Hardest Part of Being a Developer Isn’t Coding—It’s Disappearing Quietly (nor)20,490
career, community
Figcaptions Versus Alt Text (tem)20,489
html, images, alt-text, accessibility, comparisons
Quick Tip: Hosting HTML/CSS/JS Demos From Source Code on GitHub Pages (cod)20,488
hosting, github-pages, tips-and-tricks
The Most-Seen UI on the Internet? Redesigning Turnstile and Challenge Pages20,487
cloudflare
We Deserve a Better Streams API for JavaScript (jas)20,486
javascript, streaming, apis
Put “aria-hidden=true” on Decorative SVGs (mat)20,485
svg, images, aria, accessibility, attributes
Accessibility Matters20,484
accessibility
[Svelte] Best Practices (sve)20,483
svelte, best-practices
Accessibility People Are a Superpower (jar)20,482
accessibility
“role=presentation” Is No Alternative for “aria-hidden=true” (mat)20,481
accessibility, aria, html, attributes, comparisons
Three Reasons Your “scroll-snap” Container May Be Overflowing on Mobile (sch)20,480
css, scrolling, mobile
Have We Forgotten How to Design? (lou)20,479
design
Anatomy of a CSS Phone Mockup20,478
css, design, effects
Security Advisory: Addressing Recent Vulnerabilities in Angular (ang)20,477
angular, security
A New Path for Digital Accessibility? (web)20,476
accessibility, ai, outlooks
Design System Contributions Work Better When Everyone Knows Your Name (pjo)20,475
design-systems, components, collaboration
JavaScript DRMs Are Stupid and Useless20,474
javascript, drm
Configuration Collapse (nat)20,473
figma, components, configuration, props
Define the Theme Color for Safari 26 (gro)20,472
safari, apple, browsers, css
Claude Code vs. Cursor: Which AI IDE Wins for Real Development Work?20,471
claude, anthropic, cursor, ai, code-editors, comparisons
Yet Another Way to Center an (Absolute) Element (mon/css)20,470
css, centering
I Set Up My Own Web Server and Here’s What I Learned About nginx20,469
servers, nginx
New to the Web Platform in February (rac)20,468
release-notes, web-platform, browsers, chrome, google, firefox, mozilla, safari, apple
Before, During, and After20,467
accessibility, processes, legal, compliance, community
Native Random Values in CSS (alv)20,466
css, functions, randomness
What Claude Code Actually Chooses20,465
ai, claude, anthropic, studies, research
Eleventy: How to Work Around the “Git Last Modified” Performance Bottleneck (j9t)20,464
how-tos, eleventy, git, performance
Why Is WebAssembly a Second-Class Language on the Web? (eqr/moz)20,463
webassembly
A Design Turn20,462
design, ai, career
Release Notes for Safari Technology Preview 238 (jon/web)20,461
release-notes, safari, apple, browsers
When Building Is Free, What’s Worth Building?20,460
ai, vibe-coding, prototyping, user-experience, usability
Lessons Learned From Failed Demos: Pure CSS Nav Thumb Flip on Scroll (ana/fro)20,459
lessons, css, effects
CSS Snapshot 2026 (fri+/w3c)20,458
css, standards
Create Pages From JSON Files With Eleventy (san)20,457
eleventy, json, static-site-generation
The Pentagon Is Making a Mistake by Threatening Anthropic (bin)20,456
ai, anthropic
An Exploit… in CSS?! (css)20,455
css, security
When Is a Link Not a Link? (dec)20,454
html, links, semantics, accessibility
AdonisJS v7 Is Here (vir/ado)20,453
release-notes, adonisjs
“Harmless” Website Updates Can Create Serious Problems for Your Users—Here’s How It Happens20,452
maintenance, accessibility
Accessibility Considerations for Off-Site Navigation and Downloads20,451
accessibility, navigation
16 Modern JavaScript Features That Might Blow Your Mind20,450
javascript
A Complete Guide to Bookmarklets (val/css)20,449
guides, bookmarklets, javascript, link-lists
The Rise of “Micro-Backends”: Why Frontend Devs Are Adopting Hono20,448
hono, express, comparisons, backend-for-frontend, architecture
Developer Experience at Scale—Lessons From Dropbox20,447
interviews, developer-experience, productivity, tooling, ai, lessons
CSS Masonry Layout Is Finally Coming: Native Grid Support Explained20,446
css, masonry, layout, examples
20,000 (fro)20,445
frontend-dogma
Writing a Good AGENTS.md (phi)20,444
ai, documentation
How We Rebuilt Next.js With AI in One Week (sou)20,443
nextjs, ai, cloudflare, deploying
SVGs on the Web: Performance Comparison Based on How You Load Them (nuc)20,442
svg, images, performance, comparisons
Let’s Break Some WCAG Rules (ndc)20,441
videos, accessibility, wcag
Shift-Left Sustainability: How to Develop Green Software by Design20,440
how-tos, sustainability
Rewriting a 12-Year-Old JavaScript Library in TypeScript20,439
refactoring, javascript, typescript
Goodbye “innerHTML”, Hello “setHTML”: Stronger XSS Protection in Firefox 148 (moz)20,438
javascript, methods, xss, security, firefox, mozilla, browsers
If Code Is Cheap, Intent Is the Currency20,437
ai-agents, ai, code-reviews, documentation
The React Foundation: A New Home for React Hosted by the Linux Foundation (mat/rea)20,436
react, facebook+meta
Best Practices for CSS Scope in Angular Applications (ale)20,435
css, scope, angular, best-practices
Oxfmt Beta (bos+)20,434
release-notes, formatting, tooling
x86 CPU Made in CSS (reb)20,433
css, programming, functionality
Firefox 148 Brings Central AI Control and New Web Standards (hei)20,432
firefox, mozilla, browsers
How I Setup Production-Grade Deployment for My (Somewhat) Vibe-Coded App (mar/fro)20,431
deploying, aws
Web AI: Everything You Need to Know About On-Device AI for the Web20,430
ai
Stop Using “/init” for AGENTS.md (add)20,429
ai, configuration, documentation
AI as Art Director: Can Machines Develop Taste? (web)20,428
ai, design, aesthetics, art-direction
Breakpoints (css)20,427
design, accessibility, mobile, breakpoints, css
How Many AIs Does It Take to Read a PDF? (jos/ver)20,426
ai, pdf, tooling
A Designer’s Guide to Eco-Friendly Interfaces (sma)20,425
guides, design, user-experience, sustainability
Design Systems Are Platform Problems, Not Feature Problems (sha)20,424
design-systems
Virtual Scroll-Driven 3D Scenes (fro)20,423
css, scrolling, animations
“aria-haspopup” Might Not Do What You Think It Does (mat)20,422
html, aria, attributes, navigation, accessibility
On Software Quality (nic/pxl)20,421
quality, apple
Loading Smarter: SVG vs. Raster Loaders in Modern Web Design (hol/css)20,420
images, svg, progress-indicators, performance
How to Publish to npm From GitHub Actions (bah)20,419
how-tos, npm, github-actions
Dictionary Compression Is Finally Here, and It’s Ridiculously Good (pim/htt)20,418
compression, performance, javascript
From “instanceof” to “Error.isError”: Safer Error Checking in JavaScript20,417
javascript, errors
Upskilling in the AI Age (dac)20,416
ai, tooling, learning
Getting Started With the Vercel AI SDK in Node.js20,415
introductions, nodejs, ai, vercel
Matt May Speaks (mat+)20,414
videos, interviews, accessibility, html, standards
Sprites on the Web (jos)20,413
css, images, sprites, techniques
AI Is Locking People Out—at Scale (kc)20,412
accessibility, ai, studies, research, metrics
Wasm vs. JavaScript: Who Wins at a Million Rows?20,411
webassembly, javascript, comparisons, performance
Native HTML Components Don’t Guarantee Good UX (ada)20,410
html, components, user-experience
Standard HTML Video and Audio Lazy-Loading Is Coming (sco)20,409
html, multimedia, lazy-loading, standards, performance
ACCESSIBILITY.md (mgi)20,408
accessibility, documentation
Why AI Is Exposing Design’s Craft Crisis20,407
ai, design, craft, figma, link-lists
My Malware Story Gets Stolen; Yet Another Argument for the IndieWeb (bre)20,406
malware, indieweb, licensing
Big Tech Still Dreams of Mass Surveillance—Now People Are Pushing Back (tro/sal)20,405
privacy, amazon, google, ai, politics
What Is the IndieWeb? (bre)20,404
indieweb, terminology, concepts
“Made in EU”—It Was Harder Than I Thought20,403
privacy, hosting, tooling, tech-stacks
Everything You Never Wanted to Know About “visually-hidden” (dbu)20,402
html, css, hiding, accessibility
Lil’ Fun Langs (sur)20,401
programming, overviews, link-lists
Git Is the New Code (nec)20,400
ai, git, command-line, code-reviews
The Software Development Lifecycle Is Dead (bor)20,399
processes, ai, ci-cd
Weird Issues With CSS Calculations in Safari 26.2 (cit)20,398
css, functions, safari, apple, browsers
Potentially Coming to a Browser “:near()” You (dxn/css)20,397
css, functions
WordPress 7.0 Beta 1 (wor)20,396
release-notes, wordpress
An Official* Logo for HTML (zac)20,395
html
How to Cut LLM Token Costs and Speed Up AI Apps20,394
how-tos, ai, token-optimization, economics
A Considered Approach to Generative AI in Front-End Development (cle)20,393
ai, processes
Notes on Relying on the ARIA Authoring Practices Guide (ste)20,392
aria, accessibility, html
Design Systems Can’t Automate Away All of Your Accessibility Considerations (eri/zer)20,391
design-systems, components, automation, accessibility, aria
Using the Browser’s “<canvas>” for Data Compression20,390
canvas, compression
A Web Revival: The Internet Didn’t Die, You’re Just Not on It20,389
videos, indieweb, web
An In-Depth Guide to Customising Lists With CSS (ric/pic)20,388
guides, css, lists
8 Things You Didn’t Know About Code Mode (bla)20,387
ai
Fastest Frontend Tooling for Humans and AI20,386
tech-stacks, tooling, typescript, developer-experience, optimization
Suffering From Bugs: How I Almost Deleted My Entire Project20,385
bugs, lessons
“border-shape”: The Future of the Non-Rectangular Web (una)20,384
css, shapes, borders
Vitest vs. Jest 2026: The Migration Guide With Real Benchmarks20,383
guides, migrating, vitest, jest, comparisons
Tailwind CSS v4: Container Queries and the Death of Media Queries20,382
tailwind, container-queries, media-queries, css
Claude Sonnet 4.6 vs. GPT-5: The 2026 Developer Benchmark20,381
claude, anthropic, openai, ai, comparisons, metrics, programming, documentation
Sometimes the Best Accessibility Fix Is a Usability Fix20,380
accessibility, usability
When Accessibility Demand Letters Land on Your Desk: A Framework for Strategic Response (dec)20,379
accessibility, strategies
Why Separate Guest and Logged in States Create Accessibility Barriers20,378
accessibility, authentication
Why You Need to Close Open Objects When Users Navigate Away20,377
accessibility, wcag
AI Is Giving Tech Companies Power That Once Belonged to Governments (res)20,376
ai, economics
5 CSS Fouls That I See Way Too Often (kev)20,375
videos, css
Distinguishing “Components” and “Utilities” in Tailwind (zel/css)20,374
tailwind, terminology
Analyst Reactions: How AI Is Reshaping Engineering Organizations20,373
ai, engineering-management
Editor Improvements: Smooth Caret Animation and New Selection Behavior (jet)20,372
code-editors, jetbrains
Europeans Are Dangerously Reliant on US Tech—Now Is a Good Time to Build Our Own (joh/the)20,371
economics, politics, google, microsoft, amazon
Designing for Transparent Screens20,370
design, transparency+opacity, readability
Preserving the Web Is Not the Problem—Losing It Is (tec)20,369
web, ai
Web Rewind20,368
websites, web, history
Frontend Memory Leaks: A 500-Repository Static Analysis and Five-Scenario Benchmark Study20,367
memory, react, vuejs, angular, studies
From Random Chunks to Real Code—Wiring Up Next.js Source Maps in Sentry (get)20,366
nextjs, source-maps
Design Docs Considered Harmful20,365
documentation, software-design
The Future of Design Is Code and Canvas (zoi/fig)20,364
figma, design, outlooks
Building Typographic Scales in CSS With “:heading()”, “sibling-index()”, and “pow()” (stu)20,363
css, functions, math, typography
Igalia’s Eric Meyer and Ujjwal Sharma Chat With Designer, CSS Developer, and Illustrator Lynn Fisher (lyn+/iga)20,362
podcasts, interviews, css, design
Web Development Is More Than Frontend and Backend (Here’s What Actually Matters)20,361
programming, career
Selectors Level 5 (fan+/w3c)20,360
css, selectors, standards
5 Source Map Best Practices for Frontend Production Deployments (ele/des)20,359
guest-posts, source-maps, javascript, best-practices
Europe Is Ready to Ditch US Tech for Private Alternatives (pro)20,358
tooling, privacy, security, metrics
We Cut Node.js’ Memory in Half (mco/pla)20,357
nodejs, v8, javascript, memory, metrics
Interop 2026 (geo/css)20,356
interoperability, web-platform, browsers, support, link-lists
Spiral Scrollytelling in CSS With “sibling-index()” (css)20,355
css, functions, scrolling, gsap
Why We Hate AI (fal)20,354
ai
Angular Bindings: What Are They and How Do I Use Them? (ato)20,353
angular
Agentic UX: 7 Principles for Designing Systems With Agents20,352
ai-agents, ai, design, principles
Anchored Menus and a Lesson in Scoping (chr/fro)20,351
css, anchor-positioning, scope, lessons
Here’s How to Instruct a LLM to Reference the ARIA Authoring Practices Guide (eri)20,350
how-tos, ai, aria, accessibility
The Hidden Cost of AI Prototypes That Are Made to Die20,349
prototyping, ai, design, product-management
How “Liquid Design” Broke the iPhone and Forced Apple’s Great Reset (web)20,348
design, usability, readability, liquid-glass, apple
Why It’s Important to Manually Test for Accessibility20,347
accessibility, testing
Style Headings Using the CSS “:heading” Pseudo-Class (stu)20,346
headings, css, selectors
AI Is Accidentally Making Documentation More Accessible (ger)20,345
ai, accessibility, documentation
Why Your CEO Acts Like a Clown: The Tribal Myths of Leadership20,344
leadership, culture, engineering-management
Why WebAIM’s Report Only Found 6 Issues on a Million Pages20,343
videos, accessibility, webaim
We Scanned 250 Node.js Repos for Blocking I/O: 76% Had It—and the Benchmarks Explain Why That Matters20,342
nodejs, file-handling, performance, metrics
How Fast Is Fast Enough? Rethinking Web Performance in Pragmagical Terms (tam/spe)20,341
performance, user-experience, concepts
Justifying “text-wrap: pretty”20,340
css, typography
Quick and Dirty Linting (sto)20,339
linting, typescript, javascript, biome
A Programmer’s Loss of a Social Identity (rat)20,338
programming, career, community
JS-Heavy Approaches Are Not Compatible With Long-Term Performance Goals (ser)20,337
javascript, frameworks, performance, prioritization
Fun With TypeScript Generics (ada/fro)20,336
typescript, generics
Are We Having the Wrong AI Dreams? (jet)20,335
ai, outlooks
The EU Moves to Kill Infinite Scrolling (egr)20,334
social-media, scrolling, legal
Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents? (ves+)20,333
studies, research, ai, ai-agents, documentation
How to Debug the “@starting-style” At-Rule in Polypane (pol)20,332
how-tos, debugging, css, animations, polypane, browsers
Interop 2026: Continuing to Improve the Web for Developers (rac)20,331
interoperability, web-platform, browsers, support
Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev)20,330
html, tables, scrolling, performance, react
State of React 2025 [Results] (sac/dev)20,329
surveys, metrics, react
You Might Not Need “role="presentation"” (stv/pic)20,328
html, aria, accessibility
Mastering Dialog Accessibility20,327
accessibility, modals, html, aria
Launching Interop 2026 (jaf/moz)20,326
interoperability, web-platform, browsers, support
Accessibility Contractors Have Their Place-but It’s Not Everywhere20,325
accessibility, business-relations, processes
The Beautiful Web (j9t)20,324
web, indieweb
Radix UI vs. Base UI (sha)20,323
react, libraries, radix, comparisons
The 80% Job: How Design Leads Are Using AI—and It’s Not About Mockups20,322
design, ai, prototyping, communication, leadership, product-management, link-lists
What It Really Costs to Run a WordPress Website in 202620,321
wordpress, economics
Life After Figma Is Coming (and It Will Be Glorious) (jon)20,320
design, ai, tooling, figma
Designing for Agentic AI: Practical UX Patterns for Control, Consent, and Accountability (sma)20,319
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,318
traffic, search, chatgpt, google, metrics
How to Create a CSS-Only Elastic Text Effect (css/fro)20,317
how-tos, css, effects
Re-Creating a Pantone Color Deck in CSS (sto)20,316
css
Announcing TypeScript 6.0 Beta (dan/typ)20,315
typescript
Container Timing: Measuring Web Components Performance (jda/iga)20,314
performance, web-components, chromium
You Know What? Just Don’t Split Words Into Letters (aar)20,313
accessibility, html, screen-readers, support
Does Your Navigation Need an ARIA Menu? Probably Not (pop)20,312
accessibility, navigation, aria, keyboard-navigation
The Natural Design Process20,311
design, processes
Building an Endless Procedural Snake With Three.js and WebGL (suj/cod)20,310
threejs, webgl, javascript
Shades of Halftone (max)20,309
effects, halftone
Polypane 28: Project Improvements, Elements Panel Updates, and Chromium 146 (pol)20,308
release-notes, polypane, browsers
The Software Sovereignty Scale (dri)20,307
foss, licensing, legal
It’s About to Get a Lot Easier for Your JavaScript to Clean Up After Itself (wil/pic)20,306
javascript, garbage-collection
The 2026 Frontend Dogma Survey (fro)20,305
frontend-dogma, surveys
Fast by Default (den)20,304
performance, architecture, tooling, code-reviews, processes
WebSocket Penetration Testing: A Complete Guide to CSWSH20,303
guides, security, websockets, testing
Webspace Invaders (mat)20,302
ai, traffic
“Design Courage”20,301
design
Modern CSS Code Snippets20,300
websites, css, examples, comparisons
Design Is Dead, It’s All Evolution Now (ily)20,299
design, processes
Designing Useful Ads20,298
design, monetization, ai
Emotional Design: Let’s Design for Silence20,297
design
Background Patterns With CSS “corner-radius” (pre/fro)20,296
css, backgrounds, effects, examples
Vite, Rust, and the Future of JavaScript Tooling (eva+/bet)20,295
videos, interviews, vuejs, rust, javascript, oxc, bundling, tooling, ai
Trying to Make the Perfect Pie Chart in CSS (mon/css)20,294
css, html
AI Fatigue Is Real and Nobody Talks About It20,293
ai, code-reviews
Large Tech Companies Don’t Need Heroes (sea)20,292
processes, engineering-management, career
Underlining Links With CSS (stu)20,291
css, links
Definitive Guide to Multi-Threaded Rendering on the Web (hac)20,290
guides, dom, rendering
Why JavaScript Needs Structured Concurrency20,289
javascript, concurrency, asynchronicity
Interop 2025: A Year of Convergence (stu/web)20,288
interoperability, web-platform, browsers, retrospectives, metrics
Why Your Brain Rebels Against Redesigns—Even Good Ones20,287
design, redesigning, link-lists
How Generative AI Is Redefining Brand Identity Systems20,286
ai, branding, design
How (and Why) to Stop Users From Selecting Text on Your Website20,285
css
The Browser Hates Surprises (fro)20,284
browsers, performance
The CSS Selection (ven/pro)20,283
css, metrics, studies, research
What to Expect in Angular 2220,282
angular
A New Meta Tag for Respecting Text Scaling on Mobile (mat)20,281
accessibility, metadata, scaling
Your Design System Needs an Enforcer (nng)20,280
design-systems, processes
The Return of the Intuitive Designer in the Age of AI20,279
design, user-experience, ai
Minifier Benchmarks (j9t)20,278
minification, tooling, metrics, comparisons, swc, html-minifier, htmlnano
CSS “@scope”: An Alternative to Naming Conventions and Heavy Abstractions (sma)20,277
css, scope, naming
Git’s Magic Files (and)20,276
git, configuration
How to Use the “Auto” Value With “clamp()” (css)20,275
how-tos, css, functions
Accessibility Conformance Testing (ACT) Rules Format 1.1 (wil+/w3c)20,274
accessibility, compliance, testing, documentation
Measuring SVG Rendering Time (sto)20,273
svg, png, images, rendering, performance, web-vitals, metrics
How to Write Alt Text for News (sta/the)20,272
how-tos, alt-text, accessibility, images
Why Designers Secretly Love Constraints (Even When We Complain About Them) (web)20,271
design
Quick Tip: Do Not Replicate OS Behavior (nat)20,270
accessibility, tips-and-tricks
What’s New in ViteLand: January 2026 Recap (man/voi)20,269
release-notes, vite, vitest, rolldown, oxc
Clarity Is Not the Enemy of Depth (the)20,268
content, writing, accessibility
How to Improve Your HTML Game (j9t)20,267
how-tos, html, conformance, learning, career
[Webpack] Roadmap 2026 (eve)20,266
webpack
AI Will Eliminate the Need for Accessibility Professionals? I Think Not20,265
ai, accessibility, testing, career
You Probably Shouldn’t Be Annotating Focus Order (eri)20,264
accessibility, focus, forms
Stop Installing Libraries: 10 Browser APIs That Already Solve Your Problems20,263
javascript, libraries, apis, web-platform
Introduction to the New HTML Element “<geolocation>” (mat)20,262
introductions, html, geolocation
CSS Properties That Solve Annoying Problems (kev)20,261
videos, css
From Basic Adoption to Meaningful Measurement: How Design System Metrics Evolve (zer)20,260
design-systems
Building Bulletproof React Components20,259
react, components
How to Shoot a Screen Using a Board of Keys (mwi)20,258
screenshots, keyboard-shortcuts, history, apple
Introducing Deno Sandbox (tin/den)20,257
deno
State of JavaScript 2025 [Results] (sac/dev)20,256
surveys, metrics, javascript
Deno Deploy Is Generally Available (lca+/den)20,255
deno
Combobox vs. Multiselect vs. Listbox: How to Choose the Right One (vit/sma)20,254
how-tos, forms, design-patterns, comparisons
Nice Select (arg)20,253
forms, css
How Eleventy Survived: Funding, Growth, and Open Source Reality (zac+/fon)20,252
podcasts, interviews, eleventy, foss
A Percise Parser (rem)20,251
javascript, parsing
Elastic/Bouncy Text Effect (css)20,250
css, effects
Accessible Inline Collapsible (eri)20,249
accessibility, html, disclosure-widgets
Accessibility Progress and Healthy Engineering Teams (hbu)20,248
accessibility, technical-debt, web-platform, prioritization
Node.js Path Traversal: Prevention and Security Guide (loi)20,247
guides, nodejs, security
Implementing the Temporal Proposal in JavaScriptCore (you/iga)20,246
javascriptcore, javascript-engines, time
Accessible Design Is Digital Infrastructure (ann)20,245
accessibility, design
What’s Missing From the Web Platform? (wes+/syn)20,244
podcasts, web-platform, wish-lists
Performance-Optimized Video Embeds With Zero JavaScript (stf/fro)20,243
multimedia, performance
What Is JPEG XL: Do We Really Need Another Image Format? (aar/deb)20,242
jpeg-xl, images, quality, performance, metrics
Release Notes for Safari Technology Preview 236 (jon/web)20,241
release-notes, safari, apple, browsers
Building an RSS Aggregator With Astro (ray)20,240
astro, rss, syndication, functionality
Explicit Resource Management in JavaScript20,239
javascript
Stop Asking “Is This on Brand?”—It’s Killing Your Creativity (web)20,238
design, branding, creativity
Limiting Work in Progress Is a Superpower20,237
project-management, processes, productivity, agile, scrum
HTML Minifier Next 5, a Quick Upgrade Guide (j9t)20,236
guides, html-minifier
Selfish AI (cre)20,235
ai
The Indie Web Is Not Defined by Its Enemies (khu)20,234
indieweb, ai
Tim Cook Sold Apple’s Soul (kev)20,233
apple
Google Helped Israeli Military Contractor With AI, Whistleblower Alleges (was)20,232
google, ai, ethics, privacy
The Too Early Breakpoint (sha)20,231
css, layout, breakpoints
Repeatable Form Fields Made Simple (aar)20,230
forms, html, web-components
A Broken Heart (api)20,229
performance, fonts, emoji
My Opinionated ESLint Setup for Vue Projects (ale)20,228
eslint, configuration, vuejs
Tickering With Node.js Core on ARM64 Windows (joy)20,227
nodejs, building, windows, microsoft
When Design Stops Asking Why and Starts Asking, “Can AI Do It?”20,226
design, ai, processes, quality
New to the Web Platform in January (rac)20,225
release-notes, web-platform, browsers, firefox, mozilla, chrome, google
“WCAG Is Difficult to Read, Don’t Read It” Is a Self-Fulfilling Prophecy (yat)20,224
wcag, standards, accessibility
AI Agents Explained (tre)20,223
ai-agents, ai
Practical Use of AI Coding Tools for the Responsible Developer (ska/sma)20,222
ai, tooling, prompting
Announcing Rspress 2.020,221
release-notes
How the Same Content Always Has Multiple Different Versions20,220
accessibility, content, comparisons
React’s “ViewTransition” Element (chr/fro)20,219
react, view-transitions
Understanding Hydration in Frontend Frameworks: Definition, Challenges, and Optimization Strategies (ele/des)20,218
guest-posts, frameworks, hydration, optimization, concepts, strategies
The Design System Paradox: How Abstraction Can Hollow Out Quality (pjo/zer)20,217
design-systems, quality, training
How to Make an HTTP Request in Node.js (loi)20,216
how-tos, nodejs, http
Is Learning CSS a Waste of Time in 2026?20,215
css, learning, career, discussions
Vibe Prototyping Is a Double-Edged Sword (edd)20,214
prototyping, vibe-coding, ai, design
OpenJS Foundation Security Program: Annual Report 2025 (ope)20,213
openjs, security
Cryptography Usage in Web Standards (w3c)20,212
standards, cryptography, security
Why I Use Kirby CMS (jon)20,211
kirby
Making Interesting Borders With CSS “corner-shape” (cas)20,210
css, borders
How Rolldown Works: High-Performance Code Splitting With Bitset Logic (atr)20,209
rolldown, bundling, code-splitting, performance
Why I Don’t Call Myself an Accessibility Expert20,208
accessibility, career
How an Accessibility Designer Adds Keyboard Shortcuts to a Web App (eri)20,207
web-apps, keyboard-shortcuts, accessibility
The Next Decade of UX: Why Psychology Matters More Than Ever (tbf/nng)20,206
videos, interviews, user-experience, design, outlooks
How to Design Great Alt Text: An Introduction (deq)20,205
how-tos, introductions, alt-text, images, accessibility
How to Style the New “::search-text” and Other Highlight-y Pseudo-Elements (dxn/css)20,204
how-tos, css, selectors
Introducing ReliCSS: A Tool for Front-End Archaeology (stu)20,203
introductions, tooling, css, auditing
7 Learnings From Anders Hejlsberg: The Architect Behind C# and TypeScript20,202
lessons, scalability, typescript, foss, ai, collaboration
AI’s Text-Trap: Moving Towards a More Interactive Future20,201
ai, interaction-design, user-experience
A Year of Creator Wins: Highlights From the JetBrains Content Creators Program 2025 (jet)20,200
jetbrains, community
Are We Doing UX for AI the Right Way? (cxo)20,199
user-experience, design, conversational-design, ai, link-lists
How AI Is Redefining the Way We Find Content (cle)20,198
ai, crawling, search, content, seo
Some Notes on Starting to Use Django (b0r)20,197
django
More Invoker Commands, and More Reasons Not to Use JavaScript Please (paw)20,196
html, examples
Unstacking CSS Stacking Contexts (sma)20,195
css, positioning
Try Text Scaling Support in Chrome Canary (jos)20,194
chrome, google, browsers, scaling, accessibility
We’re Creating a Knowledge Collapse and No One’s Talking About It20,193
ai, documentation, learning, career
Solving Shrinkwrap: New Experimental Technique (kiz)20,192
css, techniques
On the Need for Neutral Maintained Minifier Metrics (j9t)20,191
minification, tooling, html-minifier, htmlnano
How Web Performance Impacts User Experience (mat/deb)20,190
performance, user-experience, web-vitals, metrics
Claude Code for Designers: A Practical Guide20,189
guides, design, claude, anthropic, ai
Design Systems Checklist (tyc)20,188
design-systems, checklists
9 Reasons to Choose Sketch in 2026 (fre/ske)20,187
sketch
Supporting Open Source in 2026: Why It Matters More Than Ever ($50,000) (mar/fro)20,186
foss, web-platform
Drawing Connections With CSS Anchor Positioning20,185
css, anchor-positioning
Improving Single Executable Application Building for Node.js (joy)20,184
nodejs
Density vs. Clarity: The Core Tension in Modern UI Design (web)20,183
design, information-design, minimalism, comparisons, figma
Why the Future of Design Is Less Flash and More Thought20,182
design, outlooks
There Is No Need to Trap Focus on a “dialog” Element (zel/css)20,181
modals, focus, accessibility
A Security Checklist for Your React and Next.js Apps20,180
security, react, nextjs
SPAs Are a Performance Dead End (yeg)20,179
single-page-apps, html, performance
How to Implement Rate Limiting in nginx (naw/one)20,178
how-tos, servers, nginx, rate-limiting, security
Porting 100k Lines From TypeScript to Rust Using Claude Code in a Month (vje)20,177
migrating, typescript, rust, claude, anthropic, ai
Vibe Prototyping Isn’t Solving Any Problems—but It’s Creating Many New Ones (pav)20,176
prototyping, design, ai, vibe-coding
Using Maturity Models to Build Accessibility That Lasts (ted)20,175
accessibility
npmx (dan/npm)20,174
websites, npmx, npm, packages
Figma Slots for Repeating Items (nat)20,173
figma, components
How to Use Font Ligatures20,172
how-tos, typography, fonts, tooling, adobe, figma, microsoft, css
Software Design Principles That Matter20,171
software-design, principles, examples
6 Ways to Set Better Content Accessibility Goals in 202620,170
accessibility, processes
Anchor Interpolated Morph (AIM) (arg)20,169
css, animations, techniques
Responsive Hexagon Grid Using Modern CSS (css/css)20,168
css, functions, math, responsive-design
The Context Collapse Problem20,167
ai, documentation
CSS Scope and Mixins (chr+/odd)20,166
videos, interviews, css, scope, mixins
Do We All See the Same Colors? (tba)20,165
colors, color-blindness, accessibility
Names Are Hard but They Don’t Have to Be (col)20,164
internationalization, naming, validation
Handling Breaking Changes in a Design System Without Causing Chaos (sha/zer)20,163
design-systems, maintenance, semver, communication
Understanding the Fundamentals of CSS Layout (pol)20,162
fundamentals, css, layout, grids, flexbox, positioning
CSS Optical Illusions (alv)20,161
css, effects, examples
Claude’s New Constitution (ant)20,160
claude, anthropic, ai
Why Webflow Isn’t the Future—Yet (web)20,159
webflow, low-and-no-code
10 Digital Accessibility Predictions for 2026 (ons)20,158
accessibility, outlooks, wcag, career, ai, legal, assistive-tech
When Will CSS Grid Lanes Arrive? How Long Until We Can Use It? (jen/web)20,157
css, grids, masonry, layout
CTA Hierarchy in the Wild (jim)20,156
user-experience, buttons, youtube
10 Tips for Effective User Experience Evaluation20,155
user-experience, usability, content, design, testing, tips-and-tricks
Barriers From Links With ARIA (aar)20,154
accessibility, links, html, aria
The Conditionally Open Web (cor)20,153
open-web
How to Diagnose Lighthouse Score Discrepancies Between Tools (mat/deb)20,152
how-tos, performance, lighthouse, google, tooling
Floating Action Buttons Are Bad, and What to Do Instead (eri)20,151
buttons, usability, material-design, google
Mobile App Accessibility Under EN 301 549 v4.1.020,150
accessibility, mobile, standards
Why Light-Weight Websites May One Day Save Your Life (mah)20,149
performance, accessibility, print, frameworks
Accessibility 101 and Core Concepts (kno)20,148
videos, accessibility, introductions, concepts
The Accessibility Manager Moment No One Warns You About20,147
accessibility, leadership, legal, communication
Securing npm Is Table Stakes (nza+/cha)20,146
podcasts, interviews, npm, security, ai
What Makes Generated UI Worth Keeping?20,145
design, ai, branding, tooling
Demystifying Screen Reader Use for Manual Testing: Deneb Pulsipher and Kosi Asabere20,144
videos, accessibility, testing, screen-readers
CSS in 2026: The New Features Reshaping Frontend Development (log)20,143
css, functions
How to Favicon in 2026: Three Files That Fit Most Needs (sit/evi)20,142
how-tos, images, favicons
I Learned the First Rule of ARIA the Hard Way (css)20,141
accessibility, aria, semantics, html
Designing Beyond the Happy Path in Design Systems (ste/zer)20,140
design-systems, design
Developing Trustworthy Information (jma)20,139
writing, content, ai
Faking a Fieldset-Legend (tyl/clo)20,138
html, forms, css
Node.js 16 to 25 Performance Benchmarks20,137
nodejs, performance, metrics, comparisons
Lowering the Specificity of Multiple Rules at Once (mat)20,136
css, cascade
Inside Turbopack: Building Faster by Building Less (she+)20,135
turbopack, performance
A Brief History of Programming… (fir)20,134
videos, programming, history
Animating Responsive Grid Layout Transitions With GSAP Flip (cod)20,133
css, grids, layout, animations, gsap, plugins
Rethinking “Pixel Perfect” Web Design (ami/sma)20,132
design, quality
View Transitions and Playing Video (chr/fro)20,131
javascript, view-transitions, multimedia
AI’s Missing Ingredient (cwo)20,130
ai, vibe-coding, creativity, design
Some Thoughts on the Open Web (mno)20,129
open-web, web
Design Tokens With Confidence (luk)20,128
design-tokens, json, css
What Figma Got Wrong About Design Systems (web)20,127
figma, design-systems
The State of WebAssembly—2025 and 2026 (uno)20,126
webassembly, retrospectives, outlooks
“Code Only” Props in Figma (nat)20,125
figma, props
What Design Leaders Must Unlearn to Lead in an AI-First World20,124
design, leadership, ai
Design in Code, Get Praise (ada)20,123
design, processes, communication
How to Build a WordPress Block Theme20,122
how-tos, wordpress, theming
Vercel vs. Netlify vs. Cloudflare: Serverless Cold Starts Compared20,121
vercel, netlify, cloudflare, serverless, comparisons, metrics
jQuery 4.0.0 (tim/jqu)20,120
jquery, release-notes
AdonisJS v7 Is Feature-Complete and Entering Final Validation (vir/ado)20,119
release-notes, adonisjs
ASCII Characters Are Not Pixels: A Deep Dive Into ASCII Rendering20,118
deep-dives, ascii, rendering
Beyond Compliance: 5 Surprising Ways the UVAC Framework Turns Accessibility Into a Brand Powerhouse (wil)20,117
accessibility, processes, concepts
When Design Kills Usability—Meet the Custom Cursor (mal)20,116
videos, design, usability, cursors
Chrome 145 Adds Experimental Support for Vertical Tabs (bra)20,115
chrome, google, browsers
Better Defaults for Popovers (mat)20,114
pop-overs, css, resets
State of UX 2026: Design Deeper to Differentiate (nng)20,113
user-experience, design, outlooks, career, ai
PWA (htt)20,112
web-almanac, studies, research, metrics, progressive-web-apps, web-apps, web-workers
Ecommerce (htt)20,111
web-almanac, studies, research, metrics, ecommerce, tooling, performance, web-vitals, lighthouse
The Astro Technology Company Joins Cloudflare (ast)20,110
astro, cloudflare
CMS (htt)20,109
web-almanac, studies, research, metrics, content-management, tooling, wordpress, user-experience, performance, web-vitals, lighthouse, apis
Security (vik+/htt)20,108
web-almanac, studies, research, metrics, security, tls, certificates, cookies, csp, http-headers, apis, sanitization, configuration
The Incredible Overcomplexity of the Shadcn Radio Button (pau)20,107
html, forms, shadcn, complexity
On Coding Agents and the Future of Design (jef)20,106
ai, ai-agents, design, outlooks
Software as Fast Fashion (tan)20,105
programming, ai, sustainability, economics
Fonts (htt)20,104
web-almanac, studies, research, metrics, fonts, performance, css
The Missing Link for Web Components (kin/fro)20,103
web-components, typescript, json, mcp, ai, tooling
Building a Scroll-Driven Dual-Wave Text Animation With GSAP (cod)20,102
gsap, animations, scrolling
Performance (25p+/htt)20,101
web-almanac, studies, research, metrics, performance, web-vitals, hints, speculation
Third Parties (htt)20,100
web-almanac, studies, research, metrics, embed-code
Using “100vw” Is Now Scrollbar-Aware (in Chrome 145+, Under the Right Conditions) (bra)20,099
css, units, scrolling, chrome, google, browsers
Accessibility (bog+/htt)20,098
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)20,097
design, processes
Accessible Faux-Nested Interactive Controls (eri/pic)20,096
accessibility, conformance, html, nesting
Privacy (htt)20,095
web-almanac, studies, research, metrics, privacy, legal, consent-management, do-not-track
Generative AI (chr+/htt)20,094
web-almanac, studies, research, metrics, ai, robotstxt, llmstxt
WebAssembly (htt)20,093
web-almanac, studies, research, metrics, webassembly
CDN (htt)20,092
web-almanac, studies, research, metrics, content-delivery, http, performance, http-headers, compression, tls, hints
Usability Heuristics and Competition in Games20,091
usability, heuristics, design, aesthetics
SEO (htt)20,090
web-almanac, studies, research, metrics, seo, robotstxt, llmstxt, links, content, structured-data, amp, html, internationalization
Cookies (htt)20,089
web-almanac, studies, research, metrics, cookies
Page Weight (bar+/htt)20,088
web-almanac, studies, research, metrics, performance, web-vitals, lighthouse, google
StyleX vs. Tailwind: Meta’s Take on CSS-in-JS Maintainability (ric)20,087
tailwind, comparisons, css-in-js, maintainability, css, javascript
So You Think Your Website Is Doing Great (cit)20,086
html, javascript, css, quality
Beyond Manual Audits: How Automation Strengthens Accessibility (equ)20,085
accessibility, auditing, automation, wcag
Making GitHub Actions Suck a Little Less20,084
github-actions
Node.js January 2026 Security Release: What Changed and Why It Matters (nod)20,083
nodejs, security
The “Senior Developer” Is Now the New “Entry Level”20,082
career, ai
Smashing Animations: Theming Animations Using CSS Relative Colour (mal/sma)20,081
animations, colors, theming, css
The Unhinged World of Tech in 2026… (fir)20,080
videos, outlooks, ai, javascript
Live Region Support (aar)20,079
accessibility, live-regions, support, screen-readers, nvda, jaws, voiceover
Everything You Need to Know About Ruby 4.0 (hon)20,078
ruby