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

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