Tech does not just watch: Take action against Russia’s war on Ukraine 🇺🇦, and take action against Israel’s occupation, destruction, and ethnic cleansing of Palestine (history) 🇵🇸 Hide

Frontend Dogma

News and Tools for Web Developers

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#
Style Headings Using the CSS “:heading” Pseudo-Class (stu)19,848
headings, css, selectors
ChatGPT Has 12% of Google’s Search Volume but Google Sends 190× More Traffic to Websites (ahr)19,847
traffic, search, chatgpt, google, metrics
How to Create a CSS-Only Elastic Text Effect (css/fro)19,846
how-tos, css, effects
Re-Creating a Pantone Color Deck in CSS (sto)19,845
css
Announcing TypeScript 6.0 Beta (dan/typ)19,844
typescript
Polypane 28: Project Improvements, Elements Panel Updates, and Chromium 146 (pol)19,843
release-notes, polypane, browsers
The Software Sovereignty Scale (dri)19,842
foss, licensing, legal
It’s About to Get a Lot Easier for Your JavaScript to Clean Up After Itself (wil/pic)19,841
javascript, garbage-collection
Shades of Halftone (max)19,840
effects
The 2026 Frontend Dogma Survey (fro)19,839
frontend-dogma, surveys
Background Patterns With CSS “corner-radius” (pre/fro)19,838
css, backgrounds, effects, examples
Vite, Rust, and the Future of JavaScript Tooling (eva+/bet)19,837
videos, interviews, vuejs, rust, javascript, oxc, bundling, tooling, ai
Trying to Make the Perfect Pie Chart in CSS (mon/css)19,836
css, html
Definitive Guide to Multi-Threaded Rendering on the Web (hac)19,835
guides, dom, rendering
The Browser Hates Surprises (fro)19,834
browsers, performance
The CSS Selection (ven/pro)19,833
css, metrics, studies, research
What to Expect in Angular 2219,832
angular
A New Meta Tag for Respecting Text Scaling on Mobile (mat)19,831
accessibility, metadata, scaling
Your Design System Needs an Enforcer (nng)19,830
design-systems, processes
The Return of the Intuitive Designer in the Age of AI (uxd)19,829
design, user-experience, ai
How to Use the “Auto” Value With “clamp()” (css)19,828
how-tos, css, functions
Accessibility Conformance Testing (ACT) Rules Format 1.1 (wil+/w3c)19,827
accessibility, compliance, testing, documentation
Minifier Benchmarks (j9t)19,826
minification, tooling, metrics, comparisons, html-minifier, htmlnano
CSS “@ scope”: An Alternative to Naming Conventions and Heavy Abstractions (sma)19,825
css, scope, naming
Measuring SVG Rendering Time (sto)19,824
svg, png, images, rendering, performance, web-vitals, metrics
How to Write Alt Text for News (sta/the)19,823
how-tos, alt-text, accessibility, images
Why Designers Secretly Love Constraints (Even When We Complain About Them) (web)19,822
design
Quick Tip: Do Not Replicate OS Behavior (nat)19,821
accessibility, tips-and-tricks
What’s New in ViteLand: January 2026 Recap (man/voi)19,820
release-notes, vite, vitest, rolldown, oxc
Clarity Is Not the Enemy of Depth (the)19,819
content, writing, accessibility
How to Improve Your HTML Game (j9t)19,818
how-tos, html, conformance, learning, career
Stop Installing Libraries: 10 Browser APIs That Already Solve Your Problems19,817
javascript, libraries, apis, web-platform
Introduction to the New HTML Element “<geolocation>” (mat)19,816
introductions, html, geolocation
[Webpack] Roadmap 2026 (eve)19,815
webpack
CSS Properties That Solve Annoying Problems (kev)19,814
videos, css
How to Shoot a Screen Using a Board of Keys (mwi)19,813
screenshots, keyboard-shortcuts, history, apple
Introducing Deno Sandbox (tin/den)19,812
deno
State of JavaScript 2025 [Results] (sac/dev)19,811
surveys, metrics, javascript
Deno Deploy Is Generally Available (lca+/den)19,810
deno
Combobox vs. Multiselect vs. Listbox: How to Choose the Right One (vit/sma)19,809
how-tos, forms, design-patterns, comparisons
Nice Select (arg)19,808
forms, css
How Eleventy Survived: Funding, Growth, and Open Source Reality (zac+/fon)19,807
podcasts, interviews, eleventy, foss
A Percise Parser (rem)19,806
javascript, parsing
Elastic/Bouncy Text Effect (css)19,805
css, effects
What’s Missing From the Web Platform? (wes+/syn)19,804
podcasts, web-platform, wish-lists
Performance-Optimized Video Embeds With Zero JavaScript (stf/fro)19,803
multimedia, performance
What Is JPEG XL: Do We Really Need Another Image Format? (aar/deb)19,802
jpeg-xl, images, quality, performance, metrics
Release Notes for Safari Technology Preview 236 (jon/web)19,801
release-notes, safari, apple, browsers
Building an RSS Aggregator With Astro (ray)19,800
astro, rss, syndication, functionality
Explicit Resource Management in JavaScript19,799
javascript
Stop Asking “Is This on Brand?”—It’s Killing Your Creativity (web)19,798
design, branding, creativity
Limiting Work in Progress Is a Superpower19,797
project-management, processes, productivity, agile, scrum
HTML Minifier Next 5, a Quick Upgrade Guide (j9t)19,796
guides, html-minifier
Selfish AI (cre)19,795
ai
The Indie Web Is Not Defined by Its Enemies (khu)19,794
indieweb, ai
Tim Cook Sold Apple’s Soul (kev)19,793
apple
Google Helped Israeli Military Contractor With AI, Whistleblower Alleges (was)19,792
google, ai, ethics, privacy
Repeatable Form Fields Made Simple (aar)19,791
forms, html, web-components
A Broken Heart (api)19,790
performance, fonts, emoji
My Opinionated ESLint Setup for Vue Projects (ale)19,789
eslint, configuration, vuejs
Tickering With Node.js Core on ARM64 Windows (joy)19,788
nodejs, building, windows, microsoft
When Design Stops Asking Why and Starts Asking, “Can AI Do It?” (uxd)19,787
design, ai, processes, quality
The Too Early Breakpoint (sha)19,786
css, layout
“WCAG Is Difficult to Read, Don’t Read It” Is a Self-Fulfilling Prophecy (yat)19,785
wcag, standards, accessibility
AI Agents Explained (tre)19,784
ai-agents, ai
Practical Use of AI Coding Tools for the Responsible Developer (ska/sma)19,783
ai, tooling, prompting
Announcing Rspress 2.019,782
release-notes
New to the Web Platform in January (rac/dev)19,781
release-notes, web-platform, browsers, firefox, mozilla, chrome, google
How the Same Content Always Has Multiple Different Versions19,780
accessibility, content, comparisons
React’s “ViewTransition” Element (chr/fro)19,779
react, view-transitions
How to Make an HTTP Request in Node.js (loi)19,778
how-tos, nodejs, http
Is Learning CSS a Waste of Time in 2026?19,777
css, learning, career, discussions
Vibe Prototyping Is a Double-Edged Sword (edd/uxd)19,776
prototyping, vibe-coding, ai, design
OpenJS Foundation Security Program: Annual Report 2025 (ope)19,775
openjs, security
Cryptography Usage in Web Standards (w3c)19,774
standards, cryptography, security
Understanding Hydration in Frontend Frameworks: Definition, Challenges, and Optimization Strategies (ele/des)19,773
guest-posts, frameworks, hydration, optimization, concepts, strategies
How an Accessibility Designer Adds Keyboard Shortcuts to a Web App (eri)19,772
web-apps, keyboard-shortcuts, accessibility
The Next Decade of UX: Why Psychology Matters More Than Ever (tbf/nng)19,771
videos, interviews, user-experience, design, outlooks
How to Design Great Alt Text: An Introduction (deq)19,770
how-tos, introductions, alt-text, images, accessibility
How to Style the New “::search-text” and Other Highlight-y Pseudo-Elements (dxn/css)19,769
how-tos, css, selectors
Introducing ReliCSS: A Tool for Front-End Archaeology (stu)19,768
introductions, tooling, css, auditing
Are We Doing UX for AI the Right Way? (cxo/uxd)19,767
user-experience, design, conversational-design, ai, link-lists
7 Learnings From Anders Hejlsberg: The Architect Behind C# and TypeScript (git)19,766
lessons, scalability, typescript, foss, ai, collaboration
How AI Is Redefining the Way We Find Content (cle)19,765
ai, crawling, search, content, seo
Some Notes on Starting to Use Django (b0r)19,764
django
More Invoker Commands, and More Reasons Not to Use JavaScript Please (paw)19,763
html, examples
Unstacking CSS Stacking Contexts (sma)19,762
css, positioning
Try Text Scaling Support in Chrome Canary (jos)19,761
chrome, google, browsers, scaling, accessibility
We’re Creating a Knowledge Collapse and No One’s Talking About It19,760
ai, documentation, learning, career
Solving Shrinkwrap: New Experimental Technique (kiz)19,759
css, techniques
On the Need for Neutral Maintained Minifier Metrics (j9t)19,758
minification, tooling, html-minifier, htmlnano
9 Reasons to Choose Sketch in 2026 (fre/ske)19,757
sketch
Supporting Open Source in 2026: Why It Matters More Than Ever ($50,000) (mar/fro)19,756
foss, web-platform
Drawing Connections With CSS Anchor Positioning19,755
css, anchor-positioning
Improving Single Executable Application Building for Node.js (joy)19,754
nodejs
Density vs. Clarity: The Core Tension in Modern UI Design (web)19,753
design, information-design, minimalism, comparisons, figma
How Web Performance Impacts User Experience (deb)19,752
performance, user-experience, web-vitals, metrics
Why the Future of Design Is Less Flash and More Thought19,751
design, outlooks
There Is No Need to Trap Focus on a “dialog” Element (zel/css)19,750
modals, focus, accessibility
A Security Checklist for Your React and Next.js Apps (the)19,749
security, react, nextjs
Porting 100k Lines From TypeScript to Rust Using Claude Code in a Month (vje)19,748
migrating, typescript, rust, claude, anthropic, ai
SPAs Are a Performance Dead End (yeg)19,747
single-page-apps, performance
Using Maturity Models to Build Accessibility That Lasts (ted)19,746
accessibility
How to Use Font Ligatures19,745
how-tos, typography, fonts, tooling, adobe, figma, microsoft, css
npmx (dan/npm)19,744
websites, npm, packages
Software Design Principles That Matter19,743
software-design, principles, examples
6 Ways to Set Better Content Accessibility Goals in 202619,742
accessibility, processes
Anchor Interpolated Morph (AIM) (arg)19,741
css, animations, techniques
Responsive Hexagon Grid Using Modern CSS (css/css)19,740
css, functions, math, responsive-design
Understanding the Fundamentals of CSS Layout (pol)19,739
fundamentals, css, layout, grids, flexbox, positioning
The Context Collapse Problem19,738
ai, documentation
CSS Optical Illusions (alv)19,737
css, effects, examples
Claude’s New Constitution (ant)19,736
claude, anthropic, ai
Why Webflow Isn’t the Future—Yet (web)19,735
webflow, low-and-no-code
10 Digital Accessibility Predictions for 2026 (ons)19,734
accessibility, outlooks, wcag, career, ai, legal, assistive-tech
When Will CSS Grid Lanes Arrive? How Long Until We Can Use It? (jen/web)19,733
css, grids, masonry, layout
CTA Hierarchy in the Wild (jim)19,732
user-experience, buttons, youtube
10 Tips for Effective User Experience Evaluation19,731
user-experience, usability, content, design, testing, tips-and-tricks
Barriers From Links With ARIA (aar)19,730
accessibility, links, html, aria
The Conditionally Open Web (cor)19,729
open-web
Accessibility 101 and Core Concepts (kno)19,728
videos, accessibility, introductions, concepts
Floating Action Buttons Are Bad, and What to Do Instead (eri)19,727
buttons, usability, material-design, google
The Accessibility Manager Moment No One Warns You About19,726
accessibility, leadership, legal, communication
Securing npm Is Table Stakes (nza+/cha)19,725
podcasts, interviews, npm, security, ai
What Makes Generated UI Worth Keeping? (uxd)19,724
design, ai, branding, tooling
Demystifying Screen Reader Use for Manual Testing: Deneb Pulsipher and Kosi Asabere19,723
videos, accessibility, testing, screen-readers
CSS in 2026: The New Features Reshaping Frontend Development (log)19,722
css, functions
How to Favicon in 2026: Three Files That Fit Most Needs (sit/evi)19,721
how-tos, images, favicons
I Learned the First Rule of ARIA the Hard Way (css)19,720
accessibility, aria, semantics, html
Developing Trustworthy Information (jma)19,719
writing, content, ai
Faking a Fieldset-Legend (tyl/clo)19,718
html, forms, css
Node.js 16 to 25 Performance Benchmarks19,717
nodejs, performance, metrics, comparisons
Lowering the Specificity of Multiple Rules at Once (mat)19,716
css, cascade
Inside Turbopack: Building Faster by Building Less (she+)19,715
turbopack, performance
A Brief History of Programming… (fir)19,714
videos, programming, history
Animating Responsive Grid Layout Transitions With GSAP Flip (cod)19,713
css, grids, layout, animations, gsap, plugins
Rethinking “Pixel Perfect” Web Design (ami/sma)19,712
design, quality
View Transitions and Playing Video (chr/fro)19,711
javascript, view-transitions, multimedia
AI’s Missing Ingredient (cwo)19,710
ai, vibe-coding, creativity, design
Some Thoughts on the Open Web (mno)19,709
open-web, web
Design Tokens With Confidence (luk/uxd)19,708
design-tokens, json, css
What Figma Got Wrong About Design Systems (web)19,707
figma, design-systems
The State of WebAssembly—2025 and 2026 (uno)19,706
webassembly, retrospectives, outlooks
“Code Only” Props in Figma (nat)19,705
figma, props
Design in Code, Get Praise (ada)19,704
design, processes, communication
How to Build a WordPress Block Theme19,703
how-tos, wordpress, theming
Vercel vs. Netlify vs. Cloudflare: Serverless Cold Starts Compared19,702
vercel, netlify, cloudflare, serverless, comparisons, metrics
jQuery 4.0.0 (tim/jqu)19,701
jquery, release-notes
AdonisJS v7 Is Feature-Complete and Entering Final Validation (vir/ado)19,700
release-notes, adonisjs
ASCII Characters Are Not Pixels: A Deep Dive Into ASCII Rendering19,699
deep-dives, ascii, rendering
When Design Kills Usability—Meet the Custom Cursor (mal)19,698
videos, design, usability, cursors
Chrome 145 Adds Experimental Support for Vertical Tabs (bra)19,697
chrome, google, browsers
Better Defaults for Popovers (mat)19,696
pop-overs, css, resets
State of UX 2026: Design Deeper to Differentiate (nng)19,695
user-experience, design, outlooks, career, ai
PWA (htt)19,694
web-almanac, studies, research, metrics, progressive-web-apps, web-apps, web-workers
Ecommerce (htt)19,693
web-almanac, studies, research, metrics, ecommerce, tooling, performance, web-vitals, lighthouse
The Astro Technology Company Joins Cloudflare (ast)19,692
astro, cloudflare
CMS (htt)19,691
web-almanac, studies, research, metrics, content-management, tooling, wordpress, user-experience, performance, web-vitals, lighthouse, apis
Security (vik+/htt)19,690
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,689
ai, ai-agents, design, outlooks
Software as Fast Fashion (tan)19,688
programming, ai, sustainability, economics
Fonts (htt)19,687
web-almanac, studies, research, metrics, fonts, performance, css
The Missing Link for Web Components (kin/fro)19,686
web-components, typescript, json, mcp, ai, tooling
Building a Scroll-Driven Dual-Wave Text Animation With GSAP (cod)19,685
gsap, animations, scrolling
The Incredible Overcomplexity of the Shadcn Radio Button (pau)19,684
html, forms, complexity
Performance (25p+/htt)19,683
web-almanac, studies, research, metrics, performance, web-vitals, hints, speculation
Third Parties (htt)19,682
web-almanac, studies, research, metrics, embed-code
Using “100vw” Is Now Scrollbar-Aware (in Chrome 145+, Under the Right Conditions) (bra)19,681
css, units, scrolling, chrome, google, browsers
Accessibility (bog+/htt)19,680
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,679
design, processes
Accessible Faux-Nested Interactive Controls (eri/pic)19,678
accessibility, conformance, html, nesting
Privacy (htt)19,677
web-almanac, studies, research, metrics, privacy, legal, consent-management, do-not-track
Generative AI (chr+/htt)19,676
web-almanac, studies, research, metrics, ai, robotstxt, llmstxt
WebAssembly (htt)19,675
web-almanac, studies, research, metrics, webassembly
CDN (htt)19,674
web-almanac, studies, research, metrics, content-delivery, http, performance, http-headers, compression, tls, hints
Usability Heuristics and Competition in Games (uxd)19,673
usability, heuristics, design, aesthetics
SEO (htt)19,672
web-almanac, studies, research, metrics, seo, robotstxt, llmstxt, links, content, structured-data, amp, html, internationalization
Cookies (htt)19,671
web-almanac, studies, research, metrics, cookies
Page Weight (bar+/htt)19,670
web-almanac, studies, research, metrics, performance, web-vitals, lighthouse, google
StyleX vs. Tailwind: Meta’s Take on CSS-in-JS Maintainability (ric/the)19,669
tailwind, comparisons, css-in-js, maintainability, css, javascript
So You Think Your Website Is Doing Great (cit)19,668
html, javascript, css, quality
Beyond Manual Audits: How Automation Strengthens Accessibility (equ)19,667
accessibility, auditing, automation, wcag
Making GitHub Actions Suck a Little Less19,666
github-actions
Node.js January 2026 Security Release: What Changed and Why It Matters (nod)19,665
nodejs, security
The “Senior Developer” Is Now the New “Entry Level”19,664
career, ai
Smashing Animations: Theming Animations Using CSS Relative Colour (mal/sma)19,663
animations, colors, theming, css
The Unhinged World of Tech in 2026… (fir)19,662
videos, outlooks, ai, javascript
Live Region Support (aar)19,661
accessibility, live-regions, support, screen-readers, nvda, jaws, voiceover
Everything You Need to Know About Ruby 4.0 (hon)19,660
ruby
EPUB and HTML—Survey Results and Next Steps (rei/w3c)19,659
surveys, epub, html
ARIA Roles Can Remove Their Children’s Semantics (ste)19,658
html, aria, semantics, accessibility
Traditional Code Review Is Dead: What Comes Next? (the)19,657
code-reviews, ai, processes, infrastructure, scalability
18 Predictions for 202619,656
outlooks, ai, usability, user-experience
Introducing the “<geolocation>” HTML Element (tom+/dev)19,655
introductions, html, geolocation, chrome, google, browsers
The Invisible Work (hvp)19,654
leadership, productivity, processes
Mitigating Denial-of-Service Vulnerability From Unrecoverable Stack Space Exhaustion for React, Next.js, and APM Users (mco+/nod)19,653
nodejs, security, vulnerabilities, react, nextjs, tooling, monitoring, performance
Tuesday, January 13, 2026 Security Releases (nod)19,652
release-notes, nodejs, security
Simulating Crop Marks (chr/fro)19,651
css
Astro 6 Beta (mat)19,650
release-notes, astro
Just the Browser (cor)19,649
websites, browsers, chrome, google, firefox, mozilla, edge, microsoft
A Polyfill for the HTML “switch” Element (tom)19,648
html, forms, polyfills
Solid.js Best Practices (bre)19,647
solidjs, best-practices, examples
Is There Too Much Design in Design Systems? (sha)19,646
design, design-systems
Don’t Start With AI, Start With the Problem (cal/nng)19,645
videos, ai, processes
Aspire for JavaScript Developers (dav/mic)19,644
tooling, javascript, typescript
Manufacturing as Code Is the Future, and the Future Is Now19,643
programming, outlooks
OpenCode vs. Claude Code (bui)19,642
opencode, claude, anthropic, ai, comparisons
Stop Turning Everything Into Arrays (and Do Less Work Instead)19,641
javascript, methods, arrays
SVG Filters Are Just Amazing (ami)19,640
svg, filters
Focus Rings With Nested “contrast-color()”? (dav)19,639
css, selectors, functions, focus, contrast
Stop Using MySQL in 2026, It Is Not True Open Source (ott)19,638
mysql
Don’t Fall Into the Anti-AI Hype (ant)19,637
ai, career
How Wrong Can a JavaScript Date Calculation Go? (phi)19,636
javascript, time, apis
On Abbreviating Accessibility (ons)19,635
accessibility, microcontent
What Is the Minimum Markup Needed to Create a Modal?19,634
modals, minimalism, html, css, accessibility
Prompt Engineering Won’t Fix Your Architecture19,633
architecture, ai
How to Steal Any React Component19,632
react, components
Beyond the Mouse: Animating With Mobile Accelerometers (ami/fro)19,631
mobile, javascript, animations
Death to Scroll Fade (dbu)19,630
scrolling, effects, performance
How Markdown Took Over the World (ani)19,629
markdown, web
Not All Browser APIs Are “Web” APIs (pol)19,628
apis
Brief Note on Application Keyboard Shortcuts (aar)19,627
accessibility, keyboard-shortcuts, screen-readers
Your Brand Just Evolved: The Rise of AI-Generated Identities (web)19,626
design, branding, ai
Very Good Components (bee)19,625
websites, components, html
Popover Context Menus With Anchor Positioning (chr/fro)19,624
css, tooltips, pop-overs, anchor-positioning
Node.js Package Configuration Guide (nod)19,623
guides, packages, dependencies, configuration, commonjs, esm
Judging Severity in Accessibility Issues (joe)19,622
accessibility
What Makes a Good Tech Meet-Up?19,621
discussions, community
A Data Model for Git (and Other Docs Updates) (b0r)19,620
git
Async React19,619
videos, react, asynchronicity
Exploring React Performance (en-)19,618
videos, react, performance
Profiling With React Performance Tracks19,617
videos, react, profiling, performance
Designing Page Transitions19,616
videos, design, transitions, effects
Software Is Culture (fig)19,615
culture
2026 Accessibility Hiring Looks Busy, Yet the Patterns Show Underlying Weakness19,614
accessibility, career
Common Misconceptions About Testing Accessibility (tet)19,613
accessibility, testing
Modern Emails Using React19,612
videos, email, react
Date Is Out, Temporal Is In (wil/pic)19,611
javascript, time
Ethical and Resilient Blog Hosting (pad)19,610
hosting, blogging, ethics
npm to Implement Staged Publishing After Turbulent Shift Off Classic Tokens (sar/soc)19,609
npm, dependencies, security, github
Web Dependencies Are Broken—Can We Fix Them? (lea)19,608
dependencies, javascript, import-maps, web-platform
4 CSS Features Every Front-End Developer Should Know in 2026 (arg)19,607
css, functions, scrolling
Designing With AI-Readable Design Systems in Cursor (uxd)19,606
design, design-systems, ai, cursor, code-editors
5 Accessibility Checks to Run on Every Component (hdv/zer)19,605
accessibility, components, testing, keyboard-navigation, design-tokens, microcontent, zooming, screen-readers
Google Broke My Heart (per)19,604
google, search, licensing, legal
2025 JavaScript Rising Stars19,603
javascript, frameworks, libraries, react, vuejs, tooling, ai, mobile, desktop, state-management, css-in-js, testing, static-site-generation, graphql, retrospectives
We Fixed a 6-Year-Old JavaScript Memory Leak (deb)19,602
javascript, memory
JavaScript Frameworks—Heading Into 2026 (rya/thi)19,601
javascript, frameworks, outlooks, ai
How I Evaluate an ACR (VPAT) (aar)19,600
accessibility, compliance, vpat-acr, processes
Claude Devs Complain About Surprise Usage Limits, Anthropic Blames Expiring Bonus (tho/the)19,599
claude, anthropic, ai
Eric Bailey’s Predictions for the Future of Accessibility (eri)19,598
accessibility, outlooks
How to Create a Pixel-to-Voxel Video Drop Effect With Three.js and Rapier (cod)19,597
how-tos, javascript, effects, tooling, gsap
Streaming JSON in Just 200 Lines of JavaScript19,596
streaming, json, javascript
Anna Thielke’s Predictions for the Future of Accessibility19,595
accessibility, outlooks
Damian Sian’s Predictions for the Future of Accessibility19,594
accessibility, outlooks
Kai Wong’s Predictions for the Future of Accessibility19,593
accessibility, outlooks
The Nine Levels of JavaScript Dependency Hell (and)19,592
javascript, dependencies, maintainability
Pre-Tenuring in V8 (win)19,591
v8, javascript-engines
How to “@ scope” CSS Now That It’s Baseline (dxn/fro)19,590
css, scope, examples
I Built an App in Every Frontend Framework19,589
frameworks, libraries, react, vuejs, svelte, angular, lit, marko, jquery, alpinejs, solidjs, astro, qwik, comparisons
How GitHub Monopoly Is Destroying the Open Source Ecosystem (plo)19,588
foss, github, microsoft
WASI 1.0: You Won’t Know When WebAssembly Is Everywhere in 2026 (the)19,587
webassembly, components, standards
The Next Two Years of Software Engineering (add)19,586
programming, career, outlooks, ai
V7: Typographic Scales and Technical Pens19,585
design, typography, css, case-studies
How Browsers Work (dmy)19,584
websites, guides, browsers, urls, http, tcp, html, dom
TIL: Why ARM Has a JavaScript Instruction19,583
javascript
Sounds on the Web19,582
web, multimedia
21 Lessons From 14 Years at Google (add)19,581
lessons, google, career
Web Development Is Fun Again19,580
ai, creativity
The Package Management Landscape (and)19,579
dependencies, tooling, overviews, link-lists
The Code Review That Cost $2 Million19,578
code-reviews, economics, ai
Managing Infrastructure Across Multiple Environments19,577
infrastructure, dev-ops, maintenance
Building a JavaScript Runtime in One Month (the)19,576
javascript, runtimes, functionality
10 UX Design Shifts You Can’t Ignore in 2026 (uxd)19,575
design, user-experience, ai, outlooks
2026: The Year of My Website (the)19,574
indieweb, social-media
Security Basics for Vibe-Coders (owe/pro)19,573
fundamentals, security, vibe-coding, ai
JavaScript’s “for…of” Loops Are Actually Fast19,572
javascript, loops, performance
“!important” and CSS Custom Properties (chr/fro)19,571
css, custom-properties, cascade
On Using IndieWeb Protocols Like Webmentions and Keeping Your Website Separate From Social Media (pat)19,570
indieweb, webmentions, social-media
Teaching Agents About Performance Insights (web/per)19,569
performance, ai, ai-agents
Chrome DevTools Features I Use All the Time (and Why You Should Too) (kee/per)19,568
dev-tools, chrome, google, browsers, performance, accessibility, lighthouse, network, embed-code
What Happened to WebAssembly (emn)19,567
webassembly
More Efficiency, More Demand19,566
efficiency, ai, career
Building the Brain of Your Accessibility AI (ted)19,565
accessibility, ai
The Curious Case of the Shallow Session SPAs (sli/per)19,564
performance, single-page-apps, javascript, frameworks, metrics
From Theory to Tiny: Implementing Compression Dictionaries (rya/per)19,563
performance, compression, content-delivery
How Can You Tell What’s Allowed Inside Each HTML Element?19,562
html, conformance
Touch Targets and Web Accessibility19,561
accessibility, touch
Testing Methods: Status Messages (dec)19,560
accessibility, testing, wcag, notifications, link-lists
What’s !important: Conditional View Transitions, CSS/SVG Text Effects, the Best of CSS Bluesky, and More (dxn/css)19,559
css, retrospectives
8 Predictions for 2026: What Comes Next in AI? (phi)19,558
ai, outlooks
The 8 Trends That Will Define Web Development in 2026 (log)19,557
trends, outlooks, ai, frameworks, tanstack, typescript, edge-computing, presentational-html
Testing Methods: Name, Role, Value (dec)19,556
accessibility, testing, wcag, aria, link-lists
HTML Content Categories19,555
html, semantics
How to Design for (and With) Deaf People (vit/sma)19,554
how-tos, design, accessibility
7 Steps of a Web Performance Journey (ser/per)19,553
performance, processes
Introducing Flint (jos)19,552
introductions, tooling, linting
7 Real Predictions for Web Design in 2026 (web)19,551
design, outlooks, ai, aesthetics
“Why Do You Code?”—a Surprisingly Hard Question19,550
discussions, programming, career
Why Developers Are Ditching Frameworks for Vanilla JavaScript (the)19,549
frameworks, javascript, apis, performance, micro-frontends, architecture
Opening and Closing Dialogs Without JavaScript Using HTML Invoker Commands (sch)19,548
modals, html
Reliability by Design (uxd)19,547
design, ai, link-lists
pnpm in 2025 (koc/pnp)19,546
pnpm, retrospectives
Third Parties and Single Points of Failure (pau/per)19,545
performance, embed-code, metrics
How I Write Custom Elements With “lit-html” (fro)19,544
web-components, lit
How to Dynamically Install Custom Elements (hey)19,543
how-tos, web-components, naming, javascript
Testing Methods: Accessible Authentication (Enhanced) (dec)19,542
accessibility, testing, wcag, authentication, security
The Final Nail in the HTML5 Document Outline Coffin (tem)19,541
html, headings, accessibility
Tests for CSS Generated Content Alternative Text19,540
css, generated-content, alt-text, accessibility, support, voiceover, nvda, jaws, screen-readers
Testing Methods: Accessible Authentication (Minimum) (dec)19,539
accessibility, testing, wcag, authentication, security
Tips for Making the Performance Panel Less Overwhelming (duf/per)19,538
performance, dev-tools, browsers, chrome, google, tips-and-tricks
JavaScript Creator Warns Against “Rushed Web UX Over Native” as Windows 11 Leans Harder on WebView2 and Electron (win)19,537
windows, microsoft, web-apps, electron
Testing Methods: Redundant Entry (dec)19,536
accessibility, testing, wcag, forms
Trends That Defined JavaScript in 2025 (low/the)19,535
javascript, trends, retrospectives, react, frameworks, tooling, ai
Chrome DevTools for Debugging Web Performance (nuc/per)19,534
performance, debugging, dev-tools, chrome, google, browsers
You Can’t Design Software You Don’t Work On (sea)19,533
software-design, architecture
Testing Methods: Error Prevention (All) (dec)19,532
accessibility, testing, wcag, errors
Revisiting HTML Streaming for Modern Web Performance (per)19,531
performance, html, streaming
The Most Dangerous Person on Your Team Is “Dave” (and He Just Quit) (hac)19,530
collaboration, documentation, ai, prompting
The Cost of Consistency: Avoiding Design System Bottlenecks (omi)19,529
design-systems, consistency, lessons, angular
Testing Methods: Help (dec)19,528
accessibility, testing, wcag
Chasing BFCache Navigations (per)19,527
performance, bfcache, caching
How to Stay Ahead of AI as an Early-Career Engineer (gwe/iee)19,526
how-tos, career, ai
Ruby Turns 30: A Celebration of Code, Community, and Creativity (jet)19,525
ruby, ruby-on-rails, history, anniversaries
Nobody Knows How Large Software Products Work (sea)19,524
programming, software-design, complexity, maintainability
TTFB Doesn’t Mean What You Think It Means (pro/per)19,523
performance, concepts, http
The Three Semantics of HTML (mat)19,522
html, semantics
Node.js in 2026 with Rafael Gonzaga (raf)19,521
podcasts, interviews, nodejs, outlooks
Why Object of Arrays (SoA Pattern) Beat Interleaved Arrays: A JavaScript Performance Rabbit Hole19,520
javascript, performance, arrays
Fixing TypeScript Performance Problems: A Case Study (vig)19,519
typescript, performance, case-studies
Testing Methods: Error Suggestion (dec)19,518
accessibility, testing, wcag, errors, link-lists
For the Love of “<details>” (dev/mat)19,517
disclosure-widgets, html
Web Components Are the Comeback Nobody Saw Coming (the)19,516
web-components, frameworks, developer-experience
Fixing the URL Params Performance Penalty (tun/per)19,515
performance, urls, caching, http-headers, examples
The AI Divide19,514
ai, studies, research
The Two Most Important Tools for HTML Developers19,513
tooling, html, conformance, minification, html-minifier, htmlnano
Five Accessibility Trends to Watch in 202619,512
accessibility, trends
Testing Methods: Labels or Instructions (dec)19,511
accessibility, testing, wcag, labels, forms, link-lists
2026 Predictions: The Next Big Shifts in Web Accessibility (web)19,510
accessibility, outlooks, ai, wcag, html
Optimizing for 75% Is Fine—Optimizing for 90% Is Where It Gets Interesting (jor/per)19,509
performance, web-vitals, optimization
The HTML Elements Time Forgot (val/mat)19,508
html, history
A Year of Vibes (mit)19,507
ai, retrospectives, wish-lists
“text-decoration-inset” Is Like Padding for Text Decorations (dxn/css)19,506
css
Did You Know Some ARIA Roles Remove Child Semantics?19,505
html, aria, semantics, accessibility
Testing Methods: Error Identification (dec)19,504
accessibility, testing, wcag, errors, link-lists
Insights From 100 Site Speed Reviews in 2025 (per)19,503
performance, retrospectives
Styling by Language: Using the “lang” Attribute for Multilingual Design (mat)19,502
html, internationalization, css
The Many Lives of the Page Title (kat/mat)19,501
html, user-experience, accessibility, wcag
Optimizing CLS for Infinite Scroll and Load More (ver/per)19,500
performance, web-vitals, scrolling, optimization
8 PostgreSQL Tricks (kem)19,499
postgresql, databases, tips-and-tricks
Testing Methods: Consistent Help (dec)19,498
accessibility, testing, wcag, consistency
Tech Talk: Improving Window Resize Behavior (ele)19,497
electron, resizing, debugging, case-studies
Accessibility Is Personal (css)19,496
accessibility, html
The Anatomy of an Accessible Text Field (ink)19,495
forms, accessibility, html, labels
Early Signs of EAA Enforcement Across Europe (deq)19,494
accessibility, eaa, legal, compliance
Testing Methods: Change on Request (dec)19,493
accessibility, testing, wcag, link-lists
Introducing CSS Grid Lanes (jen+/web)19,492
introductions, css, masonry, layout
Masonry Layout Is Now Grid-Lanes (sun/css)19,491
css, layout, masonry
5 Terminal Commands That Saved Me Hours of Clicking19,490
command-line, productivity
Targeting by Reference in the Shadow DOM (mey)19,489
shadow-dom, html, javascript
Design Wrapped 2025 (uxd)19,488
design, retrospectives
Semantics Beyond the Tag Name (kno/mat)19,487
html, attributes, aria, semantics, accessibility
A Short History of Performance Engineering (per)19,486
performance, history
A Decade of Accessibility Weekly (dav)19,485
accessibility, retrospectives
Understanding Don Norman’s Principles of Interaction19,484
design, interaction-design, usability
Open-Source Funding: Do We Need a “No Maintenance” Month? (j9t)19,483
foss, economics, community
Web UX: Study Guide (nng)19,482
guides, user-experience, usability, training, link-lists
The Anatomy of LCP—a Deep Dive Into Sub-Parts (per)19,481
deep-dives, performance, web-vitals, tooling
Forms Are a Badly Designed Part of HTML (jen/mat)19,480
html, forms, standards
4 AI-Powered, No-Code Tools to Speed Up Your Frontend Workflow in 2026 (ele/des)19,479
guest-posts, ai, low-and-no-code, tooling, productivity
You Can’t Opt-Out of Accessibility (val)19,478
accessibility, design, legal
Beyond Components: From Design System to Design Language System19,477
design-systems, components, link-lists
Directional CSS With “scroll-state(scrolled)” (una)19,476
css, functions, scrolling
Testing Methods: Consistent Navigation (dec)19,475
accessibility, testing, wcag, navigation, consistency
How “aria-labelledby” Really Works19,474
accessibility, aria, attributes, html
Warp Speed to Accessibility: Fast-Tracking Inclusive Testing (a11)19,473
videos, accessibility, testing
Dialog View Transitions (med)19,472
modals, javascript, view-transitions
Your Post Is Cool, but Is It Accessible and Inclusive? (a11)19,471
videos, accessibility
3 Color Contrast Mistakes Designers Still Make (uxd)19,470
contrast, colors, images, wcag, accessibility, mistakes
The Rise of the Invisible Designer (web)19,469
design
What Continuous Improvement Model Is Best for Accessibility?19,468
accessibility, processes
Don’t Leave the Screen Reader Hungry (ger/mat)19,467
html, emoji, screen-readers, accessibility
The Old Ways Are the Best: 100 Lighthouse, 0 ms TBT, 32 ms Queries (per)19,466
performance, case-studies
AI and Productivity: Year-In-Review With Microsoft, Google, and GitHub Researchers (lau)19,465
ai, productivity, retrospectives
The JavaScript Bundler Grand Prix (kat/red)19,464
javascript, bundling, tooling, vite, turbopack, bun, rolldown, browserify, webpack, rollup, parcel, esbuild, history
Responsive and Fluid Typography With Baseline CSS Features (mia/dev)19,463
css, typography, responsive-design
Does Chrome Get the “<header>” Element Wrong?19,462
html, aria, chrome, google, browsers
German Auditors Reject Accessibility Overlays in EAA Context19,461
accessibility, auditing, overlays, legal, eaa
Testing Methods: On Input (dec)19,460
accessibility, testing, wcag, forms, link-lists
Different Page Transitions for Different Circumstances (chr/fro)19,459
css, javascript, view-transitions, animations
Why We Should Stop Talking Performance Metrics to Business Leaders (san/per)19,458
performance, metrics, communication, business-relations
Giving Pages a Clear Shape by Using Headings (mat)19,457
html, headings
Mozilla’s Next Chapter: Building the World’s Most Trusted Software Company (moz)19,456
mozilla, firefox, browsers, ai
New to the Web Platform in December (rac/dev)19,455
release-notes, web-platform, browsers, firefox, mozilla, chrome, google, safari, apple
CSS Layout: How to “Center a Div,” the Old School Way (the)19,454
css, layout, floats, centering, techniques, how-tos
State of HTML 2025 [Results] (sac/dev)19,453
surveys, metrics, html
Ripple: A New TypeScript-First Front-End Framework19,452
frameworks, typescript, ripple
Testing Methods: On Focus (dec)19,451
accessibility, testing, wcag, forms, focus, keyboard-navigation
Responsive List of Avatars Using Modern CSS (css/css)19,450
css, masking, responsive-design
Them’s the Breaks (tyl/mat)19,449
html
I Ported JustHTML From Python to JavaScript With Codex CLI and GPT-5.2 in 4.5 Hours (sim)19,448
migrating, ai, python, javascript, tooling, parsing, html
Accessibility as a Core Requirement (mha)19,447
accessibility, prioritization
Throttle Individual Network Requests (dev/dev)19,446
performance, chrome, google, browsers, dev-tools
Testing Methods: Pronunciation (dec)19,445
accessibility, testing, wcag, pronunciation, screen-readers
What Does “Hidden” Actually Mean in Accessible Name Computation?19,444
accessibility, naming, hiding
A Tale of Two Animations—the Compositor in the Skies (per)19,443
animations, css, performance
The “<time>” Element Should Actually Do Something (nol)19,442
html, time, semantics
The Wonderful World of Web Feeds (mau/mat)19,441
syndication, rss, atom, json
How to Load CSS (Fast) (per)19,440
how-tos, css, performance, critical-path
Automate Your Testing Workflows Using BrowserStack’s AI Agents (zor/css)19,439
videos, testing, automation, browsers
Testing Methods: Reading Level (dec)19,438
accessibility, testing, wcag, link-lists
Accessibility Is a Human Right, Cruelty a Human Wrong (zel)19,437
accessibility, fonts
Changes in the World of HTML Minifiers (apo)19,436
html, tooling, minification, html-minifier
Hell Is Other People’s Markup (llo/mat)19,435
html, auditing, tooling
Improving Cumulative Layout Shift in WordPress19,434
wordpress, web-vitals, performance, optimization, cheat-sheets
Chrome DevTools Elements Panel Tips and Tricks (zor/css)19,433
videos, dev-tools, chrome, google, browsers, tips-and-tricks
New Front-End Framework Ripple Blends React and Svelte Together (inf)19,432
frameworks, ripple
The Design System of the Christmas Factory19,431
design-systems, accessibility, processes
Using the Browser Console for Accessibility Testing19,430
accessibility, testing, console, javascript, examples
Testing Methods: Abbreviations (dec)19,429
accessibility, testing, wcag, content, link-lists
A11y Considerations in Math on the Web (man/mat)19,428
accessibility, mathml, screen-readers, nvda, voiceover, support
The Ultimate Guide to UI Design in 2026 (web)19,427
guides, design, user-experience, simplicity, consistency, hierarchy, accessibility
The Vibe Coding Paradox (jun)19,426
programming, vibe-coding, ai
Intro to Performance of React Server Components (ade/per)19,425
introductions, performance, react, components, server-side-rendering
WebKit Features for Safari 26.2 (jen+/web)19,424
release-notes, webkit, safari, apple, browsers
Eleventy Core Dependency Watch (2025 Edition) (zac/11t)19,423
eleventy
What Else Could Container Queries… Query? (dxn/css)19,422
css, container-queries
The New “clamp()” Function in PHP 8.6 (ami)19,421
php, functions
Why Are My View Transitions Blinking? (pic)19,420
css, view-transitions
Accessibility Updates (w3c)19,419
videos, accessibility, wcag, standards
How HTML Changes in EPUB (rob/mat)19,418
epub, html, standards
Testing Methods: Unusual Words (dec)19,417
accessibility, testing, wcag, content, link-lists
Thoughts on Native CSS Mixins (chr/fro)19,416
css, mixins
Vote for the Web Features You Want to See (rvi/dev)19,415
web-platform, standards, support
Denial of Service and Source Code Exposure in React Server Components (rea)19,414
react, components, security
HTML Minifier Next: Presets, New Config Options, Minification Sharing, and Type Definitions (j9t)19,413
release-notes, html-minifier
How We Automate Accessibility Testing With Playwright and Axe (boj)19,412
accessibility, testing, automation, playwright, axe
Common Misconceptions About WCAG (tet)19,411
accessibility, wcag, standards
Useful Patterns for Building HTML Tools (sim)19,410
html, ai, tooling
Testing Methods: Language of Parts (dec)19,409
accessibility, testing, wcag, internationalization
React 19.2: Further Advances INP Optimization (per)19,408
react, web-vitals, performance, optimization
The “Two-Brain” Advantage: Why You Should Never Trust Just One AI (owe/pro)19,407
ai, processes, quality
A11y Freedom Beaver (ste/mat)19,406
accessibility, aria, html
Creating Scroll-Based Animations in Full view() (pre/css)19,405
css, animations, scrolling, functions
Frontend News #19: CSS “overscroll-behavior”, “scrollbar-gutter”, “text-grow” Properties, and More (zor/css)19,404
videos, css, scrolling
Why RSS Matters (wer)19,403
rss, syndication, social-media
“aria-busy” Is Not Your Friend (ger)19,402
accessibility, aria, nvda, jaws, voiceover, screen-readers
Testing Methods: Language of Page (dec)19,401
accessibility, testing, wcag, internationalization
The Slow Death of Magic (uxd)19,400
product-management, simplicity
Meeting WCAG Is an Achievement (yat)19,399
accessibility, wcag, compliance
Why Every Conference Needs a Nursing Room (bla)19,398
community, dei
The Inconvenient Truth: How Web Performance Case Studies Undermine Our Relationship With Business (mac/per)19,397
performance, metrics, economics
Discover Dialog (sar/mat)19,396
html, modals, javascript, css
Making Complex Web Apps Faster (pat/mic)19,395
performance, web-apps, apis, time, complexity
Anthropic Donates the MCP Protocol to the Agentic AI Foundation (fre/the)19,394
anthropic, mcp, protocols, foss, ai
Type-Aware Linting Alpha (cam/bos)19,393
linting, tooling, oxc
Comparing HTML Minifiers (j9t)19,392
html, minification, tooling, html-minifier, htmlnano, metrics, comparisons
Why Federated Design Systems Keep Failing (sha)19,391
design-systems, collaboration
Design Accessible Animation and Movement With Code Examples (pop)19,390
design, accessibility, animations, css, javascript, examples
Getting a Close Button to Hang Off of a Dialog (dar)19,389
modals, buttons, css, anchor-positioning
Blogging Is Dead. Long Live the Blog. (web)19,388
blogging, seo, ai, social-media, web
Thursday, December 18, 2025 Security Releases (nod)19,387
release-notes, nodejs, security
What’s Wrong With This HTML, and Is It Valid? (pat/mat)19,386
html, standards, conformance, web-platform
The Anatomy of a Web Performance Report (web/per)19,385
performance, documentation, web-vitals, lighthouse
Did You Know Your Browser Has Two Accessibility Trees?19,384
accessibility, browsers, chrome, blink, google
CSS Wrapped 2025 (una/dev)19,383
css, standards, retrospectives
That Time I Tried Explaining HTML and CSS to My 5-Year Old Niece (css)19,382
html, css, learning
Web Performance 2025: The Shift From Optimization to Prediction (fab/per)19,381
performance, optimization, retrospectives
Testing Methods: Dragging Movements (dec)19,380
accessibility, testing, wcag
Controlling Dialogs and Popovers With the Invoker Commands API (sta/mat)19,379
modals, pop-overs, apis, attributes, html
Testing Methods: Concurrent Input Mechanisms (dec)19,378
accessibility, testing, wcag
NoLoJS: Reducing the JS Workload With HTML and CSS (aar/per)19,377
html, disclosure-widgets, forms, modals, pop-overs, navigation, scrolling, positioning
Accessible by Design: The Role of the “lang” Attribute (col/mat)19,376
accessibility, internationalization, html, attributes, metrics
Dealbreaker Bugs in Native Popovers (mat)19,375
accessibility, pop-overs, bugs
Lies, Damned Lies, and Design System Adoption Statistics (ikn)19,374
design-systems
What Are DOM Mutations?19,373
accessibility, dom, javascript
How We’re Protecting Our Newsroom From npm Supply Chain Attacks (rya/pnp)19,372
npm, dependencies, security, case-studies
Testing Methods: Target Size (Enhanced) (dec)19,371
accessibility, testing, wcag, touch
How I Built a Form Management Platform With Angular 17 and SurveyJS19,370
functionality, forms, angular, tooling
Non-Blocking Cross-Browser Image Rendering on the Canvas (mys/per)19,369
canvas, javascript, images, performance
10 Usability Heuristics19,368
usability, heuristics
2025 in Review: What’s New in Web Performance? (deb)19,367
performance, web-vitals, lighthouse, apis, speculation, chrome, google, firefox, browsers, dev-tools, tooling, testing, mcp, ai, retrospectives, outlooks
IDREFs: What They Are and How to Use Them (kil/mat)19,366
html, forms, aria, accessibility
I Studied 50+ Engineers Who Got Promoted Fast: They All Did One Thing I’d Been Ignoring19,365
career, collaboration
Testing Methods: Motion Actuation (dec)19,364
accessibility, testing, wcag, mobile
Fast by Default (den/per)19,363
performance, processes
No More Tokens—Locking Down npm Publish Workflows (zac)19,362
npm, dependencies, security, github, processes
Standards Queues (bka)19,361
standards, web-platform, collaboration
Why You Need Design Maturity in a Product Organisation, and How to Get It (uxd)19,360
design, product-management
In 1995, a Netscape Employee Wrote a Hack in 10 Days That Now Runs the Internet (ben/ars)19,359
netscape, javascript, history
The Web Runs on Tolerance (ede)19,358
web-platform, standards, principles
Referencing HTML Elements Inside Shadow DOM (meh/mat)19,357
html, shadow-dom, web-components
Getting Creative With “the Measure” (mal/css)19,356
css, typography, readability
During Helene, I Just Wanted a Plain Text Website (spa)19,355
content
The Downsides of “scrollbar-gutter: stable;” (and One Weird Trick) (chr/fro)19,354
css, scrolling
A Little Bit Uncomfortable19,353
career, learning
Solving Small Text and Contrast Issues for Large-Screen Readability (a11)19,352
accessibility, contrast, readability, typography
Common Misconceptions About Disability (tet)19,351
accessibility, concepts
Public Design Systems Are Worth It (pjo)19,350
design-systems
TypeScript Strictness Is Non-Monotonic: Strict-Null-Checks and No-Implicit-Any Interact (huo)19,349
typescript, arrays