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