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

Frontend Dogma

News and Tools for Web Developers, 1990s to Now

Updated daily

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

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

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

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