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 (9)

→ 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#
Focus on the Product, Not the Tech Stack18437
prioritization, tech-stacks, career
The Perverse Incentives of Vibe Coding (fre)18436
ai, vibe-coding, metrics, economics, tips-and-tricks
Cold vs. Hot Observables in Angular With RxJS18435
angular, asynchronicity, reactivity, examples, terminology
The Impact of Web Accessibility Overlays on the Usability and User Experience for People With Permanent Visual Impairments (dni)18434
studies, research, accessibility, usability, overlays
Behind the Scenes of Verso Browser Development (wuy)18433
verso, browsers, servo, browser-engines
What Is a Conforming Alternate Version and When Would We Use It? (mni)18432
accessibility, compliance
How to Have the Browser Pick a Contrasting Color in CSS (jen/web)18431
how-tos, browsers, css, functions, colors, contrast
Finding the Joy in Alt Text (bry)18430
alt-text, accessibility, images
Container Query for “Is There Enough Space Outside This Element?” (chr/fro)18429
css, container-queries
WebKit Features in Safari 18.5 (jen/web)18428
release-notes, safari, browsers, webkit
Claude Code: AI Agent for Devops, SRE, and Platform Engineering18427
videos, ai, claude, dev-ops, platform-engineering
Why I Skipped Figma and Prototyped in Code Instead18426
design, figma, ai, vibe-coding, prototyping
Understanding Java’s Asynchronous Journey18425
java, asynchronicity, history
Enhancements to the Proposed “<permission>” Element (tom)18424
html
Design, Code, Publish—All in Figma? (fro)18423
podcasts, figma, ai
How I Built Dynamic Social Media Images in Eleventy Using Cloudinary (chi)18422
eleventy, images, social-media, tooling, cloudinary
Update on CSS Anchor Positioning (fan/w3c)18421
css, standards, anchor-positioning
The Height Enigma (jos)18420
css, fundamentals
Just Fucking Use HTML (kyr)18419
websites, html
JavaScript Compile Hints: What They Are and When to Use Them (tre)18418
javascript, compiling, v8, javascript-engines
Integrating Localization Into Design Systems (sma)18417
design-systems, localization, figma, case-studies
I Think the Ergonomics of Generators Is Growing on Me (mac)18416
javascript, functions
How to Title Your Blog Post or Whatever (dyn)18415
how-tos, blogging, writing, microcontent
My Experience Using Junie for the Past Few Months (len)18414
junie, ai
Designing AI With Purpose: The AI Intention Matrix18413
ai, design, product-management
Figma Sites: When Accessibility Is an Afterthought18412
figma, accessibility, link-lists
The Tech Bro Era Is Fading—So Who’s Next to Shape Our Culture?18411
ai, design, user-experience, culture, community
Good Commit Messages Are Just Self-Care: Why I Document Everything18410
commit-messages, documentation, git
Unlocking Accessibility: Information Architects Share Their Approach to Digital Accessibility and Design With People With Disabilities18409
accessibility, information-architecture
The True Path to Garbage Code: Figma Sites (joe)18408
figma, html, quality, semantics, accessibility
Foundations: Keyboard Accessibility (tet)18407
fundamentals, accessibility, keyboard-navigation, focus, html
Figma Sites Is Worse Than You Might Have Thought (kev)18406
videos, figma, quality
Figma Dreamweaver (pav)18405
figma, dreamweaver, wysiwyg, comparisons
Dependency Inversion in React: Building Truly Testable Components18404
react, components, testing
95% of Homepages Are Inaccessible18403
homepages, wcag, accessibility, metrics
Building the Bridge: Running JavaScript Modules From Dart18402
javascript, modules, esm, commonjs, dart, deno
CSS Snippets (ada)18401
css
Use Baseline With Browserslist (mal)18400
browsers, support, web-platform, browserslist
Waiting for Postgres 18: Accelerating Disk Reads With Asynchronous I/O (luk/pga)18399
postgresql, databases, asynchronicity
15+ Secret Weapons for Frontend Devs That Most Beginners Miss18398
tooling, link-lists
Why Is Nobody Using the “hwb()” Color Function? (css)18397
css, colors, functions
“shape()”: A New Powerful Drawing Syntax in CSS (chr/fro)18396
css, functions, shapes, clipping
“:placeholder-shown” (kev)18395
css, selectors
Migrating a JavaScript Project From Prettier and ESLint to BiomeJS (app)18394
javascript, migrating, prettier, eslint, biome
Is Web Development Dying? Inside Information18393
career, ai
Guitar Chords in CSS (sto)18392
css, functions, examples
Do Not Publish Your Designs on the Web With Figma Sites… (aar)18391
figma, accessibility
Next.js Deployment Spec Simplifies Frontend Hosting18390
nextjs, deploying, hosting, netlify, vercel
Towards React Server Components in Clojure (rom)18389
clojure, react, components
Getting Things “Done” in Large Tech Companies (sea)18388
productivity, processes, project-management
Using Container Query Units Relative to an Outer Container (ana/fro)18387
css, container-queries, units
Updates to Popover and CSS Anchor Positioning Polyfills (jam/odd)18386
css, polyfills, pop-overs, anchor-positioning
The Hidden Gold of Web Accessibility: Everything About ARIA Labels (flo/a11)18385
accessibility, aria, html, best-practices
Node.js 24 Is Here: What You Need to Know (nod)18384
nodejs
Node v24.0.0 (Current) (raf/nod)18383
release-notes, nodejs
Masonry in CSS: Should Grid Evolve or Stand Aside for a New Module? (sma)18382
css, masonry, grids, layout
How to Create Full Width Containers in CSS (lia)18381
how-tos, css
Are “CSS Carousels” Accessible? (sar)18380
css, carousels, accessibility, examples
Angular: “httpResource” in the Wild18379
angular, data-fetching, reactivity
7 Things I Do Regularly as a Senior Frontend Developer (nde)18378
career, learning, code-reviews
Creating a More Accessible Web With ARIA Notify (pat)18377
accessibility, aria, notifications, apis
Measuring Developer Productivity in the LLM Era18376
ai, productivity, developer-experience, engineering-management
You’re Misunderstanding DDD in Angular (and Frontend) (duc/dan)18375
software-design, angular
UX Localization: Adapting User Interfaces for Diverse Cultures (uxm)18374
design, user-experience, localization, product-management
There Should Be No AI Button18373
ai, design, user-experience, buttons
The Power of the Spread and Rest Syntax in JavaScript18372
javascript, arrays
The Growing Divide Among React Developers… (fir)18371
videos, react, components, nextjs, vercel
The “code” Element (hey)18370
html, markdown
Test Keyboard Accessibility on Your Website18369
videos, accessibility, keyboard-navigation, testing
Rethinking Responsive Grids With a Content-Aware Approach (web)18368
responsive-design, content, grids, layout
Passkeys for Normal People (tro)18367
security, authentication, passkeys, examples, concepts
Mozilla Say Google Search Deal Vital to Firefox’s Survival (d0o/omg)18366
mozilla, firefox, browsers, google
K.I.S.S. ARIA (nat)18365
aria, html, accessibility
How to Launch Big Complex Projects (vit/sma)18364
how-tos, processes, project-management
Database Internals Explained: The Invisible Engine Behind Every App You Use (rak)18363
videos, databases
Syntax Highlighting in Pure CSS (nb)18362
css, syntax-highlighting
What Is Semantic Caching?18361
ai, performance, semantics, caching, concepts
We Have a Daily Standup. Nobody Stands. Nothing’s Up.18360
agile, processes, culture
How I Would Learn to Code (if I Could Start Over)18359
programming, ai, learning
Robust Data Fetching Architecture for Complex React/Next.js Apps (tre)18358
react, nextjs, hooks, data-fetching, architecture
Polyfilling CSS With CSS Parser Extensions (bra)18357
css, polyfills
Stop Using AWS18356
aws
Potential Accessibility Issues of Floating Animations on Webpages and Mobile Apps (cer)18355
accessibility, animations
10 New Jobs for Burned-Out Software Developers18354
career
Generative AI and the Triad Color Harmony (tmr)18353
ai, deepseek, colors, color-palettes
Building a More Accessible GitHub CLI (rya+)18352
github, tooling, command-line, accessibility
What Is an Encryption Backdoor? (int)18351
security, encryption, vulnerabilities, concepts
CSS Isn’t Broken—You Just Never Read the Docs18350
css, documentation, cascade, layout, presentational-html
We Cannot Talk About AI Without Talking About Capitalism, Fascism, and Liberty (chr)18349
ai, economics
WCAG 3.0’s Proposed Scoring Model: A Shift in Accessibility Evaluation (sma)18348
accessibility, auditing, compliance, wcag
React Compiler Explained in 3 Minutes (Goodbye, Re-Renders) (bet)18347
videos, react, compiling
npm Targeted by Malware Campaign Mimicking Familiar Library Names (soc)18346
npm, malware, security, dependencies, link-lists
CSS “shape()” Commands (geo/css)18345
css, functions, shapes, clipping
Easier Layout With “margin-trim” (jen/web)18344
css, margins, spacing, safari, browsers
SSR vs. SSG vs. CSR vs. ISR—Rendering Performances Compared (ele/des)18343
guest-posts, server-side-rendering, static-site-generation, client-side-rendering, incremental-static-regeneration, comparisons
Use CSS “reading-flow” for Logical Sequential Focus Navigation (rac)18342
css, flexbox, grids, layout, accessibility
PHP 8.4’s New “Dom\HTMLDocument” in Diffs (lia)18341
php
Node.js Next 10 Survey 2025 (nod)18340
surveys, nodejs
New to the Web Platform in April (rac)18339
release-notes, web-platform, browsers, chrome, firefox, safari
Interop Unites Browser Makers to Smooth Web Inconsistencies18338
interoperability, web-platform, browsers, consistency
What’s New in Astro—April 2025 (sar)18337
release-notes, astro
Why the US Is Slamming the Door on Indian Tech Talent18336
career, hiring
Stop Hiding Bad Code Behind Good Tooling18335
tooling, quality, craft
The Story of Fastify and Vue (ano)18334
fastify, vuejs, complexity, simplicity
The “cite” Element (hey)18333
html, semantics
Revisiting Image Maps (mal/css)18332
images, image-maps, html, techniques
npm Should Remove the Default License From New Packages (ISC) (ext)18331
npm, dependencies, licensing, foss
Keyboard Navigation: Ensuring Usability Without a Mouse18330
accessibility, usability, keyboard-navigation, testing
JavaScript, When Is This? (wil/pic)18329
javascript
How to Detect Memory Leaks in Your Web App18328
how-tos, videos, web-apps, memory, debugging, angular
Event Handling in JAWS and NVDA (sib/tpg)18327
accessibility, screen-readers, jaws, nvda, events, javascript, comparisons
Done With Components (don)18326
design-systems, components
Disclosures and Accordions (web)18325
disclosure-widgets, accordions, accessibility
Tools of the Trade: Accessibility Without the Cost (web/equ)18324
accessibility, tooling, linting, testing
Seeking an Answer: Why Can’t HTML Alone Do Includes? (chr/fro)18323
html, maintainability
Organizational Scaffolding for Accessible Design and Content (sta/a11)18322
videos, interviews, accessibility, processes, tooling, culture
Intro to E2E Testing With Cypress (ng)18321
videos, introductions, testing, cypress
How Keyboard Testing Improves Digital Accessibility (mic/deq)18320
accessibility, keyboard-navigation, testing
[GSAP] 3.13 Release (cas/gsa)18319
release-notes, gsap
Good vs. Great Animations (emi)18318
animations, css, transforms, transitions, radix
Giving V8 a Heads-Up: Faster JavaScript Startup With Explicit Compile Hints18317
v8, javascript-engines, javascript, compiling
Focus Priming (tem)18316
accessibility, focus
Converting Values to Strings in JavaScript (rau)18315
javascript, conversion
Automated Accessibility Test Tools Find Even Less Than Expected18314
accessibility, testing, automation, metrics
Angular Unit Tests Distilled (rai/ng)18313
videos, angular, testing
7 Programming Myths That Waste Your Time (fir)18312
videos, programming, productivity, efficiency, myths
The Guide to MCP I Never Had18311
guides, mcp, ai
I Tried 50 AI Tools—Here’s How AI Is Changing the Way We Design18310
design, ai, tooling
Ignoring Character Limits Can Wreck Your Product’s UX18309
design, user-experience, internationalization, localization
The 4 Motivations for Accessibility—the Big “Why?”18308
accessibility, economics, legal, dei
What Is [the] CSS Owl Selector (“* + *”)? (zor/css)18307
videos, css, selectors
The Future of Web Design: Will We Even Recognize It in 100 Years? (web)18306
design, outlooks
The “canvas” Element (hey)18305
html, canvas, semantics
React Internals: Which “useEffect” Runs First? (fro)18304
react, hooks
Node.js Streams With TypeScript18303
nodejs, streaming, typescript, examples
Menu and Navigation: The Difference (stv)18302
navigation, pagination, html, aria, accessibility
Giving Software Away for Free (sim)18301
foss, hosting, html, javascript
Deno’s Decline (6 Regions and Falling) (db)18300
deno
Anchor Positioning Just Don’t Care About Source Order (geo/css)18299
css, anchor-positioning, source-order, html
A11y 101: 1.4.11 Non-Text Contrast (nat)18298
introductions, wcag, accessibility, contrast, colors
Design System Documentation Is Essential—as Long as It’s Good (pjo)18297
design-systems, documentation, content, writing, principles
Craft and Satisfaction (jim)18296
craft, ai
Running Clojure in Wasm (rom)18295
clojure, webassembly
Cybersecurity Leaders Are Staying in the Shadows (ste)18294
security, community, culture
8 CSS Shorthands That Instantly Clean Up Your Code (let)18293
css, shorthands
Bias in Design Systems (ben)18292
design-systems, documentation, collaboration, processes
Frontend’s Next Evolution: AI-Powered State Management18291
state-management, ai, outlooks
Forget the AI Hype—Here’s How Real AI Agents Are Built to Solve Real Problems18290
videos, ai, ai-agents
Every Developer Needs to Self-Host18289
self-hosting, learning
AI Writes My Code for Me18288
ai, productivity, career
CSS Boilerplate (mat)18287
css, templates
Why Care About the No-JS Experience? (cfe)18286
javascript, support
Using View Transitions in Next.js (jac)18285
nextjs, view-transitions, css
Unlocking Accessibility: Frontend Developers Discuss Semantic HTML and Accessible Code18284
accessibility, semantics, html, community
Advancing Accessibility Standards (acc)18283
accessibility, standards
Add JSR Packages With pnpm and Yarn (lca/den)18282
jsr, pnpm, yarn
I Broke the Disabled Button (hom)18281
buttons, accessibility, retrospectives
Catching Up on Accessibility With AI Chat18280
accessibility, ai
Polishing Your Typography With Line Height Units (jen/web)18279
typography, css, units
“input type="color"” (kev)18278
html, forms, colors
HTML Oddities: Does the Order of Attribute Values Matter? (ede)18277
html, attributes, css, selectors
A Decade of SolidJS (rya/thi)18276
solidjs, retrospectives, libraries
JavaScript Framework Reality Check: What’s Actually Working18275
javascript, frameworks, qwik, solidjs, sveltekit, fresh
Salesforce and Shopify CEOs Just Declared War on Human-Only Teams (pet)18274
shopify, ai, career, economics
Mastering HTML: The Art of Minimal and Valid Code in Professional Web Development (AI Edition) (j9t)18273
guest-posts, html, minimalism, conformance, semantics, interoperability, accessibility, standards
The Problem(s) With Image Accessibility18272
accessibility, images, alt-text, html
Polypane 24: Recording, 3D View, Custom Tab Colors, and HTML Editing (pol)18271
release-notes, polypane, browsers
Making a Small JavaScript Blog Static Site Generator Even Smaller Using the General “async-tree” Library (jan)18270
static-site-generation, javascript, tooling
How to Write Unit Tests in Node.js Using Mocha (app)18269
how-tos, testing, nodejs, tooling
How Documentation Analytics Can Help You Prioritize Design System Improvements18268
design-systems, documentation, analytics
Break Google’s Search Monopoly Without Breaking the Web (owa)18267
google, search, chrome, browsers, web-platform, open-web
Binary Formats Are Better Than JSON in Browsers18266
json, libraries, performance, comparisons, metrics
10 Tips for Junior Developers to Effectively Use LLMs and AI (owe/pro)18265
ai, tips-and-tricks
Next Steps for Privacy Sandbox and Tracking Protections in Chrome18264
chrome, browsers, privacy, cookies
Newfangled Browser Alternatives (chr/fro)18263
browsers, arc, orion, vivaldi, brave, comparisons, link-lists
Leveraging the JavaScript Framework qooxdoo for Rich Internet Applications That Don’t Suck​18262
qooxdoo, rich-internet-apps
Contextual Logging With “console.context()” (pat)18261
console, javascript, dev-tools, browsers
What Is llms.txt, and Should You Care About It? (ahr)18260
ai, crawling, llmstxt, robotstxt
Why I’m Not Ready to Abandon JavaScript for “Faster” Languages18259
javascript, rust, go, refactoring, performance
Impossible Components (dan)18258
components, react, state-management
Google Won’t Ditch Third-Party Cookies in Chrome After All (rwh/ars)18257
chrome, google, browsers, cookies
Eleventy: A GitHub Workflow to Check if an Automated Dependency Update Would Break Your Site (j9t)18256
eleventy, dependencies, nodejs, automation, github-actions
Creating CSS Theme Variables From a JS File (mic)18255
css, theming, custom-properties, javascript, conversion
Everything’s a Vibe: Is It Progress or Just an Illusion?18254
vibe-coding, ai, user-experience
The Oppressive Foundation of Minimalist Design18253
design, minimalism
11 Practical Ways I Use AI Agents Without Losing My Authenticity (bla/ope)18252
ai, ai-agents, creativity, processes, examples
The Open-Source Stack for AI Agents18251
ai, tech-stacks, foss, tooling, link-lists
How Accessibility Audits Are Shaping the Future of User-Centered Design (uxm)18250
accessibility, auditing, usability, seo, compliance, branding, user-conversion
When to Use “map()” vs. “forEach()”18249
javascript, arrays, comparisons
Unlocking 7 Hidden Benefits Through Web Site Redesign (uxm)18248
redesigning, user-experience, user-conversion, economics, maintainability, accessibility, usability, branding
The European Accessibility Act: What Businesses and App Developers Need to Know18247
accessibility, eaa, legal
How to Validate Ideas Faster With No-Code Prototypes (uxm)18246
how-tos, design, low-and-no-code, prototyping
How to Meet SC 2.5.3 “Label in Name” (tpg)18245
how-tos, accessibility, wcag, labels, forms
Color Contrast and Readability: The Cornerstones of Accessible Design18244
accessibility, design, colors, contrast, readability, wcag
Buttons vs. Links: What’s the Difference and Why Does It Matter?18243
videos, buttons, links, usability, comparisons
A11y 101: 1.4.10 Reflow (nat)18242
introductions, accessibility, wcag, reflow
A Web Component UI Library for People Who Love HTML (cfe)18241
libraries, web-components
Why Use Personal OKRs (cwo)18240
okr, career, processes
Web Typography: A Refresher and History (zel)18239
typography, history, link-lists
LangChain + MCP + RAG + Ollama = the Key to Powerful Agentic AI18238
ai, langchain, mcp, rag, ai-agents, tooling
We Don’t Merge Into a Broken Master Branch (yeg)18237
code-reviews, version-control
“Pretty” Is in the Eye of the Beholder (geo/css)18236
typography, css, browsers, support, chrome, safari
Why Every Web Designer Secretly Hates Their Past Work (web)18235
career, design
What Does It Really Mean for a Site to Be Keyboard Navigable (sma)18234
accessibility, keyboard-navigation, focus, skip-links
Vibe Coding Is Not an Excuse for Low-Quality Work (add)18233
vibe-coding, ai, quality
State of Devs 2025 (sac/dev)18232
surveys, career
Keeping It on the “<dl>”—Another HTML Gem You Never Use (cod)18231
html, lists, semantics
How I Run Eleventy (It’s Complicated?) (j9t)18230
eleventy
Fixing Vercel’s Landing Page18229
design, effects, landing-pages, vercel
State of AI 2025 [Results] (sac/dev)18228
surveys, metrics, ai
WCAG in Plain English (aaa)18227
accessibility, wcag, guides
So, You Want to Give Up CSS Pre- and Post-Processors… (zel/css)18226
css, preprocessors, postprocessors, tailwind, lightning-css
“:only-child” (kev)18225
css, selectors
How to Write Error Messages That Actually Help Users Rather Than Frustrate Them (amy/pic)18224
how-tos, writing, microcontent, errors, usability, user-experience
Fostering an Accessibility Culture (dad/sma)18223
accessibility, training, culture, processes
Creating an Accessible Accordion With HTML Description Lists (kar)18222
accessibility, html, lists, accordions
Contribute to the 2025 Web Almanac18221
web-almanac, web-platform, community
AI Overviews Reduce Clicks by 34.5% (ahr)18220
ai, search, google, seo, metrics
Image Alt Text Guide: How to Write and Add Image Alt Text Reference18219
guides, accessibility, user-experience, seo, alt-text, images, shopify
The Best Node.js Observability Tools in 2025: N|Solid vs. New Relic, Datadog, and More (nod)18218
nodejs, observability, tooling, nsolid, opentelemetry, comparisons
State of AI [Results]18217
surveys, metrics, ai
The Best CSS One-Liner to Improve Performance in 202518216
css, performance
What Happens When a Program Calls Sleeps?18215
videos, programming
Using CSS “backdrop-filter” for UI Effects (pre/css)18214
css, filters, effects
Serverless Is a Scam18213
serverless, containerization, comparisons
Out of Order (don)18212
css, positioning, design
Optimizing Node.js Performance: V8 Memory Management and GC Tuning (mco/pla)18211
nodejs, performance, optimization, v8, javascript-engines, javascript, memory, garbage-collection
“oklch()” (ada)18210
css, colors, functions, oklch
Navigating the 2026 ADA Guidelines (ter+)18209
videos, guidelines, accessibility, ada, legal
Memoizing the Cache in Laravel (ami)18208
laravel, caching, memoization
Local SEO vs. National SEO vs. Global SEO: A Strategy Guide (sem)18207
guides, seo, strategies, comparisons, tooling
How to Begin a WordPress Blog: A Step-by-Step Guide for Beginners18206
guides, wordpress, blogging
Google Is Ending Support for Country-Code Google Domains Like google.fr or google.co.uk18205
google
Can LLMs Earn $1M From Real Freelance Coding Work?18204
ai, programming, engineering-management, quality, economics
Aaron D. Campbell [on] Why Open Standards and WordPress Matter (aar+)18203
podcasts, interviews, standards, wordpress
5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t)18202
html, performance, optimization
Firefox 137.0.2 Is a Big Bug Fix and Security Update Release18201
firefox, browsers
Threat Actors Misuse Node.js to Deliver Malware and Other Malicious Payloads18200
nodejs, security, malware
Testing Methods—Pre-Recorded Captions (dec)18199
accessibility, testing, captions, multimedia, link-lists
Principles for Coding Securely With LLMs (sea)18198
ai, security, principles
Why You Need to Know Your Site’s Performance Plateau (and How to Find It) (tam/spe)18197
performance, metrics, concepts
Tech Hiring: Is This an Inflection Point? (ger)18196
hiring, interviewing, career, ai
SvelteKit Is the Best Way to Build Single Page Apps—and It Just Got Even Better18195
videos, sveltekit, single-page-apps
[Records and Tuples] Proposal Is Withdrawn (ash)18194
ecmascript
Inclusive Dark Mode: Designing Accessible Dark Themes for All Users (sma)18193
accessibility, design, dark-mode
Advanced React in the Wild (add)18192
react, nextjs, performance, case-studies
Hako18191
javascript-engines
TLS Certificate Lifetimes Will Officially Reduce to 47 Days18190
tls, certificates, security
The Post-Developer Era (jos)18189
ai, code-editors, tooling, outlooks, career
Next Level CSS Styling for Cursors (val/css)18188
css, javascript, cursors
Getting Specific About CSS Specificity (kat)18187
css, selectors, cascade
Float16Array in JavaScript (tre)18186
javascript, arrays
Accessible Forms: Tips and Techniques18185
accessibility, forms, labels, keyboard-navigation, errors, testing, tips-and-tricks, techniques
A11y 101: 1.4.5 Images of Text (nat)18184
introductions, accessibility, wcag, images, alt-text
14 Web Performance Tips for 2025 (sia)18183
performance, web-vitals, culture, tips-and-tricks
10 Figma Hacks I Wish I’d Known Earlier (and You Should Know Now)18182
figma
Deploying TypeScript: Recent Advances and Possible Future Directions (rau)18181
typescript, deploying
LLMs Can’t Stop Making Up Software Dependencies and Sabotaging Everything (tho/the)18180
ai, dependencies, security, slop
Is “Ethical AI” an Oxymoron? (hdv)18179
ai, ethics, licensing, sustainability
How to Hire (hvp)18178
how-tos, hiring, engineering-management, career
A Flowing WebGL Gradient, Deconstructed18177
webgl, gradients, javascript, math
7 React Patterns That Made Me a Better Front-End Developer18176
react, hooks, props, software-design-patterns
Tooltip Should Not Start an Accessible Name18175
accessibility, tooltips
The Case for Web Components With Lit18174
web-components, lit, typescript, micro-frontends
The Case for Angular18173
angular, typescript
Never Lose a “z-index” Battle Again (mat)18172
css, positioning
How to Use GenAI With OKRs (Without Letting It Think for You) (cwo)18171
how-tos, ai, okr, prioritization, processes
Default Styles for “h1” Elements Are Changing (zco/mdn)18170
html, css, headings, browsers
Significant Performance Improvements With Edge 13418169
edge, browsers
Tailwind’s “@apply” Feature Is Better Than It Sounds (zel/css)18168
tailwind, sass, mixins, comparisons
Stop Writing If–Else Trees: Use the State Pattern Instead18167
programming, software-design-patterns, conditionals
7 UI/UX Principles Every Dev Should Know18166
design, user-experience, principles
Why Do AI Company Logos Look Like Buttholes?18165
design, logos, comparisons
Using “currentColor” in 2025 (chr/fro)18164
css, colors
Preventing N+1 Issues Globally in Laravel Using Auto Eager Loading (ami)18163
laravel, php
No Code Is Dead. Long Live Vibe Coding. (auc)18162
low-and-no-code, vibe-coding
Mastering Default Values in JavaScript With the Nullish Coalescing (“??”) Operator18161
javascript, operators
Exploring TypeScript: TS 5.8 Edition (rau)18160
books, typescript, javascript
Developer Ecosystem 2025 (jet)18159
surveys, code-editors, tooling, ai
Automated WCAG Testing Is Grrreat! (aar)18158
accessibility, wcag, testing, automation
5 Ways to Reduce HTML File Size on Your Website (deb)18157
html, minification, compression, performance, optimization
VS Code Agent Mode Just Changed Everything (bur/vsc)18156
videos, vs-code, code-editors, ai
Deploy Angular and Next.js Apps With App Hosting, Now GA (fir)18155
firebase, hosting, deploying, angular, nextjs, web-apps
Two Decades of Git: A Conversation With Creator Linus Torvalds (tor)18154
videos, interviews, git, history
Be the Node You Want to See in the Network (sur)18153
network
Just Say the Word—Try Our New AI Website Builder for Free (nee/wor)18152
wordpress, ai, tooling
Secure a Vue App With OpenID Connect and the BFF Pattern (due)18151
vuejs, security, authentication, backend-for-frontend
Zero-Config Debugging With Deno and OpenTelemetry (lca/den)18150
debugging, deno, opentelemetry, logging, tracing, metrics, observability
What It Means to Shift Left on Accessibility and How to Do It Right (lul)18149
accessibility, dei, design, culture, processes, collaboration, project-management, content-strategy, quality, training
To “light-dark()” or Not to “light-dark()” (web)18148
videos, css, functions, dark-mode
Thin Fonts Are a Usability Nightmare—and Finally, Designers Are Waking Up (web)18147
fonts, typography, usability, accessibility, design
The Untold Story of Git18146
videos, git, svn, cvs, version-control, history
The “min()” and “max()” Functions (kev)18145
css, functions
Stretching Google’s Prefetching (paw)18144
signed-exchanges, experiments, chrome, google, browsers
Project IDX Is Now Part of Firebase Studio (fir)18143
firebase, project-idx
Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil+)18142
podcasts, interviews, wordpress, apis, html, dom
How to Build a Multi-Tenant SaaS Application With Next.js18141
how-tos, nextjs, authorization, state-management, zustand
History of the Web: Chris Lilley (svg+/iga)18140
videos, interviews, web-platform, history
Event Versioning Strategies for Event-Driven Architectures (the)18139
architecture, events
Custom Progress Element Using the “attr()” Function (css/fro)18138
css, functions, progress-indicators, gradients
CSS Naked Day 2025 (mey)18137
awareness-days, css
CSS Carousels (geo/css)18136
css, carousels
Comparison Tables: 5 Scenarios When Not to Use Them18135
videos, information-design, tables, usability
Automated Accessibility Testing: Strengths and Limits18134
accessibility, testing, automation, comparisons
ARIA in HTML (sco+/w3c)18133
standards, accessibility, aria, html
10 Hard Truths Every Dev Must Learn in 202518132
career, tips-and-tricks, programming
Better Typography With “text-wrap: pretty” (jen/web)18131
typography, css, webkit, browser-engines, browsers, safari
Your Frontend, Backend, and Database—Now in One Cloudflare Worker18130
cloudflare, tooling
Background Image Opacity in CSS (jim)18129
css, backgrounds, images, transparency+opacity
Use “shape()” for Responsive Clipping (nom)18128
css, functions, shapes, clipping, responsive-design
Strings Are a Leaky Abstraction for HTML (joe)18127
html, strings
Engineering Managers Hold the Key to Effective Team Collaboration18126
engineering-management, collaboration, processes
Why I Value Firebreak Sprints for Managing Technical Debt (tre)18125
technical-debt, maintenance, processes
Using ARIA Landmarks for Better Navigation18124
navigation, keyboard-navigation, aria, accessibility
Top 5 CSS Navigation Menu Mistakes (zor/css)18123
navigation, css, mistakes, usability
React Server Confusion (ano)18122
react, components, vite, fastify
React Reconciliation: The Hidden Engine Behind Your Components18121
react, dom, components
How to Select a UX Metric18120
how-tos, user-experience, metrics, best-practices
CSS Naked Day (car)18119
awareness-days, css
CSS Naked Day 2025 (fyr)18118
css, awareness-days
10 Things You Should Know as a Next.js Developer (That No One Tells You) (pri)18117
nextjs
Creating a Software Engineering Culture18116
culture, leadership, engineering-management
UX Localization: Adapting Experiences to Users Worldwide (uxm)18115
user-experience, localization, testing
Designing AI for Cultural Diversity (uxm)18114
design, ai, dei, culture
Design for the AI Age18113
design, ai
A11y 101: 1.4.4 Resize Text (nat)18112
introductions, accessibility, wcag, resizing
How Israel’s War in Gaza Changed Big Tech (mid)18111
microsoft, google, amazon, palantir, oracle, vercel, legal
The Precise Language of Good Management18110
engineering-management, communication
Some Features That Every JavaScript Developer Should Know in 202518109
javascript, arrays, promises, prototypes, variables
Dropping Support for Twitter/X (fro)18108
frontend-dogma, twitter+x, social-media
A Note About WCAG Conformance Levels (dec)18107
accessibility, wcag, compliance
Making Node.js Downloads Reliable (nod)18106
nodejs, reliability, refactoring, case-studies
WebAIM Million Results Show That Shopping Sites Have Worst Accessibility (cer)18105
webaim, metrics, accessibility, ecommerce
Tweaking Text Level Styles, Reprised (aar)18104
html, css, accessibility, support, browsers, screen-readers
Hiding Elements That Require JavaScript Without JavaScript (0xd)18103
javascript, css, html
Cover Flow With Modern CSS: Scroll-Driven Animations in Action (add)18102
css, animations, transforms, scrolling, effects, history
The Future of Redwood Launches Today (red)18101
redwoodjs
The Blissful Zen of a Good Side Project (col)18100
learning, creativity
The Best Programmers I Know (mre)18099
career, programming, culture
Teaching Code in the AI Era: Why Fundamentals Still Matter (ali)18098
training, ai, programming, vibe-coding, security, scalability, performance, quality, testing, documentation
Open-Source Is Just That (val)18097
foss, community, culture
Lessons Learned From My First Dive Into WebAssembly18096
lessons, webassembly
Introducing Bulk Suppressions (esl)18095
eslint
How to Track and Analyze Your AI Traffic (lou/ahr)18094
how-tos, traffic, ai, analytics, google
The Importance of Alt Text for Images18093
alt-text, images, accessibility, dei, compliance, legal, seo, user-experience
Software Architecture for Developers (dic)18092
architecture, software-design
Overengineered Anchor Links18091
links, effects, techniques
First Look at the Modern “attr()” (sha)18090
css, functions, attributes, feature-detection
CSS-Only Glitch Effect18089
css, html, effects
CSS Bursts With Conic Gradients (chr/fro)18088
css, gradients, examples, effects
Making “:visited” More Private18087
css, selectors, privacy, chrome, browsers
Debugging JavaScript Memory Leaks (jar/bun)18086
javascript, memory, debugging, dev-tools, chrome, browsers, bun
Four Rules for How Design Influences Technology18085
design, product-management, examples
TypeSpec 1.0-RC: Design Faster Today, Scale Easier Tomorrow18084
apis, tooling
Google, Amazon, and Microsoft Allegedly Complicit in War Crimes Amid Israel’s War in Gaza (bus)18083
google, amazon, microsoft, ai, legal
Mastering Cross-Framework State Management in Micro-Frontends (ele/des)18082
guest-posts, architecture, frameworks, state-management, micro-frontends, scalability, strategies
How I Found My Own Path as an Introverted Engineering Manager18081
engineering-management, career
Your AI UX Intern18080
videos, ai, user-experience, concepts
SMIL On? (geo/css)18079
smil, browsers, support
Robust Accessibility and Artificial Intelligence (AI) (ger)18078
accessibility, ai
Digital Accessibility Is a Civil Right (kar)18077
accessibility, legal, ada, wcag, economics
Building a Drupal to Storyblok Migration Tool: An Engineering Perspective (edo/sma)18076
migrating, tooling, drupal
Automated vs. AI vs. Manual Testing—Text Alternatives (dec)18075
accessibility, testing, automation, ai, comparisons
AI and Accessibility: Opportunities and Challenges for Content Creators18074
accessibility, ai, content
A Guide to Alt Text Across Popular Tools (pop)18073
guides, alt-text, accessibility, images, tooling
New in Chrome 135 (rac)18072
release-notes, chrome, browsers
Firefox Release Notes [Firefox 137.0] (moz)18071
release-notes, firefox, browsers
What’s the Difference Between WCAG, the EAA, and EN 301 549? (tpg)18070
accessibility, wcag, eaa, en-301-549, legal, standards, comparisons
How GenAIs Build Diverging Color Schemes18069
design, colors, color-palettes, ai, gemini
Prioritizing Accessibility Bugs for Maximum Impact (civ)18068
accessibility, prioritization, wcag, bugs
React 19’s New Hooks: With Practical Examples (let)18067
react, hooks, javascript, examples
Stop Using Jenkins in 2025 (oso)18066
jenkins, github-actions, ci-cd, security
Micro-Scrum (j9t)18065
agile, scrum, processes, simplicity
Implementing Multi-Brand Theming With Style Dictionary (stu)18064
theming, branding, design-tokens, tooling
A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript18063
npm, dependencies, history, javascript
WebKit Features in Safari 18.4 (jen+/web)18062
release-notes, safari, browsers, webkit
New to the Web Platform in March (rac)18061
release-notes, web-platform, browsers, firefox, safari, chrome
How Does Chrome Prioritize Image Requests? (deb)18060
chrome, browsers, images, performance
How AI Agents Are Quietly Transforming Frontend Development18059
ai, ai-agents, processes, developer-experience, collaboration
Static PHP Builds via GitHub Actions (jos)18058
php, github-actions
The WebAIM Million: The 2025 Report on the Accessibility of the Top 1,000,000 Home Pages (web)18057
studies, research, accessibility, homepages, metrics
12-Factor Agents—Principles for Building Reliable LLM Applications18056
ai, principles, reliability
In Defense of Ruthless Managers (sea)18055
engineering-management, culture
You Don’t Know Git (eth/ndc)18054
videos, git, command-line
There Is No Vibe Engineering18053
vibe-coding, programming, software-design
Testing Tools for Accessibility Enhancement II18052
videos, accessibility, testing, tooling
State of Drupal Presentation (dri)18051
drupal
Poisoning Well (hey)18050
ai, crawling, robotstxt, content
Node.js Test CI Security Incident (nod)18049
nodejs, security, retrospectives
Design Isn’t Dead—You Sound Dumb18048
design, user-experience, ai
Resolving Invalid Custom Tailwind Classname ESLint Warning (ama)18047
tailwind, css, eslint
My Favorite Tools for Web Accessibility Testing (ale)18046
accessibility, testing, tooling, link-lists
Minimal CSS-Only Blurry Image Placeholders (kal)18045
images, placeholders, backgrounds, css, techniques
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)18044
deno, oracle, javascript, legal, history
Browser Choice Is an Accessibility Consideration (bee)18043
browsers, accessibility, chromium
Breaking Down Circular Dependencies in JavaScript18042
javascript, dependencies
React Email 4.018041
react, email, tooling
Mastering Typography in Design Systems With Semantic Tokens and Responsive Scaling18040
typography, design-systems, design-tokens, semantics, responsive-design, scaling
Meet llms.txt, a Proposed Standard for AI Website Content Crawling (sea)18039
ai, crawling, scraping, llmstxt, robotstxt
Robots Refresher: Future-Proof Robots Exclusion Protocol (met)18038
robotstxt
Markup Languages (j9t)18037
overviews, link-lists, sgml, html, xml, xhtml, hdml, dhtml, mathml, wml, chtml
Item Flow: A New Unified Concept for Layout (sar+/web)18036
css, layout, grids, flexbox, masonry
Interop 2025—Which Browser Features to Get Acquainted With This Year and Why You Should Care (uti/iod)18035
interoperability, support, browsers, web-platform
How to Set Up TypeScript With Node.js and Express (log)18034
how-tos, typescript, nodejs, express
How to Easily Reproduce a Flaky Test in Playwright (cha)18033
how-tos, playwright, testing, flakiness
Expanding CSS Shadow Effects (pre/fro)18032
css, shadows, effects
Could JavaScript Have Synchronous “await”? (rau)18031
javascript, asynchronicity
Automated Visual Regression Testing With Playwright (css)18030
regressions, testing, automation, playwright, javascript
Scrum Not Working? Try It as Is Before You Modify It (ste)18029
scrum, agile, processes
Website Hijack Campaign Now Impacting 150,000 Sites (gad)18028
security
5 GitHub Actions Every Maintainer Needs to Know (kli)18027
github-actions, github, tooling, automation, maintenance
Online Tracking Is Out of Control—Privacy Badger Can Help You Fight Back (eff)18026
privacy, tooling, browser-extensions, eff
Mind the WCAG Automation Gap (ste)18025
accessibility, automation, wcag
If It Works, It’s Right (bel/pic)18024
css
How to Write Blog Posts That Developers Read (mtl)18023
how-tos, writing, blogging
How to Conduct an Accessibility Audit: A Step-by-Step Guide18022
how-tos, guides, accessibility, auditing, processes
What’s New in WebGPU (Chrome 135)18021
release-notes, webgpu, chrome, browsers
JavaScript’s Missing Link: Wasp Offers Full Stack Solution18020
wasp, javascript, frameworks, history
What’s the Future of Platform Engineering? (ma1+)18019
videos, platform-engineering, outlooks, ai
Jo Minney on Website Usability Testing for WordPress Projects (jom+)18018
podcasts, interviews, wordpress, usability, testing
Direct Access vs. Sequential Access: Why Direct Is Better (nng)18017
videos, usability
Malware Found on npm Infecting Local Package With Reverse Shell (rev)18016
npm, dependencies, security
Eleventy—Use Passthrough File Copy to Add Assets (w3t)18015
eleventy, configuration
AI Won’t Take Your Job—but Someone Who Uses It Better Than You Will (cwo)18014
ai, career, tooling, learning
[“a:focus-visible”] (ada)18013
css, focus, links
React Query API Design: Lessons Learned (tkd)18012
videos, lessons, react, apis, state-management, data-fetching, tanstack
Land Ahoy: Leaving the Sea of Nodes18011
v8, javascript-engines, javascript, compiling
You Should Know This Before Choosing Next.js (edu)18010
nextjs, vercel, frameworks
The Case for “Old School” CSS (hui)18009
css, drupal, twig
“input type="number"” (kev)18008
html, forms
Artificial Intelligence Needs Community Intelligence (all)18007
videos, ai, community
A11y 101: 1.4.3 Contrast (Minimum) (nat)18006
introductions, accessibility, wcag, contrast, colors, apca
War Story: The Hardest Bug I Ever Debugged (jak)18005
debugging, javascript, v8, chrome, browsers, bugs
Is Vibe Coding Agile or Merely a Hype? (scr)18004
processes, ai, vibe-coding, agile
UX or PX? Why Naming Matters18003
user-experience, naming
The “<select>” Element Can Now Be Customized With CSS (arg)18002
forms, css
Support Logical Shorthands in CSS (geo/css)18001
css, logical-properties, shorthands
Mission jQuery Zero: How FreeAgent Removed jQuery From Our Application (fre)18000
refactoring, jquery, technical-debt, maintenance
Layered Text Headers (chr/fro)17999
typography, css, svg, shadows
Expressing Japanese Grammar Through TypeScript Type System17998
typescript, types, localization
“aria-label” Is a Letdown (thi/wag)17997
accessibility, aria, labels, html
When Do Retry, Backoff, and Jitter Work?17996
dev-ops, concepts
Whose Design Process?17995
design, ai, creativity, processes
Directives: A Core Feature of the Angular Toolkit17994
angular, extensibility
Grid First, Flex Third (fim)17993
css, layout, grids, flexbox
AI Is the Future of Accessibility (kar)17992
accessibility, ai, outlooks
Is Vite Faster Than Turbopack?17991
nextjs, webpack, turbopack, vite, rollup, rolldown, bundling, performance, comparisons
Collecting Code Coverage in Node.js (nod)17990
nodejs, code-coverage
UI Algorithms: A Tiny Undo Stack (jul)17989
javascript, algorithms, functionality, undo-redo
How Navigation Should Work for Keyboard Users (tem)17988
navigation, keyboard-navigation, focus, accessibility
Holographic Masks (hej)17987
code-pens, css, gradients, blend-modes, effects
Don’t Use Scores From Automatic Tools in Your Accessibility Statement (cer)17986
accessibility, documentation, compliance, tooling
How to Create Quality Content (Follow Our 5-Level Framework) (tim/ahr)17985
how-tos, content, microcontent, seo, sem
Cracking the Code of Vibe Coding17984
programming, processes, ai, vibe-coding, craft, technical-debt, design-debt
Cursor, “Vibe Coding,” and Manus: The UX Revolution That AI Needs17983
ai, chatgpt, cursor, history, vibe-coding, user-experience
This Is the Optimal Team Size That Improves Performance by 400%17982
engineering-management, productivity
The Software Engineering Identity Crisis (cod)17981
career, craft, ai, vibe-coding
Revisiting CSS “border-image” (mal/css)17980
css, borders, images, data-urls
Previewing Content Changes in Your Work With “document.designMode” (sma)17979
browsers, dev-tools, javascript, content, design
Mitigating Browser Fingerprinting in Web Specifications (npd+/w3c)17978
standards, privacy, fingerprinting, browsers, w3c
JavaScript Basics for a Senior Dev17977
fundamentals, concepts, javascript, examples
Create an HTML Dialog When You Click an Image (cas)17976
html, images, modals
Where Frontend Dogma Gets Its News From (j9t)17975
cross-posts, frontend-dogma, community, link-lists
Five Things Vibe Coders Should Know (From a Software Engineer)17974
vibe-coding, security, sanitization, rate-limiting
Web Accessibility Requirements in the EU (mar)17973
accessibility, eaa, legal, compliance, history, metrics
How WebAssembly Components Can Replace JavaScript SDKs (sac)17972
webassembly, components, javascript
One Thing “@scope” Can Do Is Reduce Concerns About Source Order (chr/fro)17971
css, scope, source-order
Carousels With CSS (arg)17970
css, carousels, scrolling
The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom)17969
html, attributes, browsers, support, web-platform
SSR Deep Dive for React Developers17968
deep-dives, server-side-rendering, react, javascript
Testing Design Systems in 2025 (blv)17967
design-systems, testing, storybook, vitest
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead17966
fundamentals, javascript, frameworks, react, vuejs, angular, svelte, solidjs
Revisiting Fluid Type (ric+/odd)17965
videos, interviews, typography, fonts, responsive-design
Quick Reminder That “:is()” and “:where()” Are Basically the Same With One Key Difference (geo/css)17964
css, selectors, cascade
My Thoughts on Asynchronous Accessibility APIs (jcs)17963
accessibility, asynchronicity, apis
Keyword Research for SEO in 2025: Step-By-Step Tutorial17962
videos, keywords, seo, google, tooling
Cowardly Defaults and Courageous Overrides With Modern CSS (tyl/clo)17961
css, presentational-html, cascade
Composite vs. Simple Tokens17960
design-tokens, comparisons, terminology, maintainability
Generate Growing Images Using Gemini API17959
images, ai, gemini, apis
Minding the Gaps: A New Way to Draw Separators in CSS (pat)17958
css, borders
Introducing Motion for Vue (cit)17957
introductions, animations, tooling, vuejs
Why UI Automation Is Insufficient as an Accessibility API for the Web (jcs)17956
accessibility, automation, microsoft
Vibe Coding and CHOP: What You Need to Know About AI-Driven Development (big/gra)17955
ai, vibe-coding, processes, tooling
Understanding the European Accessibility Act (EAA) (tin/tet)17954
eaa, legal, accessibility
The Bare Minimum You Need to Enable View Transitions on Your Website (ami)17953
html, css, view-transitions, minimalism
Style Legend (ada)17952
forms, css
Quick Accessibility Wins That Are Easy to Implement (kev)17951
videos, accessibility, html, semantics, alt-text, images, contrast, colors, keyboard-navigation, focus, skip-links
Not All AI-Assisted Programming Is Vibe Coding (but Vibe Coding Rocks) (sim)17950
programming, processes, ai, vibe-coding
Node.js TSC Votes to Stop Distributing Corepack (sar/soc)17949
nodejs, corepack
Naming Things in Design Systems—and Why It’s the Worst (pjo)17948
design-systems, naming, components
GitHub Suffers a Cascading Supply Chain Attack Compromising CI/CD Secrets (inf)17947
github, security, ci-cd
How to Think About Baseline and Polyfills (mal)17946
how-tos, support, browsers, web-platform, polyfills
Designing Design Systems: A Framework for Names, Terms, and Definitions17945
design-systems, naming, documentation, processes
Twenty Twenty-Five Theme: The Ultimate Guide (abr)17944
guides, wordpress, themes
Self Gap (sha)17943
css, flexbox, layout
Reducing CSS Complexity With the “:is()” Pseudo-Class (cfe)17942
css, selectors, complexity
Polite Is Often Better Than Being Alerted (oze)17941
accessibility, aria, screen-readers
Past and Present Futures of User Interface Design17940
design, desktop, history, outlooks
Next.js vs. TanStack17939
nextjs, tanstack, comparisons
Downtime vs. Slowtime: Which Costs You More? (tam/spe)17938
performance, economics, branding