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

Frontend Dogma

News and Tools for Web Developers

Updated daily

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

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

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

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