Tech is political: The people under attack in Palestine 🇵🇸, Iran 🇮🇷, and Lebanon 🇱🇧 are people like us. They’re our brothers and sisters, too. Read up on their history, scrutinize what you’re told, and demand that they be respected. Hide

Frontend Dogma

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

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

Entry (Sources) and TopicsDate#
WCAG A vs. AA, Outdated Accessibility Statements, and More (nic)21125
accessibility, wcag, documentation
Geolocation (mar+/w3c)21124
geolocation, apis
A Gentle Intro to npm Workspaces, With Visuals (pre/was)21123
introductions, npm
Tooltips That Work for Everyone (ele)21122
tooltips, accessibility, html, aria, attributes, screen-readers, nvda, jaws
The Three Thirds21121
design, leadership, career, ai, link-lists
Your Data Is Everywhere—the Government Is Buying It Without a Warrant (jjo/npr)21120
politics, privacy, ai, anthropic
Best CI/CD Tools for 2026: What the Data Actually Shows (ovb/jet)21119
ci-cd, tooling, metrics
Malicious PyPI Package—LiteLLM Supply Chain Compromise21118
dependencies, vulnerabilities, security
Next.js Across Platforms: Adapters, OpenNext, and Our Commitments (fee+)21117
nextjs
Why You Shouldn’t Trust the People Who Built Your Inaccessible Site to Fix It21116
accessibility, auditing
The Design Engineer Symptom: What a Rising Job Title Reveals21115
design, programming, ai, career
Who Can Actually Afford AI Tools Now?21114
ai, economics, link-lists
From 0 to 250K Lines: How a 100% AI-Coded Project Builds a Governance Closed Loop21113
translations, ai, processes, agentsmd
Introducing JetBrains Central: An Open System for Agentic Software Development (jet)21112
introductions, jetbrains, ai-agents, ai
Designing for People With Low Vision (llo/tet)21111
accessibility, design
ADA Title II Update: What We Know, What We Don’t, and What to Do Now (gwi/deq)21110
accessibility, ada, legal
Developing a Minimally HashDoS Resistant, Yet Quickly Reversible Integer Hash for V8 (joy/nod)21109
nodejs, hashing, security
WebKit Features for Safari 26.4 (jen/web)21108
release-notes, webkit, safari, apple, browsers
Shadow DOM Focus Delegation: Getting “delegatesFocus” Right (fro)21107
accessibility, shadow-dom, focus, javascript, lit, web-components
Testing Font Scaling for Accessibility With Figma Variables (sma)21106
accessibility, fonts, scaling, figma, variables
This Is Crazy21105
videos, foss, ai, legal, licensing
The Web Development Glossary 4K (j9t/fro)21104
books, frontend-dogma, learning, training, concepts, terminology
What Is OpenCode? Understanding AI Coding Agents for Frontend Development (ele/des)21103
guest-posts, opencode, ai, productivity
What Happens to the Design System When AI Changes the Product?21102
design-systems, ai, product-management
Why Migrate to Valibot? (fab/val)21101
libraries, typescript
Try Tab Notes in Firefox to Leave a Note on Any Page (gph/moz)21100
firefox, mozilla, browsers
Uses for Nested Promises21099
javascript, promises, asynchronicity
The Accessibility Problem Isn’t Design—It’s Engineering (gbb)21098
accessibility, legal, eaa, ai
Building a Dual-Scene Fluid X-Ray Reveal Effect in Three.js (cod)21097
effects, threejs
Signals, the Push-Pull Based Algorithm (wil)21096
frameworks, signals, state-management, algorithms
“Our Product Is Used, on [Occasion], to Kill People”: Inside Palantir, the World’s Scariest AI Company21095
ai, palantir, history
Web Dev Just Got Huge Updates21094
videos, solidjs, astro, vite, typescript
Two Circles, One Arrow, and Anchor Positioning (css/fro)21093
css, anchor-positioning, math
The Death of the Front Door: Why the “Home Page” Is a Legacy Pattern (web)21092
design, homepages, browsing, web
A11y 101: 2.5.4 Motion Actuation (nat)21091
introductions, accessibility, wcag
Announcing TypeScript 6.0 (dan/typ)21090
release-notes, typescript
A Beginner’s Guide to Manual Accessibility Testing With Keyboard Navigation21089
guides, accessibility, testing, keyboard-navigation
The Diminished Art of Coding (nol)21088
programming, code-reviews, ai, vibe-coding
Building the Good Web (bre)21087
indieweb, web
Fifty Years of Hard-Won Rights Are on the Line: The Fight to Save Section 504 (dar)21086
legal, accessibility
Where Did 400 MiB Go?21085
nodejs, websockets, memory, debugging
On “clip-path” Animations (kar)21084
css, clipping, animations
AI Crawlers Are Eating Your Bandwidth: How Hosting Companies Are Fighting Back21083
ai, crawling, scraping, traffic, hosting, cloudflare, wp-engine, wordpress, comparisons
Google Says “Vibe Design” Is Here, but It Didn’t Pass My Vibe Check21082
google, design, ai, figma, sketch
Dropdowns Inside Scrollable Containers: Why They Break and How to Fix Them Properly (sma)21081
css, positioning, transforms, scrolling
3 Reasons Why You Should Care About Document Accessibility21080
accessibility, pdf
Quick Tip: Don’t Use “<abbr>” (nat)21079
html, tips-and-tricks, screen-readers, support, accessibility
Trust and Faith in Our Web (bre)21078
web, ai, indieweb
Rights and Tech Coalition Calls on Congress to End Warrantless Mass Surveillance (cor/com)21077
politics, privacy, legal, ai, advocacy
More Easy Light-Dark Mode Switching: “light-dark()” Is About to Support Images (bra)21076
css, functions, images, dark-mode
Getting Developers to Care about Accessibility: Carrots and Sticks21075
accessibility, processes, culture
Core JavaScript and TypeScript Features Become Free in IntelliJ IDEA (jet)21074
intellij-idea, jetbrains, code-editors
The Great CSS Expansion (pav/git)21073
css, anchor-positioning, pop-overs, modals, animations, transitions, forms
JavaScript for Everyone: Destructuring (wil/css)21072
javascript, examples
pnpm 11 Beta 0 (pnp)21071
release-notes, pnpm
The Great Transition: Why the Design World Is Re-Evaluating Figma (web)21070
design, figma
.htaccess Punk (j9t)21069
packages, apache, redirecting, link-rot, quality
Why Aren’t AI Productivity Gains Higher?21068
ai, productivity, engineering-management
AI Is Creating a New Kind of Tech Debt—and Nobody Is Talking About It (har)21067
ai, technical-debt, cognitive-debt, concepts
Balancing Stability and Innovation in Design Systems (ton)21066
design-systems
AI, Plain Language, and Responsibility (mni)21065
writing, ai, accessibility
Highlighting Footnotes (kit)21064
footnotes, css
JavaScript Thinks Everything’s a Date21063
javascript, time, v8, javascriptcore, python
The Color System I Wish I Understood Sooner (the)21062
colors, color-palettes, naming
Slouching Towards WCAG 2.1 (mni)21061
accessibility, ada, legal, wcag
Petition to Node.js TSC: No AI Code in Node.js Core (ind)21060
nodejs, ai
Node.js Worker Threads Are Problematic, but They Work Great for Us (inn)21059
nodejs, worker-threads, event-loop
How to Burn $30M on a JavaScript Framework… (fir)21058
videos, javascript, frameworks, famous
Cookie Consent Management in 2026 (gri/clo)21057
consent-management, cookies, privacy, legal, gdpr
GitHub Copilot’s Effect on Collaboration Has Stunned Researchers21056
studies, research, ai, github-copilot, github, productivity, metrics
Forget Your “Lovable” Products; the Real Leverage Point Was Always Learning (ian)21055
learning, ai, design, product-management
Migrating From DigitalOcean to Hetzner: From $1,432 to $233/Month With Zero Downtime21054
migrating, hosting, databases, economics
If You Thought the Speed of Writing Code Was Your Problem—You Have Bigger Problems (and)21053
ai, processes, productivity
AI and the Rosetta Stone21052
ai, localization
Monitor and Improve Your Web App’s Load Performance (pat+)21051
web-apps, performance, monitoring, edge, microsoft, browsers
When Shipping Becomes Too Easy (moz)21050
ai, releasing
React SSR Framework Showdown: TanStack Start, React Router, and Next.js Under Load (mco/pla)21049
frameworks, server-side-rendering, react, tanstack, react-router, nextjs, comparisons, performance, metrics
Red Alert: The DOJ Title II Web Accessibility Rule Is in Danger21048
accessibility, ada, legal
Astro: How to Set Up More Powerful HTML Minification (in 31 Seconds) (j9t)21047
how-tos, astro, html, html-minifier, minification, optimization
Tuesday, March 24, 2026 Security Releases (nod)21046
release-notes, nodejs, security
Edge.js: Running Node Apps Inside a WebAssembly Sandbox (was)21045
tooling, nodejs, webassembly
Anime vs. Marvel/DC: Designing Digital Products With Emotion in Flow (sma)21044
design, user-experience
Flexbox Masonry Layout (Explained With Math) (fro)21043
css, flexbox, layout, math
The Hardest Part of Design Systems Was Never Components21042
design-systems, components, product-management
The Ultimate Design Maturity Guide for Tech Leaders21041
guides, design, leadership, concepts, processes
Stop Wasting Money on AI: 10 Ways to Cut Token Usage (log)21040
ai, economics, token-optimization
Token Optimization: Reducing LLM Input Size Without Losing Quality21039
ai, token-optimization, quality, python
The Last Quiet Thing (tg)21038
design, maintenance, product-management
I Think a Lot of Developers Are Quietly Grieving the Old Internet21037
discussions, web
A11y 101: 2.5.3 Label in Name (nat)21036
introductions, accessibility, wcag, labels, forms
Native JSON Modules Are Finally Real21035
json, modules, bundling, caching
How Aspect Ratios Define Perception, Rhythm, and Flow (web)21034
design, aspect-ratio
The Two Worlds of Programming: Why Developers Who Make the Same Observations About LLMs Come to Opposite Conclusions (bal)21033
programming, ai
When Deno or Bun Is a Better Solution Than Node.js (fro)21032
deno, bun, nodejs, comparisons
Is This Product “Human-Made”? The Race to Establish an “AI-Free” Logo (joe)21031
ai
Testing Node.js APIs With Jest: A Frontend Developer’s Guide to Backend Testing21030
guides, testing, nodejs, apis, jest
Why Node.js Needs a Virtual File System (mco/pla)21029
nodejs, file-handling
AI Content Wasn’t Good Enough—Now It Is (thi/ahr)21028
content, writing, ai, quality
EU-Funded AI Systems “Exacerbate” Human Rights Violations in the Arab Region (the)21027
ai, ethics
There Is No “Wrong” in CSS (j9t)21026
css
The Perfect CSS Stylesheet Should Be… (alv)21025
css
4 Reasons That Make Tailwind Great for Building Layouts (zel/css)21024
tailwind, layout
CSS Refactoring With an AI Safety Net21023
css, refactoring, testing, ai
Accessibility Is the Foundation (jul)21022
accessibility, aria
Comprehension Debt—the Hidden Cost of AI Generated Code (add)21021
ai, cognitive-debt, concepts
Proposal for Time-Based CSS (joh)21020
discussions, css, time
90% of Code Will Be AI-Generated—So What the Hell Do We Actually Do? (har)21019
ai, career
Every UI/UX Concept Explained in Under 10 Minutes21018
videos, design, user-experience, concepts
SVG Favicons That Respect Theme Preference (paw)21017
svg, favicons, images, dark-mode
How Can Governments Pay Open Source Maintainers? (ede)21016
foss, economics
Headless Storybook With Lit21015
storybook, lit, headless
The Emerging AI Agents War (jun)21014
ai-agents, ai, scraping, amazon, ecommerce
New Bookmarklet—Structure Revealer (llo)21013
bookmarklets, html, accessibility
Digital Accessibility Policies and Statements—What, How, and Why (kno)21012
videos, accessibility, documentation, policies
How VS Code Builds With AI (vsc)21011
vs-code, microsoft, ai, processes, product-management
“contrast-color()” Beyond Black and White (una)21010
css, colors, contrast, functions
Rewriting Our Rust Wasm Parser in TypeScript21009
migrating, parsing, rust, typescript
Design Process Isn’t Dead, It’s Compressed (nng)21008
design, processes, ai
JPEG Compression (sop)21007
jpeg, images, compression
Twenty Years of Amazon S3 and Building What’s Next (seb)21006
anniversaries, s3, aws, amazon
Cascade Icons21005
css, icons, images
Two React Design Choices Developers Don’t Like—but Can’t Avoid (rya)21004
react, solidjs, asynchronicity
What Is Content Decay? (And How to Fix It Before It Tanks Your Traffic) (lou/ahr)21003
how-tos, content, maintenance, seo
Supply-Chain Attack Using Invisible Code Hits GitHub and Other Repositories (dan/ars)21002
security, github, dependencies
Avoiding “z-index” (don)21001
css, positioning
Life as an Accessibility Specialist: What You Need to Know21000
accessibility, career
Automated Accessible Text With “contrast-color()” (una)20999
css, functions, colors, contrast, accessibility
So Where Are All the AI Apps? (alg+)20998
ai, dependencies, python, metrics
Beyond “border-radius”: What the CSS “corner-shape” Property Unlocks for Everyday UI (uti/sma)20997
css, borders
The Three Pillars of JavaScript Bloat (430)20996
javascript, dependencies, complexity, runtimes, architecture, polyfills
Introducing Account Regional Namespaces for Amazon S3 General Purpose Buckets (cha)20995
s3, aws, amazon
7 Practical Ways AI Is Rewriting the UI Design Playbook (and 3 Ways It’s Not) (web)20994
design, ai
Vite 8.0 Is Out (vit)20993
release-notes, vite
Building Dynamic Toggletips Using Anchored Container Queries (dxn/pic)20992
css, anchor-positioning, container-queries, toggles, tooltips
Monitoring Your Node.js App Health on Fly.io (app)20991
nodejs, monitoring, tooling
The 49 MB Web Page20990
performance, user-experience, embed-code
What Is SERP Volatility and What Should You Do About It?20989
search, seo, google
The Dark Side of AI No One Talks About (jam/moz)20988
ai, seo, robotstxt
Temporal: The 9-Year Journey to Fix Time in JavaScript (jas)20987
javascript, time, apis, retrospectives
AI Coding Fluency: From Tool Usage to Human–AI Collaboration in Software Engineering20986
translations, ai, concepts, processes, collaboration
Form-Associated Custom Elements in Practice (fro)20985
web-components, forms, javascript
“work_mem”: It’s a Trap (la)20984
memory, postgresql, databases
Useful CSS Properties That Don’t Get Enough Attention (kev)20983
videos, css
Abusing Customizable Selects (pat/css)20982
forms, html, css, functions
AI Productivity Gains Are 10%, Not 10×20981
ai, productivity, studies, research, metrics
Amazon Calls Engineers for a “Deep Dive” Internal Meeting to Discuss “GenAI”-Related Outages20980
amazon, aws, ai, quality
Source Maps: Shipping Features Through Standards (jon)20979
source-maps, javascript
The Tests Are the Code Now (sof)20978
ai, testing
Leading Design Teams Is Easy, but We Made It Complicated20977
design, product-management, leadership
Designing for People With Anxiety (tet)20976
design, accessibility
What’s New in DevTools (Chrome 146) (mat)20975
release-notes, dev-tools, chrome, google, browsers
On AI-Readying Engineering Organizations (j9t)20974
engineering-management, ai, productivity
Quick Tip: Dialog Focus (nat)20973
accessibility, modals, focus, tips-and-tricks
Nominal Types in WebAssembly (win)20972
webassembly, types
Building Dynamic Forms in React and Next.js (sma)20971
forms, react, nextjs, javascript
How Much Do Keywords Matter in 2026? (moz)20970
keywords, seo, search, google
The Color Statistic That’s Been Wrong for 80 Years (mul)20969
colors
Too Much Color (kei)20968
colors, oklch, css
Employees Across OpenAI and Google Support Anthropic’s Lawsuit Against the Pentagon (hay+/ver)20967
anthropic, openai, google, ai, ethics, legal
Using CSS Animations as State Machines to Remember Focus and Hover States With CSS Only (pat)20966
css, animations, focus, hover, techniques
Testing Browser Support for “focusgroup” (ada)20965
html, attributes, focus, javascript
The Enforced Accessibility of the “geolocation” Element (chr/fro)20964
html, geolocation, accessibility
How We Rewrote 130K Lines From React to Svelte in Two Weeks20963
migrating, react, svelte
Persuasive Design: Ten Years Later (sma)20962
design, hci, retrospectives
The Value of “z-index” (ami/css)20961
css, positioning
The Shadcn-ification of the Internet20960
design, design-systems, shadcn, web
Why Designing in Code Makes You a Better Designer (ada)20959
design, career
How I Added Bluesky Likes to My Astro Blog (loi)20958
astro, bluesky, functionality
Do AI-Enabled Companies Need Fewer People? (sel)20957
ai, hiring, economics, metrics, link-lists
OWASP’s Top 10 Ways to Attack LLMs: AI Vulnerabilities Exposed20956
videos, security, vulnerabilities, ai, owasp
Absorbing Unknown Into the Type Realm20955
typescript, json
Building a Real-Time Todo App With Jazz and Vue 3 (ale)20954
functionality, vuejs
It Took Me Just 2 Hours to Vibe Code a Mass Surveillance Site With OpenAI’s Codex (pcm)20953
vibe-coding, ai, openai, privacy
View Transitions Can Swoop‽ (arg)20952
css, view-transitions, effects
Nobel Laureate Joe Stiglitz Says Not Only Can AI Take Your Job, It’ll Make the “Tech Bro” Class Richer While Doing So (cat)20951
ai, economics
Your Design System Might Be AI-Ready—Your Organisation Probably Isn’t (mur)20950
design-systems, ai
Why Most Design Principles Fail (ben)20949
design, principles
Owning Code in the Age of AI (moz)20948
ai, reliability
I Don’t Know if My Job Will Still Exist in Ten Years (sea)20947
automation, ai, career
The Accessibility D.E.N.N.I.S. System (jar)20946
accessibility, processes
Announcing TypeScript 6.0 RC (dan/typ)20945
release-notes, typescript
AI Agents vs. Traditional Automation: How Small Teams Can Choose the Right Approach20944
ai, ai-agents, automation, comparisons
My First Git Commit (ddb)20943
git
Accessibility and AI Agents20942
accessibility, ai-agents, ai
Statistical Significance Isn’t the Same as Practical Significance (nng)20941
concepts, user-experience
How Internet Sovereignty Is Reshaping Company Tech Stacks20940
web, tech-stacks
What Are Secondary Keywords? (And How to Use Them) (ahr)20939
how-tos, keywords, seo
Hardening Firefox With Anthropic’s Red Team (moz)20938
firefox, mozilla, browsers, ai, anthropic
Labor Market Impacts of AI: A New Measure and Early Evidence20937
ai, studies, research, metrics
Request for Developer Feedback: “focusgroup” (jac)20936
html, attributes, focus, chromium, browsers
Product Ethics Have Never Mattered More20935
product-management, ethics, ai, anthropic, openai, link-lists
Fast Software: More Programmers, Not Fewer (yeg)20934
programming, career, hiring, ai
Prompt Hoarders: 7 Reasons Saving Prompts Won’t Make You Creative (web)20933
design, creativity, prompting, ai
Folded Corner With CSS (kit)20932
css, images, clipping
The Big Gotcha of Anchor Positioning (chr/fro)20931
css, anchor-positioning
The Real Skill in Programming Is Debugging—Everything Else Is Copy–Paste20930
programming, debugging
You Don’t Know HTML Tables20929
html, tables, javascript
AdonisJS 7 Transformers: A Deep Dive (mez)20928
deep-dives, adonisjs, type-safety
A GitHub Issue Title Compromised 4,000 Developer Machines20927
security, github, ai
One CSS Property That Makes Numbers Look Instantly Better (ami)20926
css
The Different Ways to Select “<html>” in CSS (dxn/css)20925
html, css, selectors
Accessibility Testing Takes More Than a Scan20924
accessibility, testing, tooling
2026 Crystal Ball: What to Expect in the ADA Title iii Universe This Year20923
accessibility, ada, outlooks
Every Jira Ticket Is Your Accessibility Policy (equ)20922
accessibility, policies, atlassian, processes, product-management
A Guide to Accessible Focus Indicators (pop)20921
guides, accessibility, focus, keyboard-navigation, css
Your Skip Link Targets May Not Need “tabindex=-1” to Work Properly (mat)20920
skip-links, html, attributes, accessibility
On Matters of Accessibility20919
accessibility
Date Math in JavaScript: The Hidden Trap You’ll Eventually Hit (phi/hac)20918
javascript, time, math, apis
[SolidJS] v2.0.0 Beta—the “<suspense>” Is Over Pre-Release (rya/sol)20917
release-notes, solidjs
“display: green;”—Applying the Web Sustainability Guidelines (hdv/per)20916
videos, sustainability
How to Steal npm Publish Tokens by Opening GitHub Issues (nec)20915
npm, github, security, ai
Building a New Flash20914
flash, tooling
Big Tech’s War on Democracy20913
ai, anthropic
Announcing the Node.js LTS Upgrade and Modernization Program (ope)20912
nodejs
Google’s Chrome Browser Moves to a Two-Week Release Cycle20911
chrome, google, browsers
OpenAI Alters Deal With Pentagon as Critics Sound Alarm Over Surveillance (kev+/nbc)20910
ai, openai, privacy, legal, politics
Finding an Accessibility-First Culture in npmx (abb/pic)20909
accessibility, culture, npmx
Get Features Faster With Chrome’s Two-Week Release Cycle20908
chrome, google, browsers
It’s 2026 and Google Search Is Totally Broken20907
google, search, seo, foss, ai
Nobody Gets Promoted for Simplicity (ter)20906
simplicity, complexity, career
W3C Accessibility Guidelines (WCAG) 3.0 (ala+/w3c)20905
w3c, accessibility, guidelines, wcag
What I Like About WCAG 3.0 (kar)20904
accessibility, wcag
Eleventy Is Now Build Awesome (zac/11t)20903
eleventy
Proxying Fetch Requests in Server-Side JavaScript (nza)20902
javascript, data-fetching, nodejs, deno, bun, cloudflare
Seven Years to TypeScript: Migrating 11,000 Files at Patreon20901
migrating, javascript, typescript, case-studies
1995: From Batman Forever’s Cinematic Design to HTML Tables (ric)20900
web, history, design, netscape, mosaic, browsers, tables, layout, html, wysiwyg, code-editors
How OpenAI Caved to the Pentagon on AI Surveillance (hay/ver)20899
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)20898
privacy, ethics, palantir, microsoft, google, amazon, politics
January 2026 Baseline Monthly Digest (mal)20897
browsers, support, web-platform, css, view-transitions, javascript, web-workers, apis, units
Agent Skills: The Complete Guide (jet)20896
videos, guides, ai-agents, ai
Getting Started With the Popover API (sma)20895
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)20894
microsoft, ai, slop
Sticky Grid Scroll: Building a Scroll-Driven Animated Grid (the/cod)20893
tutorials, css, grids, layout, scrolling, gsap
MCP Servers and the Return of the Service Account Problem (aem)20892
servers, mcp, ai, security
Web Sustainability Guidelines Update (tzv/w3c)20891
videos, w3c, sustainability, guidelines
A11y 101: 2.5.2 Pointer Cancellation (nat)20890
introductions, accessibility
The Odometer Effect (Without JavaScript) (pre/fro)20889
css, functions, effects
Why React 19’s Compiler Changes Everything for Senior Devs20888
react, compiling
Get Your War On: AI Chatbots in the Kill Chain (dav)20887
ai, anthropic, openai
External Import Maps, Today (lea)20886
javascript, import-maps
Popover API or Dialog API: Which to Choose? (zel/css)20885
pop-overs, modals, apis, accessibility, javascript
My Personal Skills for AI-Assisted Node.js Development (mco)20884
ai, tooling, nodejs
Expose Your Design System to LLMs (hvp)20883
design-systems, ai
You Can Use Newline Characters in URLs (lem)20882
urls, data-urls, links, html, attributes
The Hardest Part of Being a Developer Isn’t Coding—It’s Disappearing Quietly (nor)20881
career, community
Figcaptions Versus Alt Text (tem)20880
html, images, alt-text, accessibility, comparisons
Quick Tip: Hosting HTML/CSS/JS Demos From Source Code on GitHub Pages (cod)20879
hosting, github-pages, tips-and-tricks
The Most-Seen UI on the Internet? Redesigning Turnstile and Challenge Pages20878
cloudflare
We Deserve a Better Streams API for JavaScript (jas)20877
javascript, streaming, apis
Put “aria-hidden=true” on Decorative SVGs (mat)20876
svg, images, aria, accessibility, attributes
Accessibility Matters20875
accessibility
[Svelte] Best Practices (sve)20874
svelte, best-practices
Accessibility People Are a Superpower (jar)20873
accessibility
“role=presentation” Is No Alternative for “aria-hidden=true” (mat)20872
accessibility, aria, html, attributes, comparisons
Three Reasons Your “scroll-snap” Container May Be Overflowing on Mobile (sch)20871
css, scrolling, mobile
Have We Forgotten How to Design? (lou)20870
design
Anatomy of a CSS Phone Mockup20869
css, design, effects
Security Advisory: Addressing Recent Vulnerabilities in Angular (ang)20868
angular, security
A New Path for Digital Accessibility? (web)20867
accessibility, ai, outlooks
Design System Contributions Work Better When Everyone Knows Your Name (pjo)20866
design-systems, components, collaboration
JavaScript DRMs Are Stupid and Useless20865
javascript, drm
Configuration Collapse (nat)20864
figma, components, configuration, props
Define the Theme Color for Safari 26 (gro)20863
safari, apple, browsers, css
Claude Code vs. Cursor: Which AI IDE Wins for Real Development Work?20862
claude, anthropic, cursor, ai, code-editors, comparisons
Yet Another Way to Center an (Absolute) Element (mon/css)20861
css, centering
I Set Up My Own Web Server and Here’s What I Learned About nginx20860
servers, nginx
When Building Is Free, What’s Worth Building?20859
ai, vibe-coding, prototyping, user-experience, usability
New to the Web Platform in February (rac)20858
release-notes, web-platform, browsers, chrome, google, firefox, mozilla, safari, apple
Before, During, and After20857
accessibility, processes, legal, compliance, community
Native Random Values in CSS (alv)20856
css, functions, randomness
What Claude Code Actually Chooses20855
ai, claude, anthropic, studies, research
Eleventy: How to Work Around the “Git Last Modified” Performance Bottleneck (j9t)20854
how-tos, eleventy, git, performance
Why Is WebAssembly a Second-Class Language on the Web? (eqr/moz)20853
webassembly
A Design Turn20852
design, ai, career
Release Notes for Safari Technology Preview 238 (jon/web)20851
release-notes, safari, apple, browsers
Lessons Learned From Failed Demos: Pure CSS Nav Thumb Flip on Scroll (ana/fro)20850
lessons, css, effects
CSS Snapshot 2026 (fri+/w3c)20849
css, standards
Create Pages From JSON Files With Eleventy (san)20848
eleventy, json, static-site-generation
The Pentagon Is Making a Mistake by Threatening Anthropic (bin)20847
ai, anthropic
An Exploit… in CSS?! (css)20846
css, security
When Is a Link Not a Link? (dec)20845
html, links, semantics, accessibility
AdonisJS v7 Is Here (vir/ado)20844
release-notes, adonisjs
“Harmless” Website Updates Can Create Serious Problems for Your Users—Here’s How It Happens20843
maintenance, accessibility
Accessibility Considerations for Off-Site Navigation and Downloads20842
accessibility, navigation
16 Modern JavaScript Features That Might Blow Your Mind20841
javascript
A Complete Guide to Bookmarklets (val/css)20840
guides, bookmarklets, javascript, link-lists
The Rise of “Micro-Backends”: Why Frontend Devs Are Adopting Hono20839
hono, express, comparisons, backend-for-frontend, architecture
Developer Experience at Scale—Lessons From Dropbox20838
interviews, developer-experience, productivity, tooling, ai, lessons
CSS Masonry Layout Is Finally Coming: Native Grid Support Explained20837
css, masonry, layout, examples
20,000 (fro)20836
frontend-dogma
How to Scale Elements and Their Layout With CSS “zoom” (ste)20835
how-tos, layout, scaling, css
The React Foundation: A New Home for React Hosted by the Linux Foundation (mat/rea)20834
react, facebook+meta, linux-foundation
Writing a Good AGENTS.md (phi)20833
ai, documentation, agentsmd
How We Rebuilt Next.js With AI in One Week (sou)20832
nextjs, ai, cloudflare, deploying
SVGs on the Web: Performance Comparison Based on How You Load Them (nuc)20831
svg, images, performance, comparisons
Let’s Break Some WCAG Rules (ndc)20830
videos, accessibility, wcag
Shift-Left Sustainability: How to Develop Green Software by Design20829
how-tos, sustainability
Rewriting a 12-Year-Old JavaScript Library in TypeScript20828
refactoring, javascript, typescript
Goodbye “innerHTML”, Hello “setHTML”: Stronger XSS Protection in Firefox 148 (moz)20827
javascript, methods, xss, security, firefox, mozilla, browsers
If Code Is Cheap, Intent Is the Currency20826
ai-agents, ai, code-reviews, documentation
Best Practices for CSS Scope in Angular Applications (ale)20825
css, scope, angular, best-practices
Oxfmt Beta (bos+)20824
release-notes, formatting, tooling
x86 CPU Made in CSS (reb)20823
css, programming, functionality
Firefox 148 Brings Central AI Control and New Web Standards (hei)20822
firefox, mozilla, browsers
How I Setup Production-Grade Deployment for My (Somewhat) Vibe-Coded App (mar/fro)20821
deploying, aws
Web AI: Everything You Need to Know About On-Device AI for the Web20820
ai
Stop Using “/init” for AGENTS.md (add)20819
ai, configuration, agentsmd
AI as Art Director: Can Machines Develop Taste? (web)20818
ai, design, aesthetics, art-direction
Breakpoints (css)20817
design, accessibility, mobile, breakpoints, css
How Many AIs Does It Take to Read a PDF? (jos/ver)20816
ai, pdf, tooling
A Designer’s Guide to Eco-Friendly Interfaces (sma)20815
guides, design, user-experience, sustainability
Design Systems Are Platform Problems, Not Feature Problems (sha)20814
design-systems
Virtual Scroll-Driven 3D Scenes (fro)20813
css, scrolling, animations
“aria-haspopup” Might Not Do What You Think It Does (mat)20812
html, aria, attributes, navigation, accessibility
On Software Quality (nic/pxl)20811
quality, apple
Loading Smarter: SVG vs. Raster Loaders in Modern Web Design (hol/css)20810
images, svg, progress-indicators, performance
How to Publish to npm From GitHub Actions (bah)20809
how-tos, npm, github-actions
Dictionary Compression Is Finally Here, and It’s Ridiculously Good (pim/htt)20808
compression, performance, javascript
From “instanceof” to “Error.isError”: Safer Error Checking in JavaScript20807
javascript, errors
Upskilling in the AI Age (dac)20806
ai, tooling, learning
Getting Started With the Vercel AI SDK in Node.js20805
introductions, nodejs, ai, vercel
Matt May Speaks (mat+)20804
videos, interviews, accessibility, html, standards
Sprites on the Web (jos)20803
css, images, sprites, techniques
Wasm vs. JavaScript: Who Wins at a Million Rows?20802
webassembly, javascript, comparisons, performance
The Problem With HTML Reset Buttons (ada)20801
html, buttons, user-experience
AI Is Locking People Out—at Scale (kc)20800
accessibility, ai, studies, research, metrics
Native HTML Components Don’t Guarantee Good UX (ada)20799
html, components, user-experience
Standard HTML Video and Audio Lazy-Loading Is Coming (sco)20798
html, multimedia, lazy-loading, standards, performance
ACCESSIBILITY.md (mgi)20797
accessibility, documentation
Why AI Is Exposing Design’s Craft Crisis20796
ai, design, craft, figma, link-lists
My Malware Story Gets Stolen; Yet Another Argument for the IndieWeb (bre)20795
malware, indieweb, licensing
Big Tech Still Dreams of Mass Surveillance—Now People Are Pushing Back (tro)20794
privacy, amazon, google, ai, politics
What Is the IndieWeb? (bre)20793
indieweb, terminology, concepts
“Made in EU”—It Was Harder Than I Thought20792
privacy, hosting, tooling, tech-stacks
Everything You Never Wanted to Know About “visually-hidden” (dbu)20791
html, css, hiding, accessibility
Lil’ Fun Langs (sur)20790
programming, overviews, link-lists
Git Is the New Code (nec)20789
ai, git, command-line, code-reviews
The Software Development Lifecycle Is Dead (bor)20788
processes, ai, ci-cd
Weird Issues With CSS Calculations in Safari 26.2 (cit)20787
css, functions, safari, apple, browsers
Potentially Coming to a Browser “:near()” You (dxn/css)20786
css, functions
WordPress 7.0 Beta 1 (wor)20785
release-notes, wordpress
An Official* Logo for HTML (zac)20784
html
How to Cut LLM Token Costs and Speed Up AI Apps20783
how-tos, ai, token-optimization, economics
A Considered Approach to Generative AI in Front-End Development (cle)20782
ai, processes
Notes on Relying on the ARIA Authoring Practices Guide (ste)20781
aria, accessibility, html
Design Systems Can’t Automate Away All of Your Accessibility Considerations (eri/zer)20780
design-systems, components, automation, accessibility, aria
Using the Browser’s “<canvas>” for Data Compression20779
canvas, compression
A Web Revival: The Internet Didn’t Die, You’re Just Not on It20778
videos, indieweb, web
An In-Depth Guide to Customising Lists With CSS (ric/pic)20777
guides, css, lists
8 Things You Didn’t Know About Code Mode (bla)20776
ai
Fastest Frontend Tooling for Humans and AI20775
tech-stacks, tooling, typescript, developer-experience, optimization
Suffering From Bugs: How I Almost Deleted My Entire Project20774
bugs, lessons
“border-shape”: The Future of the Non-Rectangular Web (una)20773
css, shapes, borders
Vitest vs. Jest 2026: The Migration Guide With Real Benchmarks20772
guides, migrating, vitest, jest, comparisons
Tailwind CSS v4: Container Queries and the Death of Media Queries20771
tailwind, container-queries, media-queries, css
Claude Sonnet 4.6 vs. GPT-5: The 2026 Developer Benchmark20770
claude, anthropic, openai, ai, comparisons, metrics, programming, documentation
Sometimes the Best Accessibility Fix Is a Usability Fix20769
accessibility, usability
When Accessibility Demand Letters Land on Your Desk: A Framework for Strategic Response (dec)20768
accessibility, strategies
Why Separate Guest and Logged in States Create Accessibility Barriers20767
accessibility, authentication
Why You Need to Close Open Objects When Users Navigate Away20766
accessibility, wcag
AI Is Giving Tech Companies Power That Once Belonged to Governments (res)20765
ai, economics
5 CSS Fouls That I See Way Too Often (kev)20764
videos, css
Distinguishing “Components” and “Utilities” in Tailwind (zel/css)20763
tailwind, terminology
Analyst Reactions: How AI Is Reshaping Engineering Organizations20762
ai, engineering-management
Editor Improvements: Smooth Caret Animation and New Selection Behavior (jet)20761
code-editors, jetbrains
Europeans Are Dangerously Reliant on US Tech—Now Is a Good Time to Build Our Own (joh/the)20760
economics, politics, google, microsoft, amazon
Designing for Transparent Screens20759
design, transparency+opacity, readability
Preserving the Web Is Not the Problem—Losing It Is (tec)20758
web, ai
Web Rewind20757
websites, web, history
Frontend Memory Leaks: A 500-Repository Static Analysis and Five-Scenario Benchmark Study20756
memory, react, vuejs, angular, studies
From Random Chunks to Real Code—Wiring Up Next.js Source Maps in Sentry (get)20755
nextjs, source-maps
Design Docs Considered Harmful20754
documentation, software-design
The Future of Design Is Code and Canvas (zoi/fig)20753
figma, design, outlooks
Building Typographic Scales in CSS With “:heading()”, “sibling-index()”, and “pow()” (stu)20752
css, functions, math, typography
Igalia’s Eric Meyer and Ujjwal Sharma Chat With Designer, CSS Developer, and Illustrator Lynn Fisher (lyn+/iga)20751
podcasts, interviews, css, design
Web Development Is More Than Frontend and Backend (Here’s What Actually Matters)20750
programming, career
Selectors Level 5 (fan+/w3c)20749
css, selectors, standards
5 Source Map Best Practices for Frontend Production Deployments (ele/des)20748
guest-posts, source-maps, javascript, best-practices
Europe Is Ready to Ditch US Tech for Private Alternatives (pro)20747
tooling, privacy, security, metrics
We Cut Node.js’ Memory in Half (mco/pla)20746
nodejs, v8, javascript, memory, metrics
Interop 2026 (geo/css)20745
interoperability, web-platform, browsers, support, link-lists
Spiral Scrollytelling in CSS With “sibling-index()” (css)20744
css, functions, scrolling, gsap
Agentic UX: 7 Principles for Designing Systems With Agents20743
ai-agents, ai, design, principles
The Hidden Cost of AI Prototypes That Are Made to Die20742
prototyping, ai, design, product-management
Why We Hate AI (fal)20741
ai
Angular Bindings: What Are They and How Do I Use Them? (ato)20740
angular
Anchored Menus and a Lesson in Scoping (chr/fro)20739
css, anchor-positioning, scope, lessons
Here’s How to Instruct a LLM to Reference the ARIA Authoring Practices Guide (eri)20738
how-tos, ai, aria, accessibility
How “Liquid Design” Broke the iPhone and Forced Apple’s Great Reset (web)20737
design, usability, readability, liquid-glass, apple
Why It’s Important to Manually Test for Accessibility20736
accessibility, testing
Style Headings Using the CSS “:heading” Pseudo-Class (stu)20735
headings, css, selectors
Why Your CEO Acts Like a Clown: The Tribal Myths of Leadership20734
leadership, culture, engineering-management
AI Is Accidentally Making Documentation More Accessible (ger)20733
ai, accessibility, documentation
Why WebAIM’s Report Only Found 6 Issues on a Million Pages20732
videos, accessibility, webaim
We Scanned 250 Node.js Repos for Blocking I/O: 76% Had It—and the Benchmarks Explain Why That Matters20731
nodejs, file-handling, performance, metrics
How Fast Is Fast Enough? Rethinking Web Performance in Pragmagical Terms (tam/spe)20730
performance, user-experience, concepts
Justifying “text-wrap: pretty”20729
css, typography
Quick and Dirty Linting (sto)20728
linting, typescript, javascript, biome
A Programmer’s Loss of a Social Identity (rat)20727
programming, career, community
JS-Heavy Approaches Are Not Compatible With Long-Term Performance Goals (ser)20726
javascript, frameworks, performance, prioritization
Fun With TypeScript Generics (ada/fro)20725
typescript, generics
Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents? (ves+)20724
studies, research, ai, ai-agents, agentsmd
Are We Having the Wrong AI Dreams? (jet)20723
ai, outlooks
The EU Moves to Kill Infinite Scrolling (egr)20722
social-media, scrolling, legal
How to Debug the “@starting-style” At-Rule in Polypane (pol)20721
how-tos, debugging, css, animations, polypane, browsers
Interop 2026: Continuing to Improve the Web for Developers (rac)20720
interoperability, web-platform, browsers, support
Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev)20719
html, tables, scrolling, performance, react
State of React 2025 [Results] (sac/dev)20718
surveys, metrics, react
You Might Not Need “role="presentation"” (stv/pic)20717
html, aria, accessibility
Mastering Dialog Accessibility20716
accessibility, modals, html, aria
Launching Interop 2026 (jaf/moz)20715
interoperability, web-platform, browsers, support
The 80% Job: How Design Leads Are Using AI—and It’s Not About Mockups20714
design, ai, prototyping, communication, leadership, product-management, link-lists
Accessibility Contractors Have Their Place-but It’s Not Everywhere20713
accessibility, business-relations, processes
The Beautiful Web (j9t)20712
web, indieweb
Radix UI vs. Base UI (sha)20711
react, libraries, radix, comparisons
What It Really Costs to Run a WordPress Website in 202620710
wordpress, economics
Life After Figma Is Coming (and It Will Be Glorious) (jon)20709
design, ai, tooling, figma
Designing for Agentic AI: Practical UX Patterns for Control, Consent, and Accountability (sma)20708
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)20707
traffic, search, chatgpt, google, metrics
How to Create a CSS-Only Elastic Text Effect (css/fro)20706
how-tos, css, effects
Re-Creating a Pantone Color Deck in CSS (sto)20705
css
Announcing TypeScript 6.0 Beta (dan/typ)20704
typescript
Saying No to Good Ideas (kvl)20703
processes, communication
The Natural Design Process20702
design, processes
Container Timing: Measuring Web Components Performance (jda/iga)20701
performance, web-components, chromium
You Know What? Just Don’t Split Words Into Letters (aar)20700
accessibility, html, screen-readers, support
Does Your Navigation Need an ARIA Menu? Probably Not (pop)20699
accessibility, navigation, aria, keyboard-navigation
Building an Endless Procedural Snake With Three.js and WebGL (suj/cod)20698
threejs, webgl, javascript
Shades of Halftone (max)20697
effects, halftone
Polypane 28: Project Improvements, Elements Panel Updates, and Chromium 146 (pol)20696
release-notes, polypane, browsers
The Software Sovereignty Scale (dri)20695
foss, licensing, legal
It’s About to Get a Lot Easier for Your JavaScript to Clean Up After Itself (wil/pic)20694
javascript, garbage-collection
The 2026 Frontend Dogma Survey (fro)20693
frontend-dogma, surveys
Designing Useful Ads20692
design, monetization, ai
Emotional Design: Let’s Design for Silence20691
design
Fast by Default (den)20690
performance, architecture, tooling, code-reviews, processes
WebSocket Penetration Testing: A Complete Guide to CSWSH20689
guides, security, websockets, testing
Webspace Invaders (mat)20688
ai, traffic
“Design Courage”20687
design
Modern CSS Code Snippets20686
websites, css, examples, comparisons
Design Is Dead, It’s All Evolution Now (ily)20685
design, processes
Background Patterns With CSS “corner-radius” (pre/fro)20684
css, backgrounds, effects, examples
Vite, Rust, and the Future of JavaScript Tooling (eva+/bet)20683
videos, interviews, vuejs, rust, javascript, oxc, bundling, tooling, ai
Trying to Make the Perfect Pie Chart in CSS (mon/css)20682
css, html
AI Fatigue Is Real and Nobody Talks About It20681
ai, code-reviews
Large Tech Companies Don’t Need Heroes (sea)20680
processes, engineering-management, career
Underlining Links With CSS (stu)20679
css, links
Definitive Guide to Multi-Threaded Rendering on the Web (hac)20678
guides, dom, rendering
Why Your Brain Rebels Against Redesigns—Even Good Ones20677
design, redesigning, link-lists
The Return of the Intuitive Designer in the Age of AI20676
design, user-experience, ai
Why JavaScript Needs Structured Concurrency20675
javascript, concurrency, asynchronicity
Interop 2025: A Year of Convergence (stu/web)20674
interoperability, web-platform, browsers, retrospectives, metrics
How Generative AI Is Redefining Brand Identity Systems20673
ai, branding, design
How (and Why) to Stop Users From Selecting Text on Your Website20672
css
The Browser Hates Surprises (fro)20671
browsers, performance
The CSS Selection (ven/pro)20670
css, metrics, studies, research
What to Expect in Angular 2220669
angular
A New Meta Tag for Respecting Text Scaling on Mobile (mat)20668
accessibility, metadata, scaling
Your Design System Needs an Enforcer (nng)20667
design-systems, processes
Minifier Benchmarks (j9t)20666
minification, tooling, metrics, comparisons, swc, html-minifier, htmlnano
CSS “@scope”: An Alternative to Naming Conventions and Heavy Abstractions (sma)20665
css, scope, naming
Git’s Magic Files (and)20664
git, configuration
How to Use the “Auto” Value With “clamp()” (css)20663
how-tos, css, functions
Accessibility Conformance Testing (ACT) Rules Format 1.1 (wil+/w3c)20662
accessibility, compliance, testing, documentation
Measuring SVG Rendering Time (sto)20661
svg, png, images, rendering, performance, web-vitals, metrics
How to Write Alt Text for News (sta/the)20660
how-tos, alt-text, accessibility, images
Why Designers Secretly Love Constraints (Even When We Complain About Them) (web)20659
design
Quick Tip: Do Not Replicate OS Behavior (nat)20658
accessibility, tips-and-tricks
What’s New in ViteLand: January 2026 Recap (man/voi)20657
release-notes, vite, vitest, rolldown, oxc
Clarity Is Not the Enemy of Depth (the)20656
content, writing, accessibility
How to Improve Your HTML Game (j9t)20655
how-tos, html, conformance, learning, career
You Probably Shouldn’t Be Annotating Focus Order (eri)20654
accessibility, focus, forms, annotations
[Webpack] Roadmap 2026 (eve)20653
webpack
AI Will Eliminate the Need for Accessibility Professionals? I Think Not20652
ai, accessibility, testing, career
Stop Installing Libraries: 10 Browser APIs That Already Solve Your Problems20651
javascript, libraries, apis, web-platform
Introduction to the New HTML Element “<geolocation>” (mat)20650
introductions, html, geolocation
CSS Properties That Solve Annoying Problems (kev)20649
videos, css
From Basic Adoption to Meaningful Measurement: How Design System Metrics Evolve (zer)20648
design-systems
Building Bulletproof React Components20647
react, components
How to Shoot a Screen Using a Board of Keys (mwi)20646
screenshots, keyboard-shortcuts, history, apple
Introducing Deno Sandbox (tin/den)20645
deno
State of JavaScript 2025 [Results] (sac/dev)20644
surveys, metrics, javascript
Deno Deploy Is Generally Available (lca+/den)20643
deno
Combobox vs. Multiselect vs. Listbox: How to Choose the Right One (vit/sma)20642
how-tos, forms, design-patterns, comparisons
Nice Select (arg)20641
forms, css
How Eleventy Survived: Funding, Growth, and Open Source Reality (zac+/fon)20640
podcasts, interviews, eleventy, foss
A Percise Parser (rem)20639
javascript, parsing
Elastic/Bouncy Text Effect (css)20638
css, effects
Accessible Inline Collapsible (eri)20637
accessibility, html, disclosure-widgets
Accessibility Progress and Healthy Engineering Teams (hbu)20636
accessibility, technical-debt, web-platform, prioritization
Node.js Path Traversal: Prevention and Security Guide (loi)20635
guides, nodejs, security
Implementing the Temporal Proposal in JavaScriptCore (you/iga)20634
javascriptcore, javascript-engines, time
Accessible Design Is Digital Infrastructure (ann)20633
accessibility, design
What’s Missing From the Web Platform? (wes+/syn)20632
podcasts, web-platform, wish-lists
Performance-Optimized Video Embeds With Zero JavaScript (stf/fro)20631
multimedia, performance
What Is JPEG XL: Do We Really Need Another Image Format? (aar/deb)20630
jpeg-xl, images, quality, performance, metrics
Release Notes for Safari Technology Preview 236 (jon/web)20629
release-notes, safari, apple, browsers
Building an RSS Aggregator With Astro (ray)20628
astro, rss, syndication, functionality
Explicit Resource Management in JavaScript20627
javascript
Stop Asking “Is This on Brand?”—It’s Killing Your Creativity (web)20626
design, branding, creativity