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 respect and accountability. Hide

Frontend Dogma

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

→ 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#
The “Don’t Ask, Don’t Tell” Era of DEI (ani)20233
dei, community
A Pragmatic Guide to Modern CSS Colours (kev/pic)20232
guides, css, colors, examples
Inside a 16.67 Millisecond Frame20231
javascript, rendering, reflow, painting, performance
Numbers That Fall (Scroll-Driven Animations and Sibling Index) (chr/fro)20230
css, html, animations, scrolling, effects
Accessibility Testing Comparison: Automated Testing vs. Human Auditing vs. Usability Testing (int)20229
accessibility, usability, testing, auditing, automation, comparisons
Visual Regression Testing for External URLs With Playwright (mat)20228
testing, regressions, playwright, functionality
Essential Visually Hidden CSS Techniques for Web Accessibility (a11)20227
accessibility, hiding, css, techniques
The Designer–Developer Handoff Is Still Broken—Why? (web)20226
design, collaboration, culture, design-systems, ai
Cultural Proximity’s Influence on the User Experience (uxm)20225
user-experience, culture
Migrating From Hugo to Astro (hui)20224
migrating, hugo, astro
Smashing Animations: Building Adaptive SVGs With “<symbol>”, “<use>”, and CSS Media Queries (mal/sma)20223
animations, svg, css, javascript
How to Conduct User Testing With People With Disabilities (int)20222
how-tos, accessibility, testing, processes
Rethinking Cookie Dialogs (nat)20221
accessibility, disclosure-widgets, html, cookies, consent-management
I’m a Middle-Aged Developer, and My Time to Shine Is Setting (dve)20220
career
How to Group Arrays in JavaScript Without “reduce()”20219
how-tos, arrays, javascript
Lazy-Loading as a Security Measure20218
security, lazy-loading, angular, react
Lowriders and Websites (aaa)20217
css, html, craft
Look, Just Fucking Use Mastodon Already (ari)20216
mastodon, twitter+x, bluesky, social-media
The Missing Bar, Why We Need X-Shaped People in a Digital World20215
career, collaboration, leadership
AI Coding Tools I Use to Ship Faster20214
tooling, ai, productivity
How I Influence Tech Company Politics as a Staff Software Engineer (sea)20213
collaboration, processes, career
Backend Concepts Every Experienced Developers Must Know20212
concepts, network, concurrency, apis, databases, caching, scalability, security, observability, architecture
European Tech Alternatives (mat)20211
tooling, link-lists
11ty Hacks for Fun and Performance (sli)20210
eleventy, optimization
Birth of Prettier (vje)20209
prettier, history
Fixing Safari Mixed Content Issues With Vite and mkcert20208
security, safari, browsers, vite, tooling
When Design Tokens Become Technical Debt (mur/zer)20207
design-systems, design-tokens, technical-debt
UTF-8, Explained Simply (nic)20206
videos, encoding, unicode, ascii, standards
9 Forms of Coupling in Software Architecture20205
architecture, programming
OpenAI Is Just Another Boring, Desperate AI Startup (edz)20204
openai, ai, economics
The Words “Blah Blah Blah” Increase AI Accuracy (jim)20203
ai, prompting, quality
Shipping Node.js Packages in 2025 (joy)20202
slides, nodejs, esm, commonjs, dependencies
A Progressive Enhancement Challenge (chr/fro)20201
progressive-enhancement, javascript, html, feature-detection, support
What’s Coming in ESLint v10.0.0 (nza/esl)20200
eslint, outlooks
The History of Core Web Vitals (add)20199
web-vitals, performance, user-experience, metrics, history
What’s New in DevTools 139–141 (mat)20198
videos, chrome, browsers, dev-tools, release-notes
Stop Ignoring the Browser: The Biggest Frontend Shift in a Decade20197
browsers, web-platform, frameworks, react, angular
Google Puts Another Nail in the RAG Coffin With URL Context Grounding (tho)20196
google, ai, rag
A Guide to Creating Accessible PDFs Using Free Tools (stv/pic)20195
guides, accessibility, pdf, tooling, testing, jaws, nvda, voiceover, screen-readers
A Threat Model for Accessibility on the Web (sun)20194
accessibility, css, standards
How Does Meta Move Terabytes of Data per Second? (vut)20193
facebook+meta, tooling, data-engineering
80% of SDET / Automation Testers Get Rejected in the First 10 Minutes, Here’s Why20192
testing, interviewing, career
I Want to Intercept Boolean Coercion for Objects in JavaScript (zac)20191
javascript, objects, types
The Internet Is Better on Comet20190
browsers, ai
From Hobby to Career: Sara Joy on CSS, Accessibility, and Making the Web More Whimsical (sar+)20189
videos, interviews, css, accessibility
A Few Fun Nesting Tips and Tricks (kev)20188
css, nesting, tips-and-tricks, examples
Moving PHP Open Source Forward (jet)20187
php, foss, jetbrains
3 Most Impactful Ways to Save Energy When Using AI (owe/pro)20186
ai, prompting, sustainability
New to the Web Platform in September (rac)20185
release-notes, web-platform, browsers, safari, firefox, chrome
What’s New in ViteLand: September 2025 Recap (man/voi)20184
release-notes, vite, vitest, rolldown, oxc
SEO, SEM, and GEO: Understanding the Differences and Opportunities20183
seo, sem, aiso, ai, keywords, marketing, concepts, comparisons
HTML’s Best Kept Secret: The “<output>” Tag (den)20182
html
When’s the Right Time to Start Documenting Your Design System? (amy/zer)20181
design-systems, documentation
The Death of the Double Click: How UX Finally Buried a Relic of the Desktop Era (web)20180
desktop, interaction-design, user-experience
Designers Should Look to Demis Hassabis—Not Jony Ive20179
design
Why Designers Abandoned Their Dreams of Changing the World (edw/fin)20178
design, career
June Liu and David Denedo on Making the Web Accessible: The Mission Behind WP Accessibility Day (nat+)20177
podcasts, interviewing, awareness-days, wordpress, accessibility
15 Recent Node.js Features That Replace Popular npm Packages (nod)20176
nodejs, npm, dependencies, maintenance
Inset Shadows Directly on “img” Elements (ana/fro)20175
images, svg, css, shadows
Understanding the Removal of 4.1.1 Parsing in WCAG 2.2 (tpg)20174
accessibility, wcag, conformance, html
How to Optimize Viewport for Mobile for Faster Interactions (deb)20173
how-tos, viewport, mobile, performance, optimization, html
What’s New in Svelte: October 2025 (sve)20172
release-notes, svelte, sveltekit
How to Detect Safari and iOS Versions With Ease in 2026 (tra/evi)20171
how-tos, safari, mobile, browsers, feature-detection, browser-detection
Vercel Faces Boycott After Founder Poses With Netanyahu (the)20170
vercel
Website Accessibility Strategy (pop)20169
accessibility, strategies, content, processes
Accessible Form Validation With Examples and Code (pop)20168
accessibility, validation, forms, examples
Make Navigation Accessible With “aria-current” (a11)20167
accessibility, navigation, aria, attributes
7 Practical Animation Tips (emi)20166
animations, buttons, tooltips, css, tips-and-tricks
In the Economy of User Effort, Be a Bargain, Not a Scam (lea)20165
usability, user-experience, product-management
Avoid These AI Coding Mistakes (ian)20164
ai, mistakes
I Completed an IT Degree… What’s Accessibility? (int)20163
accessibility, career
ADA Title II and PDFs: Fix, Archive, or Delete? (kar)20162
accessibility, ada, compliance, pdf
You Can Now Make PS2 Games in JavaScript20161
javascript
Testing Methods: Non-Text Contrast (dec)20160
accessibility, testing, wcag, contrast, colors
How Deno Protects Against npm Exploits (den)20159
deno, npm, security
Touring New CSS Features in Safari 26 (mon/css)20158
css, safari, browsers
Introducing Claude Agent in JetBrains IDEs (jet)20157
introductions, jetbrains, code-editors, claude, ai
The Novelty and Acceptance of Conversational AI20156
ai, conversational-design, user-experience
Strengthening npm Security: Important Changes to Authentication and Token Management20155
npm, security
AEO vs. SEO: Core Differences and How to Win Visibility in Both (sem)20154
how-tos, seo, comparisons, content, search
Are Your Retail Landing Pages Killing Conversions? (tam/spe)20153
landing-pages, user-conversion, performance, metrics
How Much Do You Really Know About Media Queries? (dxn/fro)20152
css, media-queries, examples
Using TypeScript in Node.js (pav)20151
nodejs, typescript
System Design Took Me From Missed Calls to ₹28 Base Package20150
system-design, scalability, interviewing
The “corner-shape” CSS Property Is Amazing (zor/css)20149
videos, css, shapes
WCAG’s Longevity (yat)20148
accessibility, wcag, standards
Polypane 26: Accurate Device Emulation With Safe Area and Small Viewport Units (pol)20147
release-notes, polypane, browsers
How I Estimate Projects as a Senior Developer for Better Results20146
processes, project-management
The AI Coding Trap (chr)20145
ai, processes, outlooks
The QA Checklist for Using AI to Generate Test Cases (and Why Tools Like AgentQ AI Make It Easier)20144
quality, checklists, testing, ai
When I Say “Alphabetical Order,” I Mean “Alphabetical Order”20143
sorting
Why I Gave the World Wide Web Away for Free (tim/the)20142
web, licensing, history
ARIA and Real World Dangers (dec)20141
accessibility, aria
Why “typeof null === object”20140
javascript, operators
Why Next.js Falls Short on Software Engineering20139
nextjs, react, complexity
Let’s Play Accordion With the HTML “details” Element (ale)20138
html, disclosure-widgets, accordions
Drunk CSS (ede)20137
css, effects, theming
Rails Developers Fork Away From Heinemeier Hansson (hei)20136
ruby-on-rails, community, politics
CSS Wish: Inner Breakpoints (rau)20135
css, wish-lists, breakpoints
10 Years of AdonisJS—a Personal Reflection and What’s Next (vir/ado)20134
adonisjs, retrospectives, outlooks
9 Python Features You’re Not Using (Yet)20133
python
Open Social (dan)20132
foss, social-media, protocols
Design Dialects: Breaking the Rules, Not the System (ali)20131
design, design-systems
Principles of Simplicity in Frontend Architecture20130
simplicity, dependencies, principles
Dear Designers: Stop Using System Fonts Like It’s 2005 (web)20129
design, fonts, variable-fonts
7 Deadly AI Sins for UX Professionals (nng)20128
ai, usability, user-experience
Design Attractors (don)20127
design, design-systems, ai
JSON Is Not JSON Across Languages20126
json
Understanding UC Browser Developer Tools as a Frontend Professional (ele/des)20125
guest-posts, uc-browser, dev-tools, best-practices
The DHH Problem20124
videos, ruby, ruby-on-rails, testing
Give Your AI Eyes: Introducing Chrome DevTools MCP (add)20123
introductions, chrome, browsers, dev-tools, ai
A Year of Improving Node.js Compatibility in Cloudflare Workers (jas)20122
cloudflare, nodejs
PostgreSQL 18 Released (pos)20121
release-notes, postgresql, databases
European Accessibility Act (EAA) and What It Means for You (inc)20120
videos, accessibility, eaa, legal
How Hackers Use AI to Find Vulnerabilities Faster20119
security, ai
Mastering npx: A Cheatsheet for npm and Node.js Power Users20118
npx, cheat-sheets, examples, nodejs, npm
One Corner, Two Border Radii (kev)20117
css, borders
From Products to Systems: The Agentic AI Shift (joh)20116
ai, product-management, processes, user-experience
Cloudflare Gives Us All Another Reason to Boycott Cloudflare (sch)20115
cloudflare, traffic, privacy
Create Sick Web Animations in Three.js With GSAP (ato)20114
animations, gsap, threejs
When Accessibility Isn’t Easy: Features That Need Love (a11)20113
videos, accessibility
Why Is Python So Popular in 2025? (jet)20112
python
Is SOLID Still a Solid Choice for Software Design? (lan)20111
solid, principles, oop, programming
Creating a Truly Accessible Flip Card (sib/tpg)20110
html, css, javascript, accessibility
The Coyier CSS Starter (chr/fro)20109
css, resets, templates
How to Be a Leader When the Vibes Are Off20108
leadership, ai, culture, economics
Dave Winer on Decentralisation, WordPress, and Open Publishing (dav+)20107
podcasts, interviews, open-web, rss, wordpress, apis
Prevent Clipping Issues (and More) in View Transitions by Using Nested View Transition Groups (bra)20106
css, view-transitions, clipping
Why Sticky Navigation Can Undermine Accessibility20105
accessibility, navigation
Either You Die a Developer, or Live Long Enough to See Yourself Become a Product Manager20104
career, product-management
Why You Should Care About Design Context (fig)20103
design, design-systems
The 10 Foundational UX Principles Every Designer Should Know (web)20102
design, user-experience, principles
What Just Happened to RubyGems? (chr)20101
ruby, dependencies, shopify
AI: The Real Problem Engineering Leaders Need to Have a Solution For (j9t)20100
ai, leadership, engineering-management
CSS Typed Arithmetic (ami/css)20099
css, functions, math
State of JavaScript 2025 (sac/dev)20098
surveys, javascript
Web Development for Beginners: Creating Web Pages via HTML (rau)20097
fundamentals, urls, servers, html, forms
Using Gemini for Web Apps (den)20096
gemini, ai, web-apps
Linting, Automated: AI-Powered Static Analysis With Gemini20095
quality, linting, automation, ai, gemini
GPT-5’s Enhanced Reasoning Comes With a Steep Hidden Cost20094
ai, openai, technical-debt
Shopify, Pulling Strings at Ruby Central, Forces Bundler and RubyGems Takeover (joe)20093
shopify, ruby
From Steam to Floppy: Porting Modern TypeScript to Run on DOS20092
typescript
Open Source Can’t Rely on Magic Piles of Money (rgi/ope)20091
foss, economics, community, openjs
Testing Methods: Reflow (dec)20090
accessibility, testing, wcag, reflow
The Best CSS Unit Might Be a Combination (mia/odd)20089
css, units, functions
DOJ Questioning the New Title II Web Regulation20088
accessibility, legal, ada
Accessibility Minute—September 2025 (col)20087
accessibility, images, alt-text, captions, comparisons
Agile Is Out, Architecture Is Back20086
ai, architecture, agile, processes, career
The EU’s €2T Budget Overlooks a Key Tech Pillar: Open Source (bag)20085
foss, economics
Preact 11 Beta Introduces Hydration 2.0, Default Ref Forwarding, and Modernized Bundling (inf)20084
preact
How to Test the New ARIA Notify API With Cypress (mar)20083
how-tos, testing, aria, notifications, apis, cypress
Targeting Specific Characters With CSS Rules (ede)20082
css, fonts, unicode
To Vibe or Not to Vibe (bbo/mfo)20081
vibe-coding, ai
Storybook Is Going ESM-Only (sto)20080
storybook, esm
Europe’s Cookie Law Messed Up the Internet—Brussels Wants to Fix It (ell)20079
cookies, consent-management, legal, privacy
Our Plan for a More Secure npm Supply Chain (xco)20078
npm, dependencies, security, foss
The Codebase Everyone Is Afraid to Touch20077
maintenance, technical-debt, economics
Designing for Dribbble Killed Real Web Creativity (web)20076
design, creativity
How to Disable Right Click With JavaScript (rik)20075
how-tos, javascript
How Netflix Accidentally Proved Monoliths Scale Better Than Microservices20074
architecture, monoliths, microservices, scalability, netflix
Light and Shade: Exploring Creativity’s AI Conundrum (its)20073
creativity, design, ai
Ambient Animations in Web Design: Principles and Implementation (mal/sma)20072
design, animations, principles, css
Welcome to the Entry-Level Void: What Happens When Junior Design Jobs Disappear? (car/its)20071
design, career, ai
A11y 101: 2.4.4 Link Purpose (in Context) (nat)20070
introductions, accessibility, wcag, links, microcontent
CAPTCHA, When Security Takes Precedence Over Accessibility20069
captcha, security, accessibility
Stop Using “.reverse().find()”: Meet “findLast()”20068
javascript, methods, arrays
Why Your Brand Is Your Most Important SEO Asset in 2026 (sem)20067
branding, seo, ai
The Ruby Community Has a DHH Problem (tek)20066
ruby, ruby-on-rails, community, ethics, politics
The Politics of AI: We’ll Need More Sustainability, Community, and Democracy (hdv)20065
ai, sustainability, economics, community, politics
“@ts-ignore” Is Almost Always the Worst Option (eva)20064
typescript, errors
Custom Carets and Users: When the Caret Is No Longer a Stick (Yes, That’s a Poor Attempt at a Pun) (aar)20063
forms, accessibility, wcag
The AI Bubble Is About to Burst20062
videos, ai, openai, economics, sustainability
npm Security Best Practices20061
npm, security, provenance, best-practices
Storing Unwise Amounts of Data in JavaScript Bigints (jon)20060
javascript
The 5th Motivation for Accessibility: Brand and Marketing—the Binary Choice20059
accessibility, branding, marketing, compliance
Interception (pau)20058
ai, network
Why Technical Debt Is Inevitable (kev)20057
videos, technical-debt, maintenance, processes
If You Are Good at Code Review, You Will Be Good at Using AI Agents (sea)20056
code-reviews, ai-agents, ai
Why Taste Matters More20055
design, ai
“Your Profile Doesn’t Match the Role” and Other Interview Horror Stories (alv)20054
interviewing, career
Digital Accessibility Is a Journey, Not a Destination (dec)20053
accessibility, concepts
Your Next Design Might Be Your Last20052
design, prioritization
Deprecation of Node 20 on GitHub Actions Runners20051
nodejs, github-actions, deprecation
What Is Web Design in 2025? (web)20050
design, aesthetics, tooling, ai, collaboration, craft
Following Processes Won’t Make You a Robot (may)20049
processes, documentation
10 Flutter Hacks Every Senior Developer Should Know20048
flutter, dart, tips-and-tricks
Instrumenting the Node.js Event Loop With eBPF (cor)20047
nodejs, event-loop, events
What You Need to Know About Modern CSS (2025 Edition) (chr/fro)20046
css, animations, pop-overs, functions, forms, shapes, source-order, link-lists
The Psychology of Trust in AI: A Guide to Measuring and Designing for User Confidence (sma)20045
guides, ai, user-experience
Learning Web Development: Version Control via Git and GitHub (rau)20044
version-control, git, github, command-line
Go Behind the Browser With Chrome’s New AI Features20043
chrome, browsers, gemini, ai
How Coding Agents Work: A Deep Dive Into OpenCode20042
videos, deep-dives, ai-agents, ai, opencode
Netscape Navigator 2.0 Was Released 30 Years Ago Today20041
netscape, browsers, anniversaries
How to Minimize the Environmental Impact of Your Website (chu/sma)20040
how-tos, sustainability, performance, optimization
Taking a Shot at the Double Focus Ring Problem Using Modern CSS (eri/pic)20039
css, focus, accessibility
The “picture” Element (kev)20038
html
4 Simple Ways to Know if You Are Stuck With Zombie Scrum20037
scrum, agile, processes, collaboration
A Quick Primer on Accessible Pagination (kar)20036
introductions, accessibility, pagination, html, css, assistive-tech
What Is Hugging Face—and Why It Matters for Laravel Developers20035
hugging-face, laravel
Moving Off of TypeScript20034
typescript, migrating
This One Abstraction Made My Frontend 10× More Maintainable20033
events, dom, debouncing
“forced-color-adjust: none” Is an Unavoidable Foot Gun (cod)20032
css, colors, contrast, accessibility
CSS “offset“ and “animation-composition” for Rotating Menus (pre/fro)20031
css, animations, navigation
Why Now Is Not the Time to Think About WCAG 3 (kar)20030
accessibility, wcag, standards, compliance, legal
CSS to Speech: Alternative Text for CSS-Generated Content (sar)20029
css, voice, generated-content, alt-text, accessibility, support, browsers, screen-readers
This May Be the Worst One (the)20028
videos, npm, dependencies, security
Middleware in React Router (bro/rem)20027
react-router, remix
Wasm 3.0 Completed20026
webassembly
The Web’s Most Tolerated Feature (boc)20025
css, zooming, web-platform
Is It Time to Un-Sass? (jef/css)20024
css, sass, less, preprocessors
Why Europe’s New Tech Laws Have the World on Edge (edr)20023
legal
How Tech Companies Measure the Impact of AI on Software Development (ger+)20022
ai, productivity, metrics, github, google, atlassian, economics
Shadcn Themes (mik)20021
websites, themes, shadcn
Browserslist Now Supports Baseline (mal)20020
browserslist, browsers, support, web-platform
Frontend JavaScript Performance Testing: A Comprehensive Guide (get)20019
guides, javascript, performance, testing
Browsing, Rewired: My Dive Into the AI Browser Frontier20018
browsers, ai, dia, edge, chrome, safari, brave, opera, orion, firefox, comparisons
Top 10 Debugging Tools Every Developer Should Know20017
tooling, debugging, dev-tools, chrome, postman, vs-code, git, docker, monitoring
Beyond the Horizon: How Angular Is Embracing AI for Next-Gen Apps (sim/ang)20016
angular, ai
How to Use “ObjectBox” in Flutter (fre)20015
how-tos, flutter
SerpApi: A Complete API for Fetching Search Engine Data (pre/sma)20014
apis, search
How Software Engineers Can Take Advantage of Gen AI Tools20013
ai, tooling, user-experience, documentation
React Won by Default—and It’s Killing Frontend Innovation (che)20012
react, svelte, solidjs, qwik, frameworks, checklists
Ongoing Supply Chain Attack Targets CrowdStrike npm Packages (pvd+/soc)20011
npm, dependencies, security
WebKit Features in Safari 26.0 (jen+/web)20010
release-notes, webkit, safari, browsers
Replace Your Animated GIFs With SVGs (fro)20009
gif, svg, images, animations, css
We Fired Our React Stack—and Our Velocity Doubled20008
tech-stacks, react, solidjs, comparisons, productivity
“aria-label” or “title”? Screen Reader Behaviour Explained (a11)20007
html, attributes, accessibility, screen-readers
K8s and Cloud Observability20006
kubernetes, observability
Fetch Streams Are Great, but Not for Measuring Upload/Download Progress (jaf)20005
javascript, data-fetching, apis
ctrl/tinycolor and 40+ npm Packages Compromised20004
npm, dependencies, security
Accessible Time Format (oze)20003
accessibility, time
The “Most Hated” CSS Feature: “cos()” and “sin()” (mon/css)20002
css, functions, math
This Website Has No Class (aaa)20001
css, selectors, web-components
Progressive Complexity: When Islands Should Be a Continent (che)20000
complexity, architecture, sveltekit
Which npm Package Has the Largest Version Number?19999
npm, dependencies, versioning, semver
Screen Readers Do Not Need to Be Saved by AI (cra)19998
screen-readers, ai, accessibility
My Workflow for Stacked PRs on GitHub19997
github, code-reviews, processes
How Fast Do Websites Load From Google Search? Comparing Various Prefetching and On-Demand Load Methods (paw)19996
performance, google, web-vitals, signed-exchanges
How to Target Safari With a CSS “@supports” Media Query19995
how-tos, safari, browsers, browser-detection
Breakpoint Columns, Five Ways—Which Do You Like? (chr/fro)19994
css, layout, breakpoints, media-queries, functions, grids
UTF-8 Is a Brilliant Design (vis)19993
encoding, unicode
How Blind People Navigate the World, On- and Offline (lau)19992
accessibility, navigation, screen-readers, nvda, jaws
Frontend News #16: “:heading” Pseudo-Class, Faded Text Effects, “box-sizing” (zor/css)19991
videos, css, selectors, box-model, effects, view-transitions
Styling Siblings With CSS Has Never Been Easier: Experimenting With “sibling-count” and “sibling-index” (uti)19990
css, selectors, functions
Navigating the World of Web Accessibility With Sara Soueidan (sar+)19989
videos, interviews, accessibility, wcag, aria, html, css
Let’s See Paul Allen’s CSS Reset (dbu)19988
css, resets
Avoid Adding Modals to Other Modals or Dropdowns (a11)19987
accessibility, modals, wcag
Simplicity in Web Design? It’s All Smoke and Mirrors (web)19986
design, simplicity, complexity, marketing
Can Native Web APIs Replace Custom Components in 2025? (dxn/log)19985
apis, components, web-platform, disclosure-widgets, pop-overs
Subgrid: How to Line Up Elements to Your Heart’s Content (sar/web)19984
how-tos, css, grids, layout
Single-Colour Gradients (kev)19983
css, gradients
What Can We Actually Do With “corner-shape”? (dxn/css)19982
css, borders, shapes, examples
You Can’t Track AI Like Traditional Search—Here’s What to Do Instead (lou/ahr)19981
ai, search
How Maintainer Burnout Is Causing a Kubernetes Security Disaster19980
kubernetes, maintenance, security, foss, economics
Star Raters Are More Challenging to Make Accessible Than You Might Think (ele)19979
accessibility, keyboard-navigation
August 2025 Baseline Monthly Digest (mal)19978
browsers, support, web-platform, css, container-queries, mdn
What to Expect in WCAG 3.019977
accessibility, wcag
Ripple: TypeScript UI Framework Analysis (mer)19976
ripple
Why You Cannot Combine SAFe and LeSS19975
processes, agile
Agentic AI Has Changed My Career19974
ai, mcp, processes, productivity
You Suck as a Design Leader (pro)19973
design, leadership, career, ai
The Missing Link in JavaScript Tools (mar)19972
javascript, tooling
State of QUIC in Node.js (pav)19971
nodejs, quic, protocols, history
Follow-the-Leader Pattern With CSS Anchor Positioning (una)19970
css, anchor-positioning, effects
Reviewing the Logic and Value of the W3C’s Accessibility Maturity Model (kar)19969
w3c, accessibility, processes, culture, leadership
Compiling Multiple CSS Files Into One (geo/css)19968
css, sass, postcss, tooling
How to Set Up Express 5 for Production in 2025 (jan)19967
how-tos, express, typescript
How to Keep package.json Under Control (tmc/val)19966
how-tos, nodejs, npm, dependencies, maintainability
How Do You Optimize for AI Search? (sem)19965
ai, search, optimization
Wasted Open Source Efforts (jan)19964
foss, community, collaboration, bots
Behind the Scenes of “bun install” (bun)19963
bun, installing
To AI or Not to AI (ant)19962
ai, experiments, monetization, facebook+meta
Digital Accessibility: Start Now, Don’t Wait (dec)19961
accessibility
Baby Steps Accessibility—Page Titles (dec)19960
html, microcontent, best-practices, accessibility
I’ve Tried Solid.js, Now I’m Starting to Hate React (ale)19959
solidjs, react, jsx, apis, web-components
Choosing the Right Model in Cursor (fro)19958
cursor, code-editors, ai
How to Build Microfrontends With Module Federation and Vue (ale)19957
how-tos, micro-frontends, modules, vuejs
One List to Rule Them All (arg)19956
css, selectors, functions, units, learning, link-lists
Just Use HTML (cfe)19955
html, javascript
Integrating CSS Cascade Layers to an Existing Project (sma)19954
css, cascade, refactoring
Deno 2.5: Permissions in the Config File (bar/den)19953
release-notes, deno
Why Algorithms Are Ruining Your Web Experience (web)19952
web, user-experience
2025: 0 of the Global Top 200 Websites Use Valid HTML (j9t)19951
html, conformance, metrics, quality, craft
100 Most Cited Domains in ChatGPT (ahr)19950
chatgpt, ai
AI Cuts Onboarding Time in Half for New Hires in the Enterprise (lau)19949
ai, hiring, onboarding, economics
Web Development for Beginners: Frontend Frameworks (rau)19948
frameworks, javascript, preact
Auditing Your Design System for Accessibility19947
design-systems, accessibility, auditing, processes
Design Can’t Rely on Logic: Troy Leinster on Type Design and Human Perception (int)19946
podcasts, interviews, design, typography, fonts
Electron 38.0.0 (kee/ele)19945
release-notes, electron
Oh No, Not Again… a Meditation on npm Supply Chain Attacks (tan)19944
npm, dependencies, security, microsoft
Testing Methods: Visual Presentation (dec)19943
accessibility, testing, wcag
An Interactive Guide to TanStack DB (max)19942
guides, tanstack, databases
I’m Moving Away From GitHub (pal)19941
github, codeberg, version-control, hosting
View Transitions: What Could Possibly Go Wrong? (mar/vtb)19940
css, view-transitions
The Web Behind Glass (med)19939
design, effects, liquid-glass, best-practices
Migrating My Open Source Repositories to Codeberg (dan)19938
migrating, codeberg, foss, github-pages, github-actions
Chrome Mask: Make Firefox Appear as Chrome With a Single Click19937
firefox, chrome, browsers, browser-extensions
Bringing Node.js HTTP Servers to Cloudflare Workers (yag+)19936
cloudflare, nodejs
Evan You 2025 Interview: Google, Vue, Vite, Nuxt, Next, Vercel, and VoidZero (eva+)19935
videos, interviews, google, vuejs, vite, nuxt, nextjs, vercel, voidzero
“Make Invalid States Unrepresentable” Considered Harmful (sea)19934
software-design, state-management
Why Moving Away From SPAs Improves Usability, Accessibility, and SEO (inn)19933
single-page-apps, usability, accessibility, seo, html, semantics
Design Has Never Been More Important: Inside Shopify’s Acquisition of Molly (cod)19932
design, ai, ecommerce, shopify, case-studies
Finally, Safe Array Methods in JavaScript19931
javascript, arrays, methods
Color Shifting in CSS (jos)19930
css, colors, animations, techniques
How to Make Complex Data Accessible for Users With Disabilities (pop)19929
how-tos, accessibility, information-design, visualization, tables, examples
Getting Started With Cursor (fro)19928
introductions, cursor, code-editors, ai
Understanding Focus Indicators for Web Accessibility (a11)19927
accessibility, focus, keyboard-navigation, wcag, compliance
Why I Still Prefer “ems” Over “rems” (cfe)19926
css, units
npm Author Qix Compromised via Phishing Email in Major Supply Chain Attack (bur+/soc)19925
npm, security, dependencies
Will Vibe Coding Kill Low-Code19924
ai, vibe-coding, low-and-no-code
Anatomy of a Billion-Download npm Supply-Chain Attack19923
npm, security, dependencies
Composition in CSS (zel/css)19922
css
Category and Tag Pages With Eleventy19921
eleventy, navigation, pagination
Stop Using TypeScript Interfaces (dcr)19920
typescript, types
Screen Reader HTML Support—Lookup (ste)19919
html, screen-readers, accessibility, support, overviews
Design System Ambassadors–the Goldilocks of Collaboration (pjo)19918
design-systems, collaboration, advocacy
The CSS “if()” Function (san)19917
css, functions, conditionals
The Node.js Handbook, 2025 Edition (fla)19916
books, nodejs
The 28 AI Tools I Wish Existed19915
ai, tooling, wish-lists
Your Images Are (Probably) Oversized19914
images, html, pixel-density
Un-Sass’ing My CSS: Compiling Multiple CSS Files Into One (stu)19913
css, sass, postcss
The CSS “random()” Function (san)19912
css, functions, randomness
No, AI Is Not a Bubble (dan)19911
ai
How to Perform a Comprehensive WCAG Audit (a11)19910
how-tos, auditing, wcag, accessibility, compliance
20 Footer Design Myths You’re Still Believing (and How to Fix Them (web)19909
design, navigation, myths
“Why Would Anybody Start a Website?” (dav)19908
web
What You Need to Know About CSS Color Interpolation (sun/css)19907
css, colors, functions, oklch
Make Your Proposals for Interop 2026 (rac)19906
interoperability, web-platform, browsers, support
Liquid Glass in the Browser: Refraction With CSS and SVG19905
effects, liquid-glass, css, svg, images
Why Every Senior Developer I Know Is Planning Their Exit19904
career, productivity, economics
Using the Node 18+ Native Test Runner With TypeScript and React19903
nodejs, testing, typescript, react
Why I Ditched Docker for Podman (and You Should Too)19902
docker, podman, migrating
Don’t Inherit the Box Model (mia/odd)19901
css, box-model
Accessible Writing Techniques for Web Content (a11)19900
accessibility, writing, content, techniques
You Don’t Need Animations (emi)19899
animations, design
The Fundamentals of CSS Alignment (css)19898
fundamentals, css, alignment, examples
Functional Custom Elements the Easy Way (gin/pic)19897
web-components, javascript
Release Notes for Safari Technology Preview 227 (jon/web)19896
release-notes, safari, browsers
Who’s Funding Open Source in 2025? A Guide for Maintainers (eli)19895
guides, foss, monetization, economics
CORS Explained: Stop Struggling With Cross-Origin Errors19894
security, cors, http-headers, http
Baby Steps Accessibility—Color Contrast of Text (dec)19893
accessibility, colors, contrast, wcag
Advanced PostgreSQL Indexing: Multi-Key Queries and Performance Optimization (ada/fro)19892
databases, postgresql, performance, optimization
.htaccess: A Helper Script to Easily Block Website Traffic by Country (j9t)19891
apache, servers, traffic, tooling, advocacy
15 Ways Your Website Loads From Google Search and How to Measure Each One (paw)19890
google, search, speculation, signed-exchanges, amp, performance
What the Internet Was Like in 1999 (ric)19889
web, history, microsoft, netscape, google, blogging, syndication
Learning Web Development: Asynchronous JavaScript—Promises and “async” Functions (rau)19888
javascript, asynchrony, promises, functions
10 n8n Tips and Tricks Every Beginner Should Know (No-Code Friendly)19887
discussions, n8n, tips-and-tricks, low-and-no-code
Vibe Design for Designers19886
design, ai
UDP in Node.js: Deep Technical Guide (pav)19885
guides, nodejs, protocols
How OpenJS-Hosted Projects Benefit From Security Support (ope)19884
openjs, hosting, security, foss
The Last Days of Social Media (jam/noe)19883
social-media, ai
Testing Methods: Low or No Background Audio (dec)19882
accessibility, testing, multimedia, wcag
No, You Don’t Want to Hire “the Best Engineers” (oth)19881
hiring, engineering-management
Why You Should Test Your Page Without JavaScript19880
javascript, support, progressive-enhancement, accessibility
Why Did I Ever Abandon HTML/CSS? (syl)19879
html, css
What We Actually Know About Optimizing for LLM Search (lou/ahr)19878
ai, search, optimization, seo
The Most Popular Python Frameworks and Libraries in 2025 (jet)19877
python, frameworks, libraries, django, comparisons
Should the CSS “light-dark()” Function Support More Than Light and Dark Values? (sun/css)19876
css, functions, dark-mode
Google Chrome at 17—a History of Our Browser (add)19875
chrome, google, browsers, history, anniversaries
The Design of Shallow Thinking19874
design, web, retrospectives
Design Is a Conversation19873
design, communication, ai
How to Minimize Legal Risks in Accessibility Compliance (nat)19872
how-tos, accessibility, compliance, legal
How Designing for Disability Benefits Everyone19871
accessibility, history, economics
Anatomy of Good Icons (nng)19870
videos, icons, images, design
We Used AI to Compare and Demo 6 JavaScript Charting Libraries (kyl+/web)19869
videos, javascript, libraries, visualization, comparisons, ai
Why Inclusive Products Are Green Products (tet)19868
accessibility, dei, principles, user-experience, consistency, sustainability
Who Owns the Web Now? Centralization vs. Decentralization in the Age of AI (web)19867
web, ai, web-2.0
Introduction to Postgres Indexes (ada/fro)19866
introductions, databases, postgresql
Best LLM Visibility Trackers for 2025: Track Your Brand in AI Search19865
ai, branding, tooling, comparisons
Learning Web Development: JSON and Processing Files in Node.js (rau)19864
javascript, json, nodejs, arrays, objects
NodeBook19863
websites, books, nodejs, runtimes
My AI Predictions for 202719862
ai, outlooks
Thoughts on Object Creation (fra)19861
programming, software-design-patterns, oop
CSS Overrides Without “!important” Using Layers in Astro Components (jle/cod)19860
astro, components, css, cascade
Focus on the People That Make Things Happen (tem)19859
accessibility, culture, processes
Why Do Browsers Throttle JavaScript Timers? (nol)19858
javascript, time, browsers
Learning Web Development: JavaScript Maps (rau)19857
javascript
How Senior Frontend Developers Think About React Architecture19856
react, components, architecture
7 Top 2025 Web Design Trends19855
design, trends, simplicity, performance, dark-mode, accessibility, ai, content
The Git Workflow That Eliminated Merge Conflicts Forever19854
git, version-control, processes
9 JavaScript Patterns I Wish I Used Earlier19853
javascript, software-design-patterns
The “-path” of Least Resistance II (ami/fro)19852
css, clipping
Vibe Coding Is Not the Same as AI-Assisted Engineering (add)19851
ai, vibe-coding, processes, software-design
JavaScript’s Trademark Problem (rau)19850
javascript, oracle, legal, deno
Learning Web Development: JavaScript Exceptions (rau)19849
javascript, errors
Can Design Make You Healthier? Inside the Architecture of Wellness (wal)19848
design
Tricks to Write HTML and CSS 10× Faster (jay)19847
html, css, efficiency, tips-and-tricks
A Complete Guide to HTTP Caching (jon)19846
guides, http, caching, performance
Prompting Is a Design Act: How to Brief, Guide, and Iterate With AI (sma)19845
ai, prompting, design
Learning Web Development: Plain Objects in JavaScript (rau)19844
javascript, objects
VS Code Tips—How to Restore Deleted Files Easily Using Local History (zor/css)19843
videos, how-tos, vs-code, code-editors, tips-and-tricks
Added Support for WebP Images19842
webp, images, github
Partytown: Optimize Third Party Scripts With Web Workers (jac/deb)19841
libraries, embed-code, web-workers, performance, optimization
Do the Simplest Thing That Could Possibly Work (sea)19840
simplicity, software-design, prioritization
Why You Absolutely Need to Have Automated Dependency Management in Place (j9t)19839
dependencies, maintainability, maintenance, security, automation, tooling
Should You Preload Fonts for Performance? (erw)19838
performance, preloading, fonts
10 CSS Features I’ve Found Really Useful19837
css
The History of Themeable User Interfaces (bra)19836
design, theming, history
You No Longer Need JavaScript (reb)19835
javascript, css, html, examples
Why Digital Accessibility Starts Within: Lessons From Crystal Preston-Watson (tri/hac)19834
accessibility, lessons
The Basics of Anchor Positioning (sha)19833
fundamentals, css, anchor-positioning
Python: The Documentary (cul)19832
videos, python, history
Open Source Is One Person (jos)19831
foss, community, economics
Learning Web Development: Modules and Testing in JavaScript (rau)19830
javascript, modules, testing
The “-path” of Least Resistance (ami/fro)19829
css, clipping
Designing for Discovery: Why AI and Accessibility Are Now UX Priorities (web)19828
design, ai, accessibility, user-experience
Accessible Authentication (kar)19827
accessibility, authentication, testing
Learning Web Development: Web Servers (rau)19826
servers, nodejs
Why Kagi? (rat)19825
kagi
AI Contrarians on the Problems With Vibe Coding19824
ai, vibe-coding, quality, slop, career
Artificial Intelligence Companies and the Dark Side of Data Scraping19823
ai, scraping, ethics, legal, openai, google, facebook+meta, anthropic
UN Calls Out Google and Amazon for Abetting Gaza Genocide (pro)19822
microsoft, amazon, google, politics
JavaScript Engines Zoo19821
javascript-engines, javascript, overviews, comparisons, v8, spidermonkey, quickjs, javascriptcore, chakracore
JavaScript Engines Explained—Comparing V8, SpiderMonkey, JavaScriptCore, and More (ele/des)19820
guest-posts, javascript, javascript-engines, v8, spidermonkey, javascriptcore, quickjs, chakracore
The One Mistake Everyone Makes in AI19819
ai, mistakes
The One Architecture Decision That Destroyed Every Project I Touched19818
architecture, databases
Design Systems: The True Source of Frontend Peace (cod)19817
design-systems, design
Stop Trying to Kill the SPA (max)19816
single-page-apps, link-lists
Hack to the Future—Frontend (the)19815
history, html, css, javascript, design, layout, flash, image-replacement, libraries, frameworks, hacks, xhtml, tooling, testing, outlooks
Visualizing Responsive Typography (mia/odd)19814
css, typography, responsive-design, functions
Optimizing PWAs for Different Display Modes (val/sma)19813
progressive-web-apps, web-apps, responsive-design, css, media-queries, optimization
Opening a “details” Element From the URL (chr/fro)19812
html, disclosure-widgets, urls
Nested Scroll Bars Are the One of the Biggest Accessibility Evils, Ever19811
accessibility, scrolling, tables, wcag
I Am an AI Hater (ant)19810
ai
How Developers Can Use Tracing in the UI to Add Backend-Style Observability19809
tracing, observability, opentelemetry, tooling
Being a Developer in the Vibe Coding Era19808
vibe-coding, ai, career
Understanding “Promise.any()”: When One Success Is Enough19807
javascript, promises, asynchrony
Learning Web Development: Shells and Node.js (rau)19806
shells, nodejs
From McCabe to Essential Complexity19805
programming, quality, complexity, metrics
10 Python Libraries That Supercharge Web Scraping19804
scraping, python, libraries, tooling
10 Web Dev Trends for 2025 That Will Make or Break Your Career (web)19803
trends, career, ai, frameworks, low-and-no-code, serverless, content-management, spatial-web, design-systems, apis
Enable “--strict” by Default (dan/typ)19802
discussions, typescript
Accessibility Statements Are Not Legal Contracts—They’re Value Signals19801
accessibility, documentation, compliance, legal
Why Disabled Buttons Hurt UX (and How to Fix Them)19800
videos, buttons, forms, user-experience
Where AI Is Failing Design Systems, and Where We Are Failing AI (ben)19799
ai, design-systems
Very Early Playing With “random()” in CSS (chr/fro)19798
css, functions, randomness
How to Create an Accessible Table With Clickable Rows (ale)19797
how-tos, tables, html, accessibility
An Illustrated Guide to OAuth19796
guides, oauth, authorization
A11y 101: 2.4.3 Focus Order (nat)19795
introductions, accessibility, focus
Learning Web Development: Loops in JavaScript (rau)19794
javascript, loops
Building an Automated Workflow Platform With n8n19793
translations, n8n, ai
Why Does Big Tech Not Run Accessibility Bug Bounties?19792
accessibility, processes, bugs
React 19 Broke Update Stability, Keeping Half of Developers Stuck19791
react, angular, vuejs, comparisons, maintenance
Handling 500M Clicks With a $4 VPS (asc)19790
videos, servers, economics
Use of Color (Level A) WCAG 1.4.1—Accessibility Design Tips19789
accessibility, colors, wcag, tips-and-tricks
Boosting Laravel Boost19788
laravel, mcp, ai
Big O (sam)19787
algorithms, performance, programming
3D Layered Text: The Basics (ami/css)19786
fundamentals, css, effects, 3d
How to Interpret LLM Benchmark Results: A Practical Guide19785
guides, how-tos, ai
Experimental: Firefox Now Supports Progressive Web Apps on Windows19784
firefox, browsers, progressive-web-apps, web-apps
Design Hacks From the Pre-CSS Era (den/hac)19783
html, tables, layout, hacks, history
Google Games Numbers to Make AI Look Less Thirsty (tob/the)19782
google, infrastructure, ai, sustainability
Why /dev/null Is an ACID Compliant Database19781
unix-like, databases, comparisons
10 Terminal Tricks Most Developers Don’t Know (but Should) (ris)19780
command-line, keyboard-shortcuts, tips-and-tricks, efficiency
CSS Pulse Animation (mar)19779
css, animations, effects
Unit Formatting With “Intl” in JavaScript (ray)19778
javascript, units, localization
Quick Dark Mode Toggles (chr/fro)19777
dark-mode, dev-tools, browsers
No, Google Did Not Unilaterally Decide to Kill XSLT (mey)19776
xsl, google, browsers, web-platform
Making Sense of CSS Length Units19775
css, units
4 Reasons to Stop Using CSS Preprocessors (hel)19774
css, preprocessors
What Makes Claude Code So Damn Good (and How to Recreate That Magic in Your Agent)!?19773
how-tos, claude, ai
Why Do Software Developers Love Complexity? (kyr)19772
complexity, marketing
Creative Ways to Fund Open Source Projects (ger)19771
foss, monetization
Interaction Design and Accessibility: UX Without Barriers (a11)19770
interaction-design, accessibility, user-experience
You’re Loading Fonts Wrong (and It’s Crippling Your Performance) (jon)19769
fonts, performance, css, image-replacement, flash-of-x, history
What Are OKLCH Colors? (jak)19768
colors, oklch
The ARRM Framework: What It Is and How It Can Be Leveraged for Digital Inclusion (dbo+/kno)19767
interviews, accessibility, dei, processes
Rolling the Dice With CSS “random()” (jon+/web)19766
css, functions, randomness, examples
New Bookmarklet: WCAG SCs Lookup Tool (llo)19765
bookmarklets, wcag, accessibility
How We Migrated Our Rush.js Monorepo to Node Type Stripping (cal)19764
migrating, nodejs, typescript
How to Create a CRO Strategy That Turns Traffic Into Revenue (moz)19763
how-tos, user-conversion, monetization, seo, strategies, economics
How to Audit Developer Docs: A Quick, Effective Method (hac)19762
how-tos, documentation, auditing
Firefox 142 for Developers (mdn)19761
release-notes, firefox, browsers
A Proposal for Inline LLM Instructions in HTML Based on llms.txt (ind)19760
html, ai, llmstxt
AWS in 2025: The Stuff You Think You Know That’s Now Wrong (qui/las)19759
aws, s3, lambda, dynamodb, network, authentication, economics
Trusting the Browser (med)19758
accessibility, focus, keyboard-navigation, browsers, support
Open Source Is Dying and We’re All to Blame19757
foss, community, economics
Why Is CSS “::first-letter” Not Working? (whi)19756
css, selectors
What’s Next for JavaScript? (jsd)19755
javascript, outlooks
To Infinity… but Not Beyond (mey)19754
css
Obsessing Over Smooth “radial-gradient()” Disc Edges (ana/fro)19753
css, functions, gradients
Michelle Frechette and Jonathan Desrosiers on the Story of .com and .org (mic+)19752
podcasts, interviews, wordpress, domains, history
Constant Refactoring: Refactoring My Refactored Website (ope)19751
refactoring, maintenance
“Best Practice” Is Just Your Opinion (cra)19750
accessibility, auditing, quality, best-practices
About “Best Practices” (yat)19749
accessibility, best-practices
AGENTS.md19748
websites, ai, documentation, conventions, agentsmd
We Must Build AI for People, Not to Be a Person (mus)19747
ai
How to Stand Out When Anyone Can Build Anything (ant)19746
how-tos, economics, communication, craft, ai
Universal Design vs. Inclusive Design (ons/tpg)19745
design, accessibility, dei, concepts, comparisons
The Good, the Bad, and the Unreadable (mal)19744
fonts, readability, legibility, accessibility, wcag
Testing Methods: Images of Text (dec)19743
accessibility, testing, wcag, images
Launching MDN’s New Front End (mdn)19742
mdn
Learning Web Development: Arrays in JavaScript (rau)19741
javascript, arrays
Beyond Vibe Coding: Amazon Introduces Kiro, the Spec-Driven Agentic AI IDE (inf)19740
introductions, kiro, code-editors, ai
The State of Python 2025 [Results] (mke/jet)19739
surveys, metrics, python
GitHub for AI Engineers19738
github
Web Design: What Is the Web Capable of That Is Hard to Express in Design Software? (chr/fro)19737
design, interaction-design, tooling
The First Rule of ARIA (nat)19736
accessibility, aria, principles, html
Resize Any DOM Element Using Two Lines of CSS (ami)19735
dom, resizing, css
Jack Dorsey’s Vibe Coding Tips (ang/ope)19734
vibe-coding, ai, tips-and-tricks