Tech is political: The people under attack in Palestine 🇵🇸, Iran 🇮🇷, and Lebanon 🇱🇧 are people like us. They’re our brothers and sisters, too. Read up on their history, scrutinize what you’re told, and demand that they be respected. Hide

Frontend Dogma

News and Tools for Web Developers, 1990s to Now (4)

→ Stay up-to-date on all topics by various RSS feeds (main feed with exclusive news: only $1/month), on Mastodon, and on Bluesky

Entry (Sources) and TopicsDate#
Accessible Faux-Nested Interactive Controls (eri/pic)20331
accessibility, conformance, html, nesting
Privacy (htt)20330
web-almanac, studies, research, metrics, privacy, legal, consent-management, do-not-track
Generative AI (chr+/htt)20329
web-almanac, studies, research, metrics, ai, robotstxt, llmstxt
WebAssembly (htt)20328
web-almanac, studies, research, metrics, webassembly
CDN (htt)20327
web-almanac, studies, research, metrics, content-delivery, http, performance, http-headers, compression, tls, hints
SEO (htt)20326
web-almanac, studies, research, metrics, seo, robotstxt, llmstxt, links, content, structured-data, amp, html, internationalization
Cookies (htt)20325
web-almanac, studies, research, metrics, cookies
Page Weight (bar+/htt)20324
web-almanac, studies, research, metrics, performance, web-vitals, lighthouse, google
So You Think Your Website Is Doing Great (cit)20323
html, javascript, css, quality
Beyond Manual Audits: How Automation Strengthens Accessibility (equ)20322
accessibility, auditing, automation, wcag
Making GitHub Actions Suck a Little Less20321
github-actions
Node.js January 2026 Security Release: What Changed and Why It Matters (nod)20320
nodejs, security
The “Senior Developer” Is Now the New “Entry Level”20319
career, ai
Smashing Animations: Theming Animations Using CSS Relative Colour (mal/sma)20318
animations, colors, theming, css
The Unhinged World of Tech in 2026… (fir)20317
videos, outlooks, ai, javascript
Live Region Support (aar)20316
accessibility, live-regions, support, screen-readers, nvda, jaws, voiceover
Everything You Need to Know About Ruby 4.0 (hon)20315
ruby
EPUB and HTML—Survey Results and Next Steps (rei/w3c)20314
surveys, epub, html
Traditional Code Review Is Dead: What Comes Next?20313
code-reviews, ai, processes, infrastructure, scalability
How to Use OpenCode: A Practical Guide and Builds20312
guides, opencode, ai, mcp, tooling, installing
Introducing the “<geolocation>” HTML Element (tom+)20311
introductions, html, geolocation, chrome, google, browsers
ARIA Roles Can Remove Their Children’s Semantics (ste)20310
html, aria, semantics, accessibility
18 Predictions for 202620309
outlooks, ai, usability, user-experience
The Invisible Work (hvp)20308
leadership, productivity, processes
Mitigating Denial-of-Service Vulnerability From Unrecoverable Stack Space Exhaustion for React, Next.js, and APM Users (mco+/nod)20307
nodejs, security, vulnerabilities, react, nextjs, tooling, monitoring, performance
Tuesday, January 13, 2026 Security Releases (nod)20306
release-notes, nodejs, security
Simulating Crop Marks (chr/fro)20305
css
Astro 6 Beta (mat)20304
release-notes, astro
Just the Browser (cor)20303
websites, browsers, chrome, google, firefox, mozilla, edge, microsoft
Aspire for JavaScript Developers (dav)20302
tooling, javascript, typescript
Design Systems and Shareable Browser Support (rob)20301
design-systems, browsers, browserslist, support
A Polyfill for the HTML “switch” Element (tom)20300
html, forms, polyfills
Solid.js Best Practices (bre)20299
solidjs, best-practices, examples
Is There Too Much Design in Design Systems? (sha)20298
design, design-systems
Don’t Start With AI, Start With the Problem (cal/nng)20297
videos, ai, processes
Manufacturing as Code Is the Future, and the Future Is Now20296
programming, outlooks
OpenCode vs. Claude Code (bui)20295
opencode, claude, anthropic, ai, comparisons
Stop Turning Everything Into Arrays (and Do Less Work Instead)20294
javascript, methods, arrays
SVG Filters Are Just Amazing (ami)20293
svg, filters
Comments Considered Harmful in the Age of LLMs (yeg)20292
comments, ai, maintainability
Focus Rings With Nested “contrast-color()”? (dav)20291
css, selectors, functions, focus, contrast
Stop Using MySQL in 2026, It Is Not True Open Source (ott)20290
mysql
Don’t Fall Into the Anti-AI Hype (ant)20289
ai, career
How Wrong Can a JavaScript Date Calculation Go? (phi)20288
javascript, time, apis
On Abbreviating Accessibility (ons)20287
accessibility, microcontent
What Is the Minimum Markup Needed to Create a Modal? (rus)20286
modals, minimalism, html, css, accessibility
Prompt Engineering Won’t Fix Your Architecture20285
architecture, ai
How to Steal Any React Component20284
react, components
Beyond the Mouse: Animating With Mobile Accelerometers (ami/fro)20283
mobile, javascript, animations
Death to Scroll Fade (dbu)20282
scrolling, effects, performance
How Markdown Took Over the World (ani)20281
markdown, web
Not All Browser APIs Are “Web” APIs (pol)20280
apis
Brief Note on Application Keyboard Shortcuts (aar)20279
accessibility, keyboard-shortcuts, screen-readers
Your Brand Just Evolved: The Rise of AI-Generated Identities (web)20278
design, branding, ai
Very Good Components (bee)20277
websites, components, html
Popover Context Menus With Anchor Positioning (chr/fro)20276
css, tooltips, pop-overs, anchor-positioning
Node.js Package Configuration Guide (nod)20275
guides, packages, dependencies, configuration, commonjs, esm
Judging Severity in Accessibility Issues (joe)20274
accessibility
What Makes a Good Tech Meet-Up?20273
discussions, community
A Data Model for Git (and Other Docs Updates) (b0r)20272
git
Getting Started With Mistral Vibe CLI and Exploring Devstral 2 Small—Best Local Model?20271
videos, introductions, mistral, ai
Async React20270
videos, react, asynchronicity
Exploring React Performance (en-)20269
videos, react, performance
Profiling With React Performance Tracks20268
videos, react, profiling, performance
Designing Page Transitions20267
videos, design, transitions, effects
Software Is Culture (fig)20266
culture
2026 Accessibility Hiring Looks Busy, Yet the Patterns Show Underlying Weakness20265
accessibility, career
Common Misconceptions About Testing Accessibility (tet)20264
accessibility, testing
Modern Emails Using React20263
videos, email, react
Date Is Out, Temporal Is In (wil/pic)20262
javascript, time
Ethical and Resilient Blog Hosting (pad)20261
hosting, blogging, ethics
npm to Implement Staged Publishing After Turbulent Shift Off Classic Tokens (sar/soc)20260
npm, dependencies, security, github
Web Dependencies Are Broken—Can We Fix Them? (lea)20259
dependencies, javascript, import-maps, web-platform
4 CSS Features Every Front-End Developer Should Know in 2026 (arg)20258
css, functions, scrolling
Designing With AI-Readable Design Systems in Cursor20257
design, design-systems, ai, cursor, code-editors
5 Accessibility Checks to Run on Every Component (hdv/zer)20256
accessibility, components, testing, keyboard-navigation, design-tokens, microcontent, zooming, screen-readers
Google Broke My Heart (per)20255
google, search, licensing, legal
2025 JavaScript Rising Stars20254
javascript, frameworks, libraries, react, vuejs, tooling, ai, mobile, desktop, state-management, css-in-js, testing, static-site-generation, graphql, retrospectives
WASI 1.0: You Won’t Know When WebAssembly Is Everywhere in 202620253
webassembly, components, standards
We Fixed a 6-Year-Old JavaScript Memory Leak (mat/deb)20252
javascript, memory
The Text Mode Lie: Why Modern TUIs Are a Nightmare for Accessibility20251
accessibility, command-line, ai, gemini, nvda, vi+vim, unix-like
How to “@scope” CSS Now That It’s Baseline (dxn/fro)20250
css, scope, examples
How to Create a Pixel-to-Voxel Video Drop Effect With Three.js and Rapier (cod)20249
how-tos, javascript, effects, tooling, gsap, threejs
JavaScript Frameworks—Heading Into 2026 (rya/thi)20248
javascript, frameworks, outlooks, ai
How I Evaluate an ACR (VPAT) (aar)20247
accessibility, compliance, vpat-acr, processes
Claude Devs Complain About Surprise Usage Limits, Anthropic Blames Expiring Bonus (tho/the)20246
claude, anthropic, ai
Eric Bailey’s Predictions for the Future of Accessibility (eri)20245
accessibility, outlooks
Streaming JSON in Just 200 Lines of JavaScript20244
streaming, json, javascript
Anna Thielke’s Predictions for the Future of Accessibility20243
accessibility, outlooks
Damian Sian’s Predictions for the Future of Accessibility20242
accessibility, outlooks
Kai Wong’s Predictions for the Future of Accessibility20241
accessibility, outlooks
The Nine Levels of JavaScript Dependency Hell (and)20240
javascript, dependencies, maintainability
Pre-Tenuring in V8 (win)20239
v8, javascript-engines
I Built an App in Every Frontend Framework20238
frameworks, libraries, react, vuejs, svelte, angular, lit, marko, jquery, alpinejs, solidjs, astro, qwik, comparisons
How GitHub Monopoly Is Destroying the Open Source Ecosystem (plo)20237
foss, github, microsoft
The Next Two Years of Software Engineering (add)20236
programming, career, outlooks, ai
V7: Typographic Scales and Technical Pens20235
design, typography, css, case-studies
How Browsers Work (dmy)20234
websites, guides, browsers, urls, http, tcp, html, dom
TIL: Why ARM Has a JavaScript Instruction20233
javascript
Sounds on the Web20232
web, multimedia
Working With Git Inside Vim20231
git, vi+vim, code-editors, configuration
Being a Colourblind Designer (wpa)20230
videos, accessibility, color-blindness, colors, design
21 Lessons From 14 Years at Google (add)20229
lessons, google, career
Web Development Is Fun Again20228
ai, creativity
The Package Management Landscape (and)20227
dependencies, tooling, overviews, link-lists
10 UX Design Shifts You Can’t Ignore in 202620226
design, user-experience, ai, outlooks
The Code Review That Cost $2 Million20225
code-reviews, economics, ai
Managing Infrastructure Across Multiple Environments20224
infrastructure, dev-ops, maintenance
Building a JavaScript Runtime in One Month (the)20223
javascript, runtimes, functionality
2026: The Year of My Website (the)20222
indieweb, social-media
Security Basics for Vibe-Coders (owe/pro)20221
fundamentals, security, vibe-coding, ai
A Website to Destroy All Websites (hen)20220
web, indieweb
JavaScript’s “for…of” Loops Are Actually Fast20219
javascript, loops, performance
“!important” and CSS Custom Properties (chr/fro)20218
css, custom-properties, cascade
On Using IndieWeb Protocols Like Webmentions and Keeping Your Website Separate From Social Media (pat)20217
indieweb, webmentions, social-media
How Can You Tell What’s Allowed Inside Each HTML Element? (rus)20216
html, conformance
What’s !important: Conditional View Transitions, CSS/SVG Text Effects, the Best of CSS Bluesky, and More (dxn/css)20215
css, retrospectives, view-transitions, design-systems, firefox, svg
Teaching Agents About Performance Insights (web/per)20214
performance, ai, ai-agents
Chrome DevTools Features I Use All the Time (and Why You Should Too) (kee/per)20213
dev-tools, chrome, google, browsers, performance, accessibility, lighthouse, network, embed-code
What Happened to WebAssembly (emn)20212
webassembly
More Efficiency, More Demand20211
efficiency, ai, career
Building the Brain of Your Accessibility AI (ted)20210
accessibility, ai
The Curious Case of the Shallow Session SPAs (sli/per)20209
performance, single-page-apps, javascript, frameworks, metrics
From Theory to Tiny: Implementing Compression Dictionaries (rya/per)20208
performance, compression, content-delivery
Touch Targets and Web Accessibility20207
accessibility, touch
Testing Methods: Status Messages (dec)20206
accessibility, testing, wcag, notifications, link-lists
8 Predictions for 2026: What Comes Next in AI? (phi)20205
ai, outlooks
Why Developers Are Ditching Frameworks for Vanilla JavaScript20204
frameworks, javascript, apis, performance, micro-frontends, architecture
HTML Content Categories (rus)20203
html, semantics
“require(esm)” in Node.js: From Experiment to Stability (joy)20202
nodejs, esm
The 8 Trends That Will Define Web Development in 2026 (log)20201
trends, outlooks, ai, frameworks, tanstack, typescript, edge-computing, presentational-html
Testing Methods: Name, Role, Value (dec)20200
accessibility, testing, wcag, aria, link-lists
How to Design for (and With) Deaf People (vit/sma)20199
how-tos, design, accessibility
7 Steps of a Web Performance Journey (ser/per)20198
performance, processes
Introducing Flint (jos)20197
introductions, tooling, linting
7 Real Predictions for Web Design in 2026 (web)20196
design, outlooks, ai, aesthetics
“Why Do You Code?”—a Surprisingly Hard Question20195
discussions, programming, career
Reliability by Design20194
design, ai, link-lists
Why AI-Generated UX Still Feels Off20193
user-experience, ai
Opening and Closing Dialogs Without JavaScript Using HTML Invoker Commands (sch)20192
modals, html
pnpm in 2025 (koc/pnp)20191
pnpm, retrospectives
Third Parties and Single Points of Failure (pau/per)20190
performance, embed-code, metrics
How I Write Custom Elements With “lit-html” (fro)20189
web-components, lit
How to Dynamically Install Custom Elements (hey)20188
how-tos, web-components, naming, javascript
Testing Methods: Accessible Authentication (Enhanced) (dec)20187
accessibility, testing, wcag, authentication, security
The Final Nail in the HTML5 Document Outline Coffin (tem)20186
html, headings, accessibility
Tests for CSS Generated Content Alternative Text (rus)20185
css, generated-content, alt-text, accessibility, support, voiceover, nvda, jaws, screen-readers
The Fall of JavaScript (yeg)20184
javascript, typescript, programming
Testing Methods: Accessible Authentication (Minimum) (dec)20183
accessibility, testing, wcag, authentication, security
Tips for Making the Performance Panel Less Overwhelming (duf/per)20182
performance, dev-tools, browsers, chrome, google, tips-and-tricks
Trends That Defined JavaScript in 202520181
javascript, trends, retrospectives, react, frameworks, tooling, ai
Eight Quick Things to Remember When Using “aria-owns” (rus)20180
accessibility, aria, dom, assistive-tech
JavaScript Creator Warns Against “Rushed Web UX Over Native” as Windows 11 Leans Harder on WebView2 and Electron (win)20179
windows, microsoft, web-apps, electron
Testing Methods: Redundant Entry (dec)20178
accessibility, testing, wcag, forms
Chrome DevTools for Debugging Web Performance (nuc/per)20177
performance, debugging, dev-tools, chrome, google, browsers
You Can’t Design Software You Don’t Work On (sea)20176
software-design, architecture
Testing Methods: Error Prevention (All) (dec)20175
accessibility, testing, wcag, errors
Revisiting HTML Streaming for Modern Web Performance (per)20174
performance, html, streaming
The Most Dangerous Person on Your Team Is “Dave” (and He Just Quit) (hac)20173
collaboration, documentation, ai, prompting
The Cost of Consistency: Avoiding Design System Bottlenecks (omi)20172
design-systems, consistency, lessons, angular
Testing Methods: Help (dec)20171
accessibility, testing, wcag
Chasing BFCache Navigations (per)20170
performance, bfcache, caching
How to Stay Ahead of AI as an Early-Career Engineer (gwe/iee)20169
how-tos, career, ai
Ruby Turns 30: A Celebration of Code, Community, and Creativity (jet)20168
ruby, ruby-on-rails, history, anniversaries
Nobody Knows How Large Software Products Work (sea)20167
programming, software-design, complexity, maintainability
TTFB Doesn’t Mean What You Think It Means (pro/per)20166
performance, concepts, http
The Three Semantics of HTML (mat)20165
html, semantics
Web Components Are the Comeback Nobody Saw Coming20164
web-components, frameworks, developer-experience
Node.js in 2026 With Rafael Gonzaga (raf)20163
podcasts, interviews, nodejs, outlooks
Why Object of Arrays (SoA Pattern) Beat Interleaved Arrays: A JavaScript Performance Rabbit Hole20162
javascript, performance, arrays
Fixing TypeScript Performance Problems: A Case Study (vig)20161
typescript, performance, case-studies
Testing Methods: Error Suggestion (dec)20160
accessibility, testing, wcag, errors, link-lists
For the Love of “<details>” (dev/mat)20159
disclosure-widgets, html
Fixing the URL Params Performance Penalty (tun/per)20158
performance, urls, caching, http-headers, examples
The AI Divide20157
ai, studies, research
Testing Methods: Labels or Instructions (dec)20156
accessibility, testing, wcag, labels, forms, link-lists
Why “role="button"” on a “<button>” Does Nothing (rus)20155
html, buttons, attributes, aria
The Two Most Important Tools for HTML Developers20154
tooling, html, conformance, minification, html-minifier, htmlnano, swc
Five Accessibility Trends to Watch in 202620153
accessibility, trends
2026 Predictions: The Next Big Shifts in Web Accessibility (web)20152
accessibility, outlooks, ai, wcag, html
Optimizing for 75% Is Fine—Optimizing for 90% Is Where It Gets Interesting (jor/per)20151
performance, web-vitals, optimization
The HTML Elements Time Forgot (val/mat)20150
html, history
A Year of Vibes (mit)20149
ai, retrospectives, wish-lists
“text-decoration-inset” Is Like Padding for Text Decorations (dxn/css)20148
css
Did You Know Some ARIA Roles Remove Child Semantics? (rus)20147
html, aria, semantics, accessibility
Testing Methods: Error Identification (dec)20146
accessibility, testing, wcag, errors, link-lists
Insights From 100 Site Speed Reviews in 2025 (per)20145
performance, retrospectives
Styling by Language: Using the “lang” Attribute for Multilingual Design (mat)20144
html, internationalization, css
The Many Lives of the Page Title (kat/mat)20143
html, user-experience, accessibility, wcag
Optimizing CLS for Infinite Scroll and Load More (ver/per)20142
performance, web-vitals, scrolling, optimization
8 PostgreSQL Tricks (kem)20141
postgresql, databases, tips-and-tricks
Testing Methods: Consistent Help (dec)20140
accessibility, testing, wcag, consistency
Design Wrapped 202520139
design, retrospectives
Top 3 Qodana 2025.3 Release Highlights (jet)20138
qodana, jetbrains
Tech Talk: Improving Window Resize Behavior (ele)20137
electron, resizing, debugging, case-studies
Accessibility Is Personal (css)20136
accessibility, html
The Anatomy of an Accessible Text Field (ink)20135
forms, accessibility, html, labels
Early Signs of EAA Enforcement Across Europe (deq)20134
accessibility, eaa, legal, compliance
Testing Methods: Change on Request (dec)20133
accessibility, testing, wcag, link-lists
Introducing CSS Grid Lanes (jen+/web)20132
introductions, css, masonry, layout
Masonry Layout Is Now Grid-Lanes (sun/css)20131
css, layout, masonry
5 Terminal Commands That Saved Me Hours of Clicking20130
command-line, productivity
Targeting by Reference in the Shadow DOM (mey)20129
shadow-dom, html, javascript
Semantics Beyond the Tag Name (kno/mat)20128
html, attributes, aria, semantics, accessibility
A Short History of Performance Engineering (per)20127
performance, history
A Decade of Accessibility Weekly (dav)20126
accessibility, retrospectives
Understanding Don Norman’s Principles of Interaction20125
design, interaction-design, usability
Open-Source Funding: Do We Need a “No Maintenance” Month? (j9t)20124
foss, economics, community
Web UX: Study Guide (nng)20123
guides, user-experience, usability, training, link-lists
The Anatomy of LCP—a Deep Dive Into Sub-Parts (per)20122
deep-dives, performance, web-vitals, tooling
Forms Are a Badly Designed Part of HTML (jen/mat)20121
html, forms, standards
4 AI-Powered, No-Code Tools to Speed Up Your Frontend Workflow in 2026 (ele/des)20120
guest-posts, ai, low-and-no-code, tooling, productivity
You Can’t Opt-Out of Accessibility (val)20119
accessibility, design, legal
How “aria-labelledby” Really Works (rus)20118
accessibility, aria, attributes, html
Testing Methods: Consistent Navigation (dec)20117
accessibility, testing, wcag, navigation, consistency
3 Color Contrast Mistakes Designers Still Make20116
contrast, colors, images, wcag, accessibility, mistakes
Beyond Components: From Design System to Design Language System20115
design-systems, components, link-lists
Directional CSS With “scroll-state(scrolled)” (una)20114
css, functions, scrolling
Warp Speed to Accessibility: Fast-Tracking Inclusive Testing (a11)20113
videos, accessibility, testing
Dialog View Transitions (med)20112
modals, javascript, view-transitions
Your Post Is Cool, but Is It Accessible and Inclusive? (a11)20111
videos, accessibility
The Rise of the Invisible Designer (web)20110
design
What Continuous Improvement Model Is Best for Accessibility?20109
accessibility, processes
Don’t Leave the Screen Reader Hungry (ger/mat)20108
html, emoji, screen-readers, accessibility
The Old Ways Are the Best: 100 Lighthouse, 0 ms TBT, 32 ms Queries (per)20107
performance, case-studies
AI and Productivity: Year-In-Review With Microsoft, Google, and GitHub Researchers (lau)20106
ai, productivity, retrospectives
CSS Layout: How to “Center a Div,” the Old School Way20105
css, layout, floats, centering, techniques, how-tos
Does Chrome Get the “<header>” Element Wrong? (rus)20104
html, aria, chrome, google, browsers
Testing Methods: On Input (dec)20103
accessibility, testing, wcag, forms, events, link-lists
The JavaScript Bundler Grand Prix (kat/red)20102
javascript, bundling, tooling, vite, rspack, turbopack, bun, rolldown, browserify, webpack, rollup, parcel, esbuild, history
New to the Web Platform in December (rac)20101
release-notes, web-platform, browsers, firefox, mozilla, chrome, google, safari, apple
Responsive and Fluid Typography With Baseline CSS Features (mia)20100
css, typography, responsive-design
German Auditors Reject Accessibility Overlays in EAA Context20099
accessibility, auditing, overlays, legal, eaa
Different Page Transitions for Different Circumstances (chr/fro)20098
css, javascript, view-transitions, animations
Why We Should Stop Talking Performance Metrics to Business Leaders (san/per)20097
performance, metrics, communication, business-relations
Giving Pages a Clear Shape by Using Headings (mat)20096
html, headings
Mozilla’s Next Chapter: Building the World’s Most Trusted Software Company (moz)20095
mozilla, firefox, browsers, ai
State of HTML 2025 [Results] (sac/dev)20094
surveys, metrics, html
Throttle Individual Network Requests (dev)20093
performance, chrome, google, browsers, dev-tools
Ripple: A New TypeScript-First Front-End Framework20092
frameworks, typescript, ripple
Testing Methods: On Focus (dec)20091
accessibility, testing, wcag, forms, focus, keyboard-navigation
Responsive List of Avatars Using Modern CSS (css/css)20090
css, masking, responsive-design
Them’s the Breaks (tyl/mat)20089
html
I Ported JustHTML From Python to JavaScript With Codex CLI and GPT-5.2 in 4.5 Hours (sim)20088
migrating, ai, python, javascript, tooling, parsing, html
Accessibility as a Core Requirement (mha)20087
accessibility, prioritization
What Does “Hidden” Actually Mean in Accessible Name Computation? (rus)20086
accessibility, naming, hiding
Testing Methods: Pronunciation (dec)20085
accessibility, testing, wcag, pronunciation, screen-readers
A Tale of Two Animations—the Compositor in the Skies (per)20084
animations, css, performance
The “<time>” Element Should Actually Do Something (nol)20083
html, time, semantics
The Wonderful World of Web Feeds (mau/mat)20082
syndication, rss, atom, json
Why We Teach Our Students Progressive Enhancement (cyd)20081
progressive-enhancement, html, css, javascript, training
How to Load CSS (Fast) (per)20080
how-tos, css, performance, critical-path
Automate Your Testing Workflows Using BrowserStack’s AI Agents (zor/css)20079
videos, testing, automation, browsers
Testing Methods: Reading Level (dec)20078
accessibility, testing, wcag, link-lists
Accessibility Is a Human Right, Cruelty a Human Wrong (zel)20077
accessibility, fonts
Changes in the World of HTML Minifiers (apo)20076
html, tooling, minification, html-minifier
Hell Is Other People’s Markup (llo/mat)20075
html, auditing, tooling
Using the Browser Console for Accessibility Testing (rus)20074
accessibility, testing, console, javascript, examples
Improving Cumulative Layout Shift in WordPress20073
wordpress, web-vitals, performance, optimization, cheat-sheets
Chrome DevTools Elements Panel Tips and Tricks (zor/css)20072
videos, dev-tools, chrome, google, browsers, tips-and-tricks
New Front-End Framework Ripple Blends React and Svelte Together (inf)20071
frameworks, ripple
The Design System of the Christmas Factory20070
design-systems, accessibility, processes
Testing Methods: Abbreviations (dec)20069
accessibility, testing, wcag, content, link-lists
A11y Considerations in Math on the Web (man/mat)20068
accessibility, mathml, screen-readers, nvda, voiceover, support
The Ultimate Guide to UI Design in 2026 (web)20067
guides, design, user-experience, simplicity, consistency, hierarchy, accessibility
The Vibe Coding Paradox (jun)20066
programming, vibe-coding, ai
Intro to Performance of React Server Components (ade/per)20065
introductions, performance, react, components, server-side-rendering
WebKit Features for Safari 26.2 (jen+/web)20064
release-notes, webkit, safari, apple, browsers
Eleventy Core Dependency Watch (2025 Edition) (zac/11t)20063
eleventy
What Else Could Container Queries… Query? (dxn/css)20062
css, container-queries
The New “clamp()” Function in PHP 8.6 (ami)20061
php, functions
JetBrains Junie: AI Coding Without the Chaos (mik)20060
junie, jetbrains, ai
Vote for the Web Features You Want to See (rvi)20059
web-platform, standards, support
How Does Chrome DevTools Network Throttling Actually Work? (deb)20058
videos, dev-tools, chrome, google, browsers, network
Why Are My View Transitions Blinking? (pic)20057
css, view-transitions
Accessibility Updates (w3c)20056
videos, accessibility, wcag, standards
How HTML Changes in EPUB (rob/mat)20055
epub, html, standards
Testing Methods: Unusual Words (dec)20054
accessibility, testing, wcag, content, link-lists
Thoughts on Native CSS Mixins (chr/fro)20053
css, mixins
Denial of Service and Source Code Exposure in React Server Components (rea)20052
react, components, security
HTML Minifier Next: Presets, New Config Options, Minification Sharing, and Type Definitions (j9t)20051
release-notes, html-minifier
How We Automate Accessibility Testing With Playwright and Axe (boj)20050
accessibility, testing, automation, playwright, axe
Common Misconceptions About WCAG (tet)20049
accessibility, wcag, standards
Useful Patterns for Building HTML Tools (sim)20048
html, ai, tooling
Testing Methods: Language of Parts (dec)20047
accessibility, testing, wcag, internationalization
React 19.2: Further Advances INP Optimization (per)20046
react, web-vitals, performance, optimization
The “Two-Brain” Advantage: Why You Should Never Trust Just One AI (owe/pro)20045
ai, processes, quality
A11y Freedom Beaver (ste/mat)20044
accessibility, aria, html
Creating Scroll-Based Animations in Full view() (pre/css)20043
css, animations, scrolling, functions
Anthropic Donates the MCP Protocol to the Agentic AI Foundation20042
anthropic, mcp, protocols, foss, ai
The Slow Death of Magic20041
product-management, simplicity
Making Complex Web Apps Faster (pat)20040
performance, web-apps, apis, time, complexity
Frontend News #19: CSS “overscroll-behavior”, “scrollbar-gutter”, “text-grow” Properties, and More (zor/css)20039
videos, css, scrolling
Why RSS Matters (wer)20038
rss, syndication, social-media
“aria-busy” Is Not Your Friend (ger)20037
accessibility, aria, nvda, jaws, voiceover, screen-readers
Testing Methods: Language of Page (dec)20036
accessibility, testing, wcag, internationalization
Meeting WCAG Is an Achievement (yat)20035
accessibility, wcag, compliance
Why Every Conference Needs a Nursing Room (bla)20034
community, dei
The Inconvenient Truth: How Web Performance Case Studies Undermine Our Relationship With Business (mac/per)20033
performance, metrics, economics
Discover Dialog (sar/mat)20032
html, modals, javascript, css
Did You Know Your Browser Has Two Accessibility Trees? (rus)20031
accessibility, browsers, chrome, blink, google
CSS Wrapped 2025 (una)20030
css, standards, retrospectives
Type-Aware Linting Alpha (cam/bos)20029
linting, tooling, oxc
Comparing HTML Minifiers (j9t)20028
html, minification, tooling, html-minifier, htmlnano, metrics, comparisons
Why Federated Design Systems Keep Failing (sha)20027
design-systems, collaboration
Design Accessible Animation and Movement With Code Examples (pop)20026
design, accessibility, animations, css, javascript, examples
Getting a Close Button to Hang Off of a Dialog (dar)20025
modals, buttons, css, anchor-positioning
Blogging Is Dead. Long Live the Blog. (web)20024
blogging, seo, ai, social-media, web
Thursday, December 18, 2025 Security Releases (nod)20023
release-notes, nodejs, security
What’s Wrong With This HTML, and Is It Valid? (pat/mat)20022
html, standards, conformance, web-platform
The Anatomy of a Web Performance Report (web/per)20021
performance, documentation, web-vitals, lighthouse
That Time I Tried Explaining HTML and CSS to My 5-Year Old Niece (css)20020
html, css, learning
Web Performance 2025: The Shift From Optimization to Prediction (fab/per)20019
performance, optimization, retrospectives
Testing Methods: Dragging Movements (dec)20018
accessibility, testing, wcag
Controlling Dialogs and Popovers With the Invoker Commands API (sta/mat)20017
modals, pop-overs, apis, attributes, html
A Guide to Token-Efficient Data Prep for LLM Workloads20016
guides, ai, token-optimization, economics
Testing Methods: Concurrent Input Mechanisms (dec)20015
accessibility, testing, wcag
NoLoJS: Reducing the JS Workload With HTML and CSS (aar/per)20014
html, disclosure-widgets, forms, modals, pop-overs, navigation, scrolling, positioning
Accessible by Design: The Role of the “lang” Attribute (col/mat)20013
accessibility, internationalization, html, attributes, metrics
What Are DOM Mutations? (rus)20012
accessibility, dom, javascript
2025 in Review: What’s New in Web Performance? (mat/deb)20011
performance, web-vitals, lighthouse, apis, speculation, chrome, google, firefox, browsers, dev-tools, tooling, testing, mcp, ai, retrospectives, outlooks
Dealbreaker Bugs in Native Popovers (mat)20010
accessibility, pop-overs, bugs
Lies, Damned Lies, and Design System Adoption Statistics (ikn)20009
design-systems
How We’re Protecting Our Newsroom From npm Supply Chain Attacks (rya/pnp)20008
npm, dependencies, security, case-studies
Testing Methods: Target Size (Enhanced) (dec)20007
accessibility, testing, wcag, touch
How I Built a Form Management Platform With Angular 17 and SurveyJS20006
functionality, forms, angular, tooling
Non-Blocking Cross-Browser Image Rendering on the Canvas (mys/per)20005
canvas, javascript, images, performance
10 Usability Heuristics20004
usability, heuristics
IDREFs: What They Are and How to Use Them (kil/mat)20003
html, forms, aria, accessibility
Why You Need Design Maturity in a Product Organisation, and How to Get It20002
design, product-management
Fast by Default (den/per)20001
performance, processes
I Studied 50+ Engineers Who Got Promoted Fast: They All Did One Thing I’d Been Ignoring20000
career, collaboration
Testing Methods: Motion Actuation (dec)19999
accessibility, testing, wcag, mobile
No More Tokens—Locking Down npm Publish Workflows (zac)19998
npm, dependencies, security, github, processes
Standards Queues (bka)19997
standards, web-platform, collaboration
In 1995, a Netscape Employee Wrote a Hack in 10 Days That Now Runs the Internet (ben/ars)19996
netscape, javascript, history
The Web Runs on Tolerance (ede)19995
web-platform, standards, principles
Referencing HTML Elements Inside Shadow DOM (meh/mat)19994
html, shadow-dom, web-components
Getting Creative With “the Measure” (mal/css)19993
css, typography, readability
The Timing Problem in Design Systems (mur)19992
design-systems, components
End-to-End Browser and Accessibility Event Architecture (rus)19991
accessibility, browsers, event-loop, browser-engines, javascript-engines, assistive-tech
During Helene, I Just Wanted a Plain Text Website (spa)19990
content
The Downsides of “scrollbar-gutter: stable;” (and One Weird Trick) (chr/fro)19989
css, scrolling
A Little Bit Uncomfortable19988
career, learning
Solving Small Text and Contrast Issues for Large-Screen Readability (a11)19987
accessibility, contrast, readability, typography
Common Misconceptions About Disability (tet)19986
accessibility, concepts
Public Design Systems Are Worth It (pjo)19985
design-systems
TypeScript Strictness Is Non-Monotonic: Strict-Null-Checks and No-Implicit-Any Interact (huo)19984
typescript, arrays
Intopia Launches Assistive Technology Survey 2025 (int)19983
surveys, assistive-tech
Speculation Rules Improvements (tun/mat)19982
performance, speculation, apis
Testing Methods: Label in Name (dec)19981
accessibility, testing, wcag, labels, aria
HTML Semantics: The Short Descriptions of All 113 Elements (j9t)19980
html, semantics, overviews
Critical Security Vulnerability in React Server Components (rea)19979
react, components, security
[Next.js] Security Advisory: CVE-2025-66478 (seb)19978
nextjs, security
Get the Core Right and the Resilient Code Will Follow (bel/btc)19977
videos, resilience, design, communication
Understanding “aria-live” Timing: A Two-Layer Model (rus)19976
accessibility, aria, live-regions, notifications
Designing Decisions: Behavioral Psychology That Moves Users19975
design, interaction-design, user-experience
A Pragmatic Guide to Modern CSS Colours II (kev/pic)19974
guides, css, colors, examples
From Reactive to Proactive: Building a Sustainable Accessibility Program (equ)19973
accessibility, processes, culture, w3c
Scrollytelling on Steroids With Scroll-State Queries (css)19972
css, scrolling
Masonry: Things You Won’t Need a Library for Anymore (pat/sma)19971
css, masonry, layout, examples, web-platform
Exploring Large HTML Documents on the Web (per)19970
performance, html, metrics
How Does Amazon’s Kiro Differ From Traditional IDEs? (ele/des)19969
guest-posts, kiro, aws, code-editors
Progress on TypeScript 7—December 2025 (dan/typ)19968
typescript
You Can’t Make Something Accessible to Everyone (aar)19967
accessibility, design
Testing Methods: Pointer Cancellation (dec)19966
accessibility, testing, wcag
Web Backstories: Shadow DOM (ada+/iga)19965
podcasts, interviews, shadow-dom, web-components, standards, history
Using the Ancient Evils for Debugging (bol/mat)19964
html, debugging
The Nuances of JavaScript Typing Using JSDoc (jar/van)19963
javascript, jsdoc, typescript, developer-experience
Bun Is Joining Anthropic (jar/bun)19962
bun, anthropic
Decreasing [Let’s Encrypt] Certificate Lifetimes to 45 Days (mat/let)19961
http, security, certificates, lets-encrypt
Anchor Positioning and the Inset-Modified Containing Block (IMCB) (bra)19960
css, anchor-positioning, concepts
What Sam Altman Just Taught Us About OKRs (Without Meaning To) (cwo)19959
okr, prioritization, processes, openai
The Practical Guide to LLM Cost Optimization19958
guides, ai, token-optimization, economics
Building Agentic Design Systems: The Future of AI-Enhanced Design19957
design-systems, design, ai, processes
The Next Revolution in Design: Emotional Accessibility (fas)19956
design, accessibility, outlooks
“Sloppy” Code and Accessibility Issues: The Trouble With Trump’s Silicon Valley-Inspired Web Design Project (not)19955
design, accessibility, quality, case-studies
Non-Square Image Blur Extensions (ana/fro)19954
images, css, effects
The Evolution of Web Development: From Static Pages to AI-Driven Experiences (web)19953
history, web, web-2.0, web-apps, ai
Improve TTFB and UX With HTTP Streaming (mb2/per)19952
performance, user-experience, http, streaming, optimization
React Has Changed, Your Hooks Should Too19951
react, hooks
Top Layer Troubles: Popover vs. Dialog (5t3/mat)19950
css, positioning, pop-overs, modals
Nobody Writes Clean Code—We All Just Pretend19949
quality, craft
Testing Methods: Pointer Gestures (dec)19948
accessibility, wcag, testing
Prevent a Page From Scrolling While a Dialog Is Open (geo/css)19947
scrolling, css
Web Design / Dev Advent Calendars for 2025 (aar)19946
link-lists, learning
Is Using Command Line AI an Option for Helping You Code?19945
ai, command-line, cursor, claude, anthropic, code-editors
Can You Make Toast Messages Accessible? (ada)19944
accessibility, notifications
Testing Methods: Focus Appearance (dec)19943
accessibility, testing, wcag, focus, keyboard-navigation, link-lists
How to Unit Test a Vue Composable With TypeScript (joh)19942
how-tos, testing, vuejs, functions, typescript
Using CSS to Fix the Irradiation Illusion (arg)19941
css, readability, fonts
The Junior Hiring Crisis (ann/peo)19940
hiring, engineering-management, career, community
How Modern Browsers Work (add)19939
browsers, chromium, network, parsing, painting, rendering, javascript-engines, v8, memory, modules, javascript, html, css
Testing Methods: Focus Not Obscured (Enhanced) (dec)19938
accessibility, testing, wcag, focus, keyboard-navigation
How Fast Can Browsers Process Base64 Data? (lem)19937
performance, encoding, base64, browsers, metrics, comparisons
How Good Engineers Write Bad Code at Big Companies (sea)19936
quality, career, culture
CSS-in-JS: The Great Betrayal of Frontend Sanity19935
css-in-js, css, javascript, performance, developer-experience
How Microfrontends Work: 3 Integration Strategies19934
micro-frontends, strategies, routing, iframes, javascript, ai
EAA Deadlines, Why You Probably Can’t Wait Another 5 Years19933
accessibility, eaa, legal, compliance
Category Theory for JavaScript/TypeScript Developers (ibr)19932
javascript, typescript, programming, craft
Who Wins When We Filter the Open Web Through an Opaque System? (hdv)19931
open-web
Web Application Architecture: The Enterprise Framework Powering Modern Digital Experiences (elu)19930
architecture, web-apps
Testing Methods: Focus Not Obscured (Minimum) (dec)19929
accessibility, testing, wcag, focus, keyboard-navigation
Understanding ECDSA [Elliptic Curve Digital Signature Algorithm]19928
cryptography, algorithms, math
Eleventy: How to Set Up Effective HTML Minification (in 24 Seconds) (j9t)19927
how-tos, eleventy, html, html-minifier, minification, optimization
One CSS Trick to Eliminate Scrollbar Layout Shifts (ami)19926
css, scrolling, tips-and-tricks
How to Create an Adaptive SVG Favicon Using the “prefers-color-scheme” Media Query (zor/css)19925
videos, how-tos, favicons, svg, css, images
The Idiot Sandwich—on Embedding Alt Text (ede)19924
images, alt-text, accessibility
5 Reasons Why WCAG AA Compliance Does Not Mean Your Website Is Accessible (cra)19923
accessibility, wcag, compliance, colors, readability, performance, content, multimedia, quality
AI for Good Accessibility (ala)19922
slides, ai, accessibility
The Accessibility Problem With Authentication Methods Like CAPTCHA (sma)19921
accessibility, captcha
Testing Methods: Section Headings (dec)19920
accessibility, testing, wcag, headings
New to the Web Platform in November (rac)19919
release-notes, web-platform, browsers, firefox, mozilla, safari, apple
Ripple Over React? Evaluating the Newest JS Framework (log)19918
ripple, react, frameworks, comparisons
Saumya Majumder on How Cloudflare Outages Impact the Web and WordPress Performance Solutions (nat)19917
podcasts, interviews, cloudflare, wordpress, performance
Taking Down Next.js Servers for 0.0001 Cents a Pop19916
servers, nextjs, vulnerabilities, security
Testing Methods: Link Purpose (Link Only) (dec)19915
accessibility, testing, wcag, links, microcontent, link-lists
Accessibility and Usability: Inline Field Validation vs. Constantly Active Submit Button19914
forms, buttons, validation, accessibility, usability, comparisons
The End of Dashboards and Design Systems19913
design, design-systems
Critique19912
design, craft, collaboration, processes
What an Accessibility Conference Taught Me About Designing for All19911
design, accessibility
How to Add and Remove Items From a Native CSS Carousel (…With CSS) (dxn/fro)19910
how-tos, css, carousels, scrolling
Why Use React? (ada)19909
react, frameworks
What Are Invokers? Interactivity Without JavaScript (tol/syn)19908
videos, javascript, html, pop-overs
Migrating From GitHub to Codeberg (and/zig)19907
migrating, github, codeberg
Updating CSS Border Radius When a Container Is Overflowing (rik)19906
css, borders, overflow, scrolling
A New Navigation Paradigm19905
ai, navigation, design
Applying AI Where It Matters19904
studies, research, ai
Becoming Unblockable (sea)19903
career, prioritization, tooling, collaboration
“<dialog>” and Popover: Baseline Layered UI Patterns19902
modals, pop-overs, css
WebGPU Is Now Supported in Major Browsers19901
webgpu, browsers, support, web-platform
What Actually Makes You Senior (ter)19900
career
Thoughts on Kagi’s Orion Browser vs. AI Browsers (dra)19899
orion, kagi, browsers, ai
Orion 1.0—Browse Beyond (kag)19898
browsers, orion, kagi, ai
Animation and Carousels (web)19897
accessibility, animations, carousels, css, reduced-motion
Design Tokens Aren’t Enough—Architecture Decisions Need a Place in Your Design System (sam)19896
design-systems, design-tokens, architecture, documentation
Direction-Aware Arrow Shape Using Corner-Shape (css)19895
css, shapes
Testing Methods: Location (dec)19894
accessibility, testing, wcag, navigation
The Shai-Hulud 2.0 npm Worm: Analysis, and What You Need to Know19893
npm, security, dependencies
A Minimal CSS Starter (j9t)19892
css, templates, minimalism
Tech Predictions for 2026 and Beyond19891
outlooks, web
Design System Culture: What It Is and Why It Matters (ari/sma)19890
design-systems, culture
CSS Backgrounds Module Level 4 (fan+/w3c)19889
standards, css, backgrounds
93% Faster Next.js in (Your) Kubernetes (mco/pla)19888
nextjs, nodejs, performance, kubernetes
Web Browser Status Bars Are Nuts (lap)19887
browsers, comparisons
Brand New Layouts With CSS Subgrid (jos)19886
layout, css, grids, examples
The Future of AWS CodeCommit19885
aws, tooling, git, outlooks
Replacing “glob-all” With “fs.promises.glob” in Node.js (cto)19884
refactoring, nodejs
How to Easily Create Modern, CSS-First Forms in WordPress (zor/css)19883
how-tos, videos, css, forms, wordpress
“light-dark()” Isn’t Always the Same as “prefers-color-scheme” (ste)19882
css, functions, dark-mode, colors
UX Is Your Moat (and You’re Ignoring It) (cwo)19881
user-experience, economics
Managing Side Effects: A JavaScript Effect System in 30 Lines or Less (ayc)19880
javascript
Introduction to CSS “if” Statements and Conditional Logic (mar)19879
introductions, css, functions, conditionals
The State of Tanstack, Two Years of Full-Time OSS (tan/tan)19878
tanstack, foss
The Performance Inequality Gap, 2026 (sli)19877
performance, javascript, metrics
Web Monetization Is Still Inching Along, but Still Too Difficult (chr/fro)19876
monetization
On Inheriting and Sharing Property Values (dxn/css)19875
css, cascade, techniques
Why Does AI Devour So Much Water? (ger)19874
ai, sustainability
GitLab Discovers Widespread npm Supply Chain Attack (git)19873
npm, dependencies, security, gitlab, github, aws, gcp, azure
Testing Methods: Focus Visible (dec)19872
accessibility, wcag, testing, focus, keyboard-navigation, link-lists
You’re Doing JavaScript Testing Wrong (cfe)19871
javascript, testing
Shuffling a CSS Grid Using Custom Properties (cod)19870
css, grids, custom-properties
WCAG 2.1 Addition—Success Criterion 1.4.10: Reflow (Level AA)19869
accessibility, wcag, standards, reflow
Testing Methods: Headings and Labels (dec)19868
accessibility, wcag, testing, headings, labels, forms
If You Think Your Commit Messages Are Bad, Just Wait…19867
commit-messages
You’re Not Building Netflix: Stop Coding Like You Are19866
programming, architecture, prioritization
AI Will Soon Deliver Code That Will Pass Automatic Testing by Default (cer)19865
ai, testing, accessibility
Testing Methods: Multiple Ways (dec)19864
accessibility, wcag, testing, navigation, sitemaps, link-lists
Unifying [Wikipedia’s] Mobile and Desktop Domains (kri/wik)19863
wikipedia, refactoring, mobile, desktop, performance, seo, user-experience, infrastructure, case-studies, link-lists
The PHP 8.5 Pipe Operator (“|>”): Useful, but Watch for These Gotchas19862
php, operators
How Designers Gaslight Users With Microcopy (web)19861
design, microcontent, dark-patterns
WCAG 2.1 Addition—Success Criterion 1.3.5: Identify Input Purpose (Level AA)19860
accessibility, wcag, standards, forms
Keyframes Tokens: Standardizing Animation Across Projects (ami/sma)19859
css, animations, consistency
Testing Methods: Link Purpose (in Context) (dec)19858
accessibility, wcag, testing, links, microcontent
WCAG 3 Update (kno)19857
videos, accessibility, wcag, standards
Critical Thinking During the Age of AI (add)19856
ai, processes, career
The Value of Selecting Selects by Value (aar)19855
accessibility, wcag, forms
5 Engineering Skills to Prioritize in the AI-Driven Era19854
ai, writing, architecture, debugging, communication, career
Testing Methods: Focus Order (dec)19853
accessibility, wcag, testing, focus, keyboard-navigation, link-lists
WCAG 2.1 Addition—Success Criterion 1.3.4: Orientation (Level AA)19852
accessibility, wcag, standards, mobile
How to Create 3D Images in CSS With the Layered Pattern (sun/fro)19851
how-tos, images, css, transforms
Cross-Browser Anchor Positioning (mey+/odd)19850
videos, interviews, css, anchor-positioning
The Rosetta Stone of Design Engineering (yan)19849
design, processes, collaboration
Responsive Letter Spacing (tyl/clo)19848
responsive-design, typography, css
Grid: How “grid-template-areas” Offer a Visual Solution for Your Code (sar/web)19847
css, grids, layout
Should We Even Have “:closed”? (sun/css)19846
css, selectors, disclosure-widgets
The Engineer You Never Met: Why Interview Processes Systematically Reject Qualified Engineers19845
hiring, economics, case-studies
Automated Accessibility Testing for React—Tools and Best Practices You Can Use19844
accessibility, testing, react, tooling, best-practices
These Queries Cover 80% of SQL19843
sql, databases
Testing Methods: Page Titled (dec)19842
accessibility, wcag, testing, html
Good Enough Is a Strategy (tre)19841
strategies, technical-debt, quality
State of React 2025 (sac/dev)19840
surveys, react
A Guided Tour of Copenhagen (fre/ske)19839
guides, sketch
Announcing Angular v21 (mar/ang)19838
release-notes, angular
Why Web Design Must Finally Break Free From Its Graphic Design Roots (web)19837
design, print, ai, career
Using esbuild in Eleventy (db)19836
eleventy, esbuild
Anchoring to a Containing Block (kiz)19835
css, anchor-positioning
When the Dark Pattern Is a Glaring Green Checkmark19834
design, user-experience, dark-patterns
Cloudflare Outage on November 18, 2025 (eas)19833
cloudflare
Web Development: On the Size and Output of and the Growth Opportunities Within the Field (j9t)19832
guest-posts, training, career, frontend-dogma