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 and included. Hide

Frontend Dogma

“2025” News Archive (5)

Entry (Sources) and Additional TopicsDate#
How to Build Scalable Web Apps With React JS1,301
how-tos, web-apps, performance, scalability
Important Changes Are Coming to Glitch (ani/gli)1,300
hosting, glitch
Make Screen Readers Talk With the ARIA Notify API (ale)1,299
accessibility, screen-readers, aria, apis, javascript
Move Modal in on a… “shape()” (chr/fro)1,298
modals, functions, css
The “datalist” Element (kev)1,297
html, forms
The Landing Zone (ada)1,296
concepts, viewport
Trip Report: Node.js Collaboration Summit (2025 Paris) (joy+/nod)1,295
nodejs
You Can Style Alt Text Like Any Other Text (geo/css)1,294
alt-text, accessibility, images, css, javascript
Performance Debugging in DevTools (pau)1,293
videos, performance, debugging, dev-tools, browsers, chrome, google
What’s New in Angular1,292
videos, angular
Web Animations Today and Tomorrow (bra)1,291
videos, animations, view-transitions, scrolling, css, web-platform
Authenticating JavaScript WebSockets1,290
websockets, javascript, authentication
Coding Guidelines for Your AI Agents (jet)1,289
conventions, ai
ESLint v9.0.0: A Retrospective (nza/esl)1,288
eslint, retrospectives
Masonry, Item Flow, and… GULP? (mey)1,287
css, masonry, flexbox, grids, layout
Styling the Icon for HTML Date and Time Types (cas)1,286
html, forms, css, time
The Pipe Operator Is Coming to PHP 8.5 (ami)1,285
php, operators
Top Ways to Ensure Your Content Performs Well in Google’s AI Experiences on Search (joh)1,284
google, search, ai, content
ChatGPT and the Proliferation of Obsolete and Broken Solutions to Problems We Hadn’t Had for Over Half a Decade Before Its Launch (ana/fro)1,283
chatgpt, ai, css, support
CSS Logical Properties (cfe)1,282
css, logical-properties
Introduction to JavaScript Frameworks (rya)1,281
introductions, videos, javascript, frameworks, react, angular, vuejs, svelte, solidjs
Reports of Deno’s Demise Have Been Greatly Exaggerated (tin/den)1,280
deno, fresh
The “caption” Element (hey)1,279
html, tables, semantics
We Did the Math on AI’s Energy Footprint—Here’s the Story You Haven’t Heard (jam+/tec)1,278
ai, sustainability, openai, google, microsoft, anthropic
MCP Is the Coming of Web 2.0 2.0 (ani)1,277
ai, mcp, web-2.0, web
Web Stage [Google I/O 2025] (pau+)1,276
videos, google, chrome, browsers, web-platform
Visual Studio Code Now Supports Baseline (rvi)1,275
vs-code, microsoft, code-editors, support, web-platform
What’s New in Web (rac)1,274
web-platform, support, browsers, tooling
What’s New in DevTools, Chrome 1371,273
release-notes, dev-tools, chrome, google, browsers
6 Ways Slack, Notion, and VS Code Improved Electron App Performance1,272
electron, performance, case-studies, slack, vs-code
A Reader’s Question on Nested Lists (mon/css)1,271
lists, css
A11y 101: 1.4.12 Text Spacing (nat)1,270
introductions, accessibility, wcag, typography
Creating Blob Shapes Using “clip-path: shape()” (css/fro)1,269
css, clipping, shapes
CSS Tips: Flexible Wrapping CSS Grid (zor/css)1,268
videos, css, grids, layout, tips-and-tricks
Designing Calm: UX Principles for Reducing Users’ Anxiety (uxm)1,267
design, user-experience, principles
Docker Launches Hardened Images, Intensifying Secure Container Market1,266
docker, security
Exploring the Role of Generative AI in Mobile UX Design (uxm)1,265
ai, design, user-experience, mobile
How JavaScript’s “at()” Method Makes Array Indexing Easier1,264
javascript, arrays
Is Thinking Outside the Box Still Possible in a Cancel Culture World? (web)1,263
design, creativity, culture
JavaScript in the Morning, JavaScript in the Evening… (ray)1,262
javascript, localization
JetBrains AI Assistant—Now in Visual Studio Code (jet)1,261
jetbrains, ai, vs-code, microsoft, code-editors
The Problem With Web Components1,260
web-components
The Role of Prototyping in Perfecting Product Designs (uxm)1,259
design, user-experience, prototyping
The Role of UX Design Strategy in Driving Product Adoption (uxm)1,258
user-experience, design, accessibility, strategies, product-management
The State of JavaScript Debugging in WebAssembly1,257
javascript, webassembly, debugging
There Is No Spoon (tin/btc)1,256
videos, ai, accessibility
Unshipping: How (and When) to Break Web Features (ric+/iga)1,255
podcasts, interviews, web-platform, standards
No Country for Junior Designers1,254
design, career
Why “__init__.py” Changed the Way I Code in Python1,253
python
WordPress Needs Documentation About Accessibility, Help Me Work on It (ria)1,252
wordpress, accessibility, documentation
How to Convince People to Care and Invest in Accessibility (ste)1,251
how-tos, accessibility, metrics, advocacy
5 Linux Commands You’ve Probably Never Heard Of1,250
unix-like, command-line
No Server, No Database: Smarter Related Posts in Astro With transformers.js (ale)1,249
astro, javascript, ai, hugging-face
Expanding/Collapsing With “details” (ons/oze)1,248
accessibility, html, disclosure-widgets
Modernizing Security1,247
security, modernization, processes
The Fastest Way to Spend Less Time Debugging1,246
videos, debugging, testing, principles
Design for Trust, Then for Possibility1,245
design, user-experience
Why Strong Engineers Are Rarely Blocked (sea)1,244
career, communication
If You’re an Artist and You’re Discouraged by AI Art, You Need to Hear This1,243
design, art, ai, career
Is There a Correct Answer? Flipping Layouts When Google Translate Swaps Between a Left-to-Right Language and a Right-to-Left Language (chr/fro)1,242
html, internationalization, localization, conversion
Just Fucking Use React (ome+)1,241
websites, react
The Basics of Node.js Streams1,240
fundamentals, nodejs, streaming
The Ingredients of a Productive Monorepo (swg)1,239
monorepos, version-control, building, testing, ci-cd
Why AI Interviews Could Be Bad News for Honest Designers (and)1,238
design, career, interviewing, ai
Handling Routes in JavaScript Projects (sea)1,237
javascript, routing, frameworks
A11y 101: How to Test Manually (nat)1,236
introductions, accessibility, testing
Accessibility Report 2025 (ema)1,235
studies, research, accessibility, email
An Update on Fresh (mar/den)1,234
fresh
Awareness (ada)1,233
awareness-days, accessibility
Behind the Scenes: How We Iterate on UI Copy (aut)1,232
design, content, microcontent, processes, case-studies, automattic
Fewer Ideas: An Unconventional Approach to Creativity (sma)1,231
design, creativity, processes
How Long Does It Take to Rank in Google? And How Old Are Top Ranking Pages? (ahr)1,230
google, search, seo, metrics
My Glamorous Life: Broken by Design (zel)1,229
design, user-experience
Node.js TSC Declines to Endorse Feature Bounty Program (sar/soc)1,228
nodejs
“:out-of-range” (kev)1,227
css, selectors
React Router RSC Preview (rem)1,226
react, react-router, components
Scroll-Driven Animations Inside a CSS Carousel (geo/css)1,225
css, animations, scrolling, carousels
Styling Console Text in Node.js (rau)1,224
nodejs, console, javascript
3 Tools to Help Fix the Web’s Most Common WCAG 2.2 Failures (ato)1,223
accessibility, wcag, tooling, lighthouse, google, webaim, axe
Focus on the Product, Not the Tech Stack1,222
prioritization, tech-stacks, career
How Google Is Accelerating Code Migrations With AI1,221
studies, research, google, ai, migrating, case-studies
How Often Should We Speak About HTML Conformance? (j9t)1,220
html, conformance, metrics
Microsoft Lays Off TypeScript Veteran Ron Buckton Amid 6,000-Job Cut Restructuring1,219
microsoft, typescript
Painting With the Web (mat/btc)1,218
videos, web, web-platform, design, typography
Release Notes for Safari Technology Preview 219 (jon/web)1,217
release-notes, safari, apple, browsers
We Launched Our First Shopify Theme (nic)1,216
shopify, theming, case-studies
Wes Tatters on the Evolution of Internet Communities and WordPress Open Source (nat)1,215
podcasts, interviews, community, wordpress, foss
Securing Your Node.js App From Command Injection1,214
nodejs, security
Learning Accessibility as a Designer (sil)1,213
accessibility, design, learning
Container Query for “Is There Enough Space Outside This Element?” (chr/fro)1,212
css, container-queries
Finding the Joy in Alt Text (bry)1,211
alt-text, accessibility, images
How to Have the Browser Pick a Contrasting Color in CSS (jen/web)1,210
how-tos, browsers, css, functions, colors, contrast
What Is a Conforming Alternate Version and When Would We Use It? (mni)1,209
accessibility, compliance
The Perverse Incentives of Vibe Coding (fre)1,208
ai, vibe-coding, metrics, economics, tips-and-tricks
Behind the Scenes of Verso Browser Development (wuy)1,207
verso, browsers, servo, browser-engines
The Impact of Web Accessibility Overlays on the Usability and User Experience for People With Permanent Visual Impairments (dni)1,206
studies, research, accessibility, usability, overlays
Cold vs. Hot Observables in Angular With RxJS1,205
angular, asynchronicity, reactivity, examples, terminology
Claude Code: AI Agent for Devops, SRE, and Platform Engineering1,204
videos, ai, claude, anthropic, dev-ops, platform-engineering
How to Title Your Blog Post or Whatever (dyn)1,203
how-tos, blogging, writing, microcontent
I Think the Ergonomics of Generators Is Growing on Me (mac)1,202
javascript, functions
Integrating Localization Into Design Systems (sma)1,201
design-systems, localization, figma, case-studies
JavaScript Compile Hints: What They Are and When to Use Them (tre)1,200
javascript, compiling, v8, javascript-engines
Just Fucking Use HTML (kyr)1,199
websites, html
The Height Enigma (jos)1,198
css, fundamentals
Update on CSS Anchor Positioning (fan/w3c)1,197
css, standards, anchor-positioning
WebKit Features in Safari 18.5 (jen/web)1,196
release-notes, safari, apple, browsers, webkit
How I Built Dynamic Social Media Images in Eleventy Using Cloudinary (chi)1,195
eleventy, images, social-media, tooling, cloudinary
Why I Skipped Figma and Prototyped in Code Instead1,194
design, figma, ai, vibe-coding, prototyping
Design, Code, Publish—All in Figma? (fro)1,193
podcasts, figma, ai
Enhancements to the Proposed “<permission>” Element (tom)1,192
html
Understanding Java’s Asynchronous Journey1,191
java, asynchronicity, history
Designing AI With Purpose: The AI Intention Matrix1,190
ai, design, product-management
Good Commit Messages Are Just Self-Care: Why I Document Everything1,189
commit-messages, documentation, git
Figma Sites: When Accessibility Is an Afterthought1,188
figma, accessibility, link-lists
The Tech Bro Era Is Fading—So Who’s Next to Shape Our Culture?1,187
ai, design, user-experience, culture, community
Dependency Inversion in React: Building Truly Testable Components1,186
react, components, testing
Figma Dreamweaver (pav)1,185
figma, dreamweaver, wysiwyg, comparisons
Figma Sites Is Worse Than You Might Have Thought (kev)1,184
videos, figma, quality
Foundations: Keyboard Accessibility (tet)1,183
fundamentals, accessibility, keyboard-navigation, focus, html
The True Path to Garbage Code: Figma Sites (joe)1,182
figma, html, quality, semantics, accessibility
Unlocking Accessibility: Information Architects Share Their Approach to Digital Accessibility and Design With People With Disabilities1,181
accessibility, information-architecture
CSS Snippets (ada)1,180
css
95% of Homepages Are Inaccessible1,179
homepages, wcag, accessibility, metrics
Building the Bridge: Running JavaScript Modules From Dart1,178
javascript, modules, esm, commonjs, dart, deno
Do Not Publish Your Designs on the Web With Figma Sites… (aar)1,177
figma, accessibility
Guitar Chords in CSS (sto)1,176
css, functions, examples
Is Web Development Dying? Inside Information1,175
career, ai
Migrating a JavaScript Project From Prettier and ESLint to BiomeJS (app)1,174
javascript, migrating, prettier, eslint, biome
“:placeholder-shown” (kev)1,173
css, selectors
“shape()”: A New Powerful Drawing Syntax in CSS (chr/fro)1,172
css, functions, shapes, clipping
Why Is Nobody Using the “hwb()” Color Function? (css)1,171
css, colors, functions
15+ Secret Weapons for Frontend Devs That Most Beginners Miss1,170
tooling, link-lists
Waiting for Postgres 18: Accelerating Disk Reads With Asynchronous I/O (luk/pga)1,169
postgresql, databases, asynchronicity
Use Baseline With Browserslist (mal)1,168
browsers, support, web-platform, browserslist
7 Things I Do Regularly as a Senior Frontend Developer (nde)1,167
career, learning, code-reviews
Angular: “httpResource” in the Wild1,166
angular, data-fetching, reactivity
Are “CSS Carousels” Accessible? (sar)1,165
css, carousels, accessibility, examples
How to Create Full Width Containers in CSS (lia)1,164
how-tos, css
Masonry in CSS: Should Grid Evolve or Stand Aside for a New Module? (sma)1,163
css, masonry, grids, layout
Next.js Deployment Spec Simplifies Frontend Hosting (low)1,162
nextjs, deploying, hosting, netlify, vercel
Node v24.0.0 (Current) (raf/nod)1,161
release-notes, nodejs
Node.js 24 Is Here: What You Need to Know (nod)1,160
nodejs
The Hidden Gold of Web Accessibility: Everything About ARIA Labels (flo/a11)1,159
accessibility, aria, html, best-practices
Updates to Popover and CSS Anchor Positioning Polyfills (jam/odd)1,158
css, polyfills, pop-overs, anchor-positioning
Using Container Query Units Relative to an Outer Container (ana/fro)1,157
css, container-queries, units
Getting Things “Done” in Large Tech Companies (sea)1,156
productivity, processes, project-management
Towards React Server Components in Clojure (rom)1,155
clojure, react, components
Database Internals Explained: The Invisible Engine Behind Every App You Use (rak)1,154
videos, databases
How to Launch Big Complex Projects (vit/sma)1,153
how-tos, processes, project-management
K.I.S.S. ARIA (nat)1,152
aria, html, accessibility
Mozilla Say Google Search Deal Vital to Firefox’s Survival (d0o/omg)1,151
mozilla, firefox, browsers, google
Passkeys for Normal People (tro)1,150
security, authentication, passkeys, examples, concepts
Rethinking Responsive Grids With a Content-Aware Approach (web)1,149
responsive-design, content, grids, layout
Test Keyboard Accessibility on Your Website1,148
videos, accessibility, keyboard-navigation, testing
The “code” Element (hey)1,147
html, markdown
The Growing Divide Among React Developers… (fir)1,146
videos, react, components, nextjs, vercel
The Power of the Spread and Rest Syntax in JavaScript1,145
javascript, arrays
There Should Be No AI Button1,144
ai, design, user-experience, buttons
UX Localization: Adapting User Interfaces for Diverse Cultures (uxm)1,143
design, user-experience, localization, product-management
You’re Misunderstanding DDD in Angular (and Frontend) (duc/dan)1,142
software-design, angular
Measuring Developer Productivity in the LLM Era1,141
ai, productivity, developer-experience, engineering-management
Creating a More Accessible Web With ARIA Notify (pat)1,140
accessibility, aria, notifications, apis
Polyfilling CSS With CSS Parser Extensions (bra)1,139
css, polyfills
Robust Data Fetching Architecture for Complex React/Next.js Apps (tre)1,138
react, nextjs, hooks, data-fetching, architecture
What Is Semantic Caching? (doe)1,137
ai, performance, semantics, caching, concepts
How I Would Learn to Code (if I Could Start Over)1,136
programming, ai, learning
We Have a Daily Standup. Nobody Stands. Nothing’s Up.1,135
agile, processes, culture
Potential Accessibility Issues of Floating Animations on Webpages and Mobile Apps (cer)1,134
accessibility, animations
Stop Using AWS1,133
aws
10 New Jobs for Burned-Out Software Developers (app)1,132
career
CSS “shape()” Commands (geo/css)1,131
css, functions, shapes, clipping
npm Targeted by Malware Campaign Mimicking Familiar Library Names (soc)1,130
npm, malware, security, dependencies, link-lists
React Compiler Explained in 3 Minutes (Goodbye, Re-Renders) (bet)1,129
videos, react, compiling
WCAG 3.0’s Proposed Scoring Model: A Shift in Accessibility Evaluation (sma)1,128
accessibility, auditing, compliance, wcag
We Cannot Talk About AI Without Talking About Capitalism, Fascism, and Liberty (chr)1,127
ai, economics
CSS Isn’t Broken—You Just Never Read the Docs1,126
css, documentation, cascade, layout, presentational-html
What Is an Encryption Backdoor? (int)1,125
security, encryption, vulnerabilities, concepts
Building a More Accessible GitHub CLI (rya+)1,124
github, tooling, command-line, accessibility
Generative AI and the Triad Color Harmony (tmr)1,123
ai, deepseek, colors, color-palettes
Easier Layout With “margin-trim” (jen/web)1,122
css, margins, spacing, safari, apple, browsers
Node.js Next 10 Survey 2025 (nod)1,121
surveys, nodejs
PHP 8.4’s New “Dom\HTMLDocument” in Diffs (lia)1,120
php
Use CSS “reading-flow” for Logical Sequential Focus Navigation (rac)1,119
css, flexbox, grids, layout, accessibility
SSR vs. SSG vs. CSR vs. ISR—Rendering Performances Compared (ele/des)1,118
guest-posts, server-side-rendering, static-site-generation, client-side-rendering, incremental-static-regeneration, comparisons
Disclosures and Accordions (web)1,117
disclosure-widgets, accordions, accessibility
Done With Components (don)1,116
design-systems, components
Event Handling in JAWS and NVDA (sib/tpg)1,115
accessibility, screen-readers, jaws, nvda, events, javascript, comparisons
How to Detect Memory Leaks in Your Web App1,114
how-tos, videos, web-apps, memory, debugging, angular
Interop Unites Browser Makers to Smooth Web Inconsistencies (mar)1,113
interoperability, web-platform, browsers, consistency
JavaScript, When Is This? (wil/pic)1,112
javascript
Keyboard Navigation: Ensuring Usability Without a Mouse1,111
accessibility, usability, keyboard-navigation, testing
npm Should Remove the Default License From New Packages (ISC) (ext)1,110
npm, dependencies, licensing, foss
Revisiting Image Maps (mal/css)1,109
images, image-maps, html, techniques
The “cite” Element (hey)1,108
html, semantics
The Story of Fastify and Vue (ano)1,107
fastify, vuejs, complexity, simplicity
What’s New in Astro—April 2025 (sar/ast)1,106
release-notes, astro
Stop Hiding Bad Code Behind Good Tooling1,105
tooling, quality, craft
Why the US Is Slamming the Door on Indian Tech Talent1,104
career, hiring
New to the Web Platform in April (rac)1,103
release-notes, web-platform, browsers, chrome, google, firefox, mozilla, safari, apple
7 Programming Myths That Waste Your Time (fir)1,102
videos, programming, productivity, efficiency, myths
Angular Unit Tests Distilled (rai/ng-)1,101
videos, angular, testing
Automated Accessibility Test Tools Find Even Less Than Expected1,100
accessibility, testing, automation, metrics
Converting Values to Strings in JavaScript (rau)1,099
javascript, conversion
Focus Priming (tem)1,098
accessibility, focus
Giving V8 a Heads-Up: Faster JavaScript Startup With Explicit Compile Hints1,097
v8, javascript-engines, javascript, compiling
Good vs. Great Animations (emi)1,096
animations, css, transforms, transitions, radix
[GSAP] 3.13 Release (cas/gsa)1,095
release-notes, gsap
How Keyboard Testing Improves Digital Accessibility (mic/deq)1,094
accessibility, keyboard-navigation, testing
Intro to E2E Testing With Cypress (ng-)1,093
videos, introductions, testing, cypress
Organizational Scaffolding for Accessible Design and Content (sta/a11)1,092
videos, interviews, accessibility, processes, tooling, culture
Seeking an Answer: Why Can’t HTML Alone Do Includes? (chr/fro)1,091
html, maintainability
Tools of the Trade: Accessibility Without the Cost (web/equ)1,090
accessibility, tooling, linting, testing
A11y 101: 1.4.11 Non-Text Contrast (nat)1,089
introductions, wcag, accessibility, contrast, colors
Anchor Positioning Just Don’t Care About Source Order (geo/css)1,088
css, anchor-positioning, source-order, html
Deno’s Decline (6 Regions and Falling) (db)1,087
deno
Giving Software Away for Free (sim)1,086
foss, hosting, html, javascript
Menu and Navigation: The Difference (stv)1,085
navigation, pagination, html, aria, accessibility
Node.js Streams With TypeScript1,084
nodejs, streaming, typescript, examples
React Internals: Which “useEffect” Runs First? (fro)1,083
react, hooks
The “canvas” Element (hey)1,082
html, canvas, semantics
The Future of Web Design: Will We Even Recognize It in 100 Years? (web)1,081
design, outlooks
What Is [the] CSS Owl Selector (“* + *”)? (zor/css)1,080
videos, css, selectors
The 4 Motivations for Accessibility—the Big “Why?”1,079
accessibility, economics, legal, dei
Ignoring Character Limits Can Wreck Your Product’s UX1,078
design, user-experience, internationalization, localization
I Tried 50 AI Tools—Here’s How AI Is Changing the Way We Design1,077
design, ai, tooling
The Guide to MCP I Never Had1,076
guides, mcp, ai
Craft and Satisfaction (jim)1,075
craft, ai
Design System Documentation Is Essential—as Long as It’s Good (pjo)1,074
design-systems, documentation, content, writing, principles
Bias in Design Systems (ben)1,073
design-systems, documentation, collaboration, processes
8 CSS Shorthands That Instantly Clean Up Your Code (let)1,072
css, shorthands
Cybersecurity Leaders Are Staying in the Shadows (ste)1,071
security, community, culture
Running Clojure in Wasm (rom)1,070
clojure, webassembly
Add JSR Packages With pnpm and Yarn (lca/den)1,069
jsr, pnpm, yarn
Advancing Accessibility Standards (acc)1,068
accessibility, standards
Frontend’s Next Evolution: AI-Powered State Management1,067
state-management, ai, outlooks
Unlocking Accessibility: Frontend Developers Discuss Semantic HTML and Accessible Code1,066
accessibility, semantics, html, community
Using View Transitions in Next.js (jac)1,065
nextjs, view-transitions, css
Why Care About the No-JS Experience? (cfe)1,064
javascript, support
CSS Boilerplate (mat)1,063
css, templates
AI Writes My Code for Me1,062
ai, productivity, career
Every Developer Needs to Self-Host1,061
self-hosting, learning
Forget the AI Hype—Here’s How Real AI Agents Are Built to Solve Real Problems1,060
videos, ai, ai-agents
A Decade of SolidJS (rya/thi)1,059
solidjs, retrospectives, libraries
HTML Oddities: Does the Order of Attribute Values Matter? (ede)1,058
html, attributes, css, selectors
“input type="color"” (kev)1,057
html, forms, colors
Polishing Your Typography With Line Height Units (jen/web)1,056
typography, css, units
Catching Up on Accessibility With AI Chat1,055
accessibility, ai
I Broke the Disabled Button (hom)1,054
buttons, accessibility, retrospectives
10 Tips for Junior Developers to Effectively Use LLMs and AI (owe/pro)1,053
ai, tips-and-tricks
Binary Formats Are Better Than JSON in Browsers1,052
json, libraries, performance, comparisons, metrics
Break Google’s Search Monopoly Without Breaking the Web (owa)1,051
google, search, chrome, browsers, web-platform, open-web
How Documentation Analytics Can Help You Prioritize Design System Improvements1,050
design-systems, documentation, analytics
How to Write Unit Tests in Node.js Using Mocha (app)1,049
how-tos, testing, nodejs, tooling
JavaScript Framework Reality Check: What’s Actually Working1,048
javascript, frameworks, qwik, solidjs, sveltekit, fresh
Making a Small JavaScript Blog Static Site Generator Even Smaller Using the General “async-tree” Library (jan)1,047
static-site-generation, javascript, tooling
Polypane 24: Recording, 3D View, Custom Tab Colors, and HTML Editing (pol)1,046
release-notes, polypane, browsers
The Problem(s) With Image Accessibility1,045
accessibility, images, alt-text, html
Salesforce and Shopify CEOs Just Declared War on Human-Only Teams (pet)1,044
shopify, ai, career, economics
Mastering HTML: The Art of Minimal and Valid Code in Professional Web Development (AI Edition) (j9t)1,043
guest-posts, html, minimalism, conformance, semantics, interoperability, accessibility, standards
Creating CSS Theme Variables From a JS File (mic)1,042
css, theming, custom-properties, javascript, conversion
Eleventy: A GitHub Workflow to Check if an Automated Dependency Update Would Break Your Site (j9t)1,041
eleventy, dependencies, nodejs, automation, github-actions
Google Won’t Ditch Third-Party Cookies in Chrome After All (rwh/ars)1,040
chrome, google, browsers, cookies
Impossible Components (dan)1,039
components, react, state-management
Next Steps for Privacy Sandbox and Tracking Protections in Chrome1,038
chrome, google, browsers, privacy, cookies
Why I’m Not Ready to Abandon JavaScript for “Faster” Languages1,037
javascript, rust, go, refactoring, performance
Newfangled Browser Alternatives (chr/fro)1,036
browsers, arc, the-browser-company, orion, kagi, vivaldi, brave, comparisons, link-lists
What Is llms.txt, and Should You Care About It? (ahr)1,035
ai, crawling, llmstxt, robotstxt
Contextual Logging With “console.context()” (pat)1,034
console, javascript, dev-tools, browsers
Leveraging the JavaScript Framework qooxdoo for Rich Internet Applications That Don’t Suck​1,033
qooxdoo, rich-internet-apps
A Web Component UI Library for People Who Love HTML (cfe)1,032
libraries, web-components
A11y 101: 1.4.10 Reflow (nat)1,031
introductions, accessibility, wcag, reflow
Buttons vs. Links: What’s the Difference and Why Does It Matter?1,030
videos, buttons, links, usability, comparisons
Color Contrast and Readability: The Cornerstones of Accessible Design1,029
accessibility, design, colors, contrast, readability, wcag
How to Meet SC 2.5.3 “Label in Name” (tpg)1,028
how-tos, accessibility, wcag, labels, forms
How to Validate Ideas Faster With No-Code Prototypes (uxm)1,027
how-tos, design, low-and-no-code, prototyping
The European Accessibility Act: What Businesses and App Developers Need to Know1,026
accessibility, eaa, legal
Unlocking 7 Hidden Benefits Through Web Site Redesign (uxm)1,025
redesigning, user-experience, user-conversion, economics, maintainability, accessibility, usability, branding
When to Use “map()” vs. “forEach()”1,024
javascript, arrays, comparisons
How Accessibility Audits Are Shaping the Future of User-Centered Design (uxm)1,023
accessibility, auditing, usability, seo, compliance, branding, user-conversion
Everything’s a Vibe: Is It Progress or Just an Illusion?1,022
vibe-coding, ai, user-experience
The Oppressive Foundation of Minimalist Design1,021
design, minimalism
The Open-Source Stack for AI Agents1,020
ai, tech-stacks, foss, tooling, link-lists
11 Practical Ways I Use AI Agents Without Losing My Authenticity (bla/ope)1,019
ai, ai-agents, creativity, processes, examples
Web Typography: A Refresher and History (zel)1,018
typography, history, link-lists
Why Use Personal OKRs (cwo)1,017
okr, career, processes
We Don’t Merge Into a Broken Master Branch (yeg)1,016
code-reviews, version-control
LangChain + MCP + RAG + Ollama = the Key to Powerful Agentic AI1,015
ai, langchain, mcp, rag, ai-agents, tooling
Fixing Vercel’s Landing Page1,014
design, effects, landing-pages, vercel
How I Run Eleventy (It’s Complicated?) (j9t)1,013
eleventy
Keeping It on the “<dl>”—Another HTML Gem You Never Use (cod)1,012
html, lists, semantics
“Pretty” Is in the Eye of the Beholder (geo/css)1,011
typography, css, browsers, support, chrome, google, safari, apple
State of Devs 2025 (sac/dev)1,010
surveys, career
Vibe Coding Is Not an Excuse for Low-Quality Work (add)1,009
vibe-coding, ai, quality
What Does It Really Mean for a Site to Be Keyboard Navigable (sma)1,008
accessibility, keyboard-navigation, focus, skip-links
Why Every Web Designer Secretly Hates Their Past Work (web)1,007
career, design
AI Overviews Reduce Clicks by 34.5% (ahr)1,006
ai, search, google, seo, metrics
Contribute to the 2025 Web Almanac1,005
web-almanac, web-platform, community
Creating an Accessible Accordion With HTML Description Lists (kar)1,004
accessibility, html, lists, accordions
Fostering an Accessibility Culture (dad/sma)1,003
accessibility, training, culture, processes
How to Write Error Messages That Actually Help Users Rather Than Frustrate Them (amy/pic)1,002
how-tos, writing, microcontent, errors, usability, user-experience
“:only-child” (kev)1,001
css, selectors
So, You Want to Give Up CSS Pre- and Post-Processors… (zel/css)1,000
css, preprocessors, postprocessors, tailwind, lightning-css
WCAG in Plain English (aaa)999
accessibility, wcag, guides
State of AI 2025 [Results] (sac/dev)998
surveys, metrics, ai
5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t)997
html, performance, optimization
Aaron D. Campbell [on] Why Open Standards and WordPress Matter (aar+)996
podcasts, interviews, standards, wordpress
Can LLMs Earn $1M From Real Freelance Coding Work?995
ai, programming, engineering-management, quality, economics
Google Is Ending Support for Country-Code Google Domains Like google.fr or google.co.uk994
google
How to Begin a WordPress Blog: A Step-by-Step Guide for Beginners993
guides, wordpress, blogging
Image Alt Text Guide: How to Write and Add Image Alt Text Reference992
guides, accessibility, user-experience, seo, alt-text, images, shopify
Local SEO vs. National SEO vs. Global SEO: A Strategy Guide (sem)991
guides, seo, strategies, comparisons, tooling
Memoizing the Cache in Laravel (ami)990
laravel, caching, memoization
Navigating the 2026 ADA Guidelines (ter+)989
videos, guidelines, accessibility, ada, legal
“oklch()” (ada)988
css, colors, functions, oklch
Optimizing Node.js Performance: V8 Memory Management and GC Tuning (mco/pla)987
nodejs, performance, optimization, v8, javascript-engines, javascript, memory, garbage-collection
Out of Order (don)986
css, positioning, design
Serverless Is a Scam985
serverless, containerization, comparisons
Using CSS “backdrop-filter” for UI Effects (pre/css)984
css, filters, effects
What Happens When a Program Calls Sleeps?983
videos, programming
The Best CSS One-Liner to Improve Performance in 2025982
css, performance
The Best Node.js Observability Tools in 2025: N|Solid vs. New Relic, Datadog, and More (nod)981
nodejs, observability, tooling, opentelemetry, comparisons
State of AI [Results]980
surveys, metrics, ai
Advanced React in the Wild (add)979
react, nextjs, performance, case-studies
Firefox 137.0.2 Is a Big Bug Fix and Security Update Release978
firefox, mozilla, browsers
Inclusive Dark Mode: Designing Accessible Dark Themes for All Users (sma)977
accessibility, design, dark-mode
[Records and Tuples] Proposal Is Withdrawn (ash)976
ecmascript
SvelteKit Is the Best Way to Build Single Page Apps—and It Just Got Even Better975
videos, sveltekit, single-page-apps
Tech Hiring: Is This an Inflection Point? (ger)974
hiring, interviewing, career, ai
Why You Need to Know Your Site’s Performance Plateau (and How to Find It) (tam/spe)973
performance, metrics, concepts
Principles for Coding Securely With LLMs (sea)972
ai, security, principles
Testing Methods—Pre-Recorded Captions (dec)971
accessibility, testing, captions, multimedia, link-lists
Threat Actors Misuse Node.js to Deliver Malware and Other Malicious Payloads970
nodejs, security, malware
14 Web Performance Tips for 2025 (sia)969
performance, web-vitals, culture, tips-and-tricks
A11y 101: 1.4.5 Images of Text (nat)968
introductions, accessibility, wcag, images, alt-text
Accessible Forms: Tips and Techniques967
accessibility, forms, labels, keyboard-navigation, errors, testing, tips-and-tricks, techniques
Float16Array in JavaScript (tre)966
javascript, arrays
Getting Specific About CSS Specificity (kat)965
css, selectors, cascade
Next Level CSS Styling for Cursors (val/css)964
css, javascript, cursors
The Post-Developer Era (jos)963
ai, code-editors, tooling, outlooks, career
TLS Certificate Lifetimes Will Officially Reduce to 47 Days962
tls, certificates, security
Hako961
javascript-engines
Deploying TypeScript: Recent Advances and Possible Future Directions (rau)960
typescript, deploying
10 Figma Hacks I Wish I’d Known Earlier (and You Should Know Now)959
figma
A Flowing WebGL Gradient, Deconstructed958
webgl, gradients, javascript, math
How to Hire (hvp)957
how-tos, hiring, engineering-management, career
Is “Ethical AI” an Oxymoron? (hdv)956
ai, ethics, licensing, sustainability
LLMs Can’t Stop Making Up Software Dependencies and Sabotaging Everything (tho/the)955
ai, dependencies, security, slop
Default Styles for “h1” Elements Are Changing (zco/mdn)954
html, css, headings, browsers
How to Use GenAI With OKRs (Without Letting It Think for You) (cwo)953
how-tos, ai, okr, prioritization, processes
Never Lose a “z-index” Battle Again (mat)952
css, positioning
The Case for Angular951
angular, typescript
The Case for Web Components With Lit950
web-components, lit, typescript, micro-frontends
Tooltip Should Not Start an Accessible Name949
accessibility, tooltips
7 React Patterns That Made Me a Better Front-End Developer948
react, hooks, props, software-design-patterns
5 Ways to Reduce HTML File Size on Your Website (deb)947
html, minification, compression, performance, optimization
Automated WCAG Testing Is Grrreat! (aar)946
accessibility, wcag, testing, automation
Developer Ecosystem 2025 (jet)945
surveys, code-editors, tooling, ai
Exploring TypeScript: TS 5.8 Edition (rau)944
books, typescript, javascript
Mastering Default Values in JavaScript With the Nullish Coalescing (“??”) Operator943
javascript, operators
No Code Is Dead. Long Live Vibe Coding. (auc)942
low-and-no-code, vibe-coding
Preventing N+1 Issues Globally in Laravel Using Auto Eager Loading (ami)941
laravel, php
Using “currentColor” in 2025 (chr/fro)940
css, colors
Why Do AI Company Logos Look Like Buttholes?939
design, logos, comparisons
7 UI/UX Principles Every Dev Should Know938
design, user-experience, principles
Stop Writing If–Else Trees: Use the State Pattern Instead937
programming, software-design-patterns, conditionals
Significant Performance Improvements With Edge 134936
edge, microsoft, browsers
Tailwind’s “@apply” Feature Is Better Than It Sounds (zel/css)935
tailwind, sass, mixins, comparisons
10 Hard Truths Every Dev Must Learn in 2025934
career, tips-and-tricks, programming
ARIA in HTML (sco+/w3c)933
standards, accessibility, aria, html
Automated Accessibility Testing: Strengths and Limits932
accessibility, testing, automation, comparisons
Comparison Tables: 5 Scenarios When Not to Use Them931
videos, information-design, tables, usability
CSS Carousels (geo/css)930
css, carousels
CSS Naked Day 2025 (mey)929
awareness-days, css
Custom Progress Element Using the “attr()” Function (css/fro)928
css, functions, progress-indicators, gradients
Deploy Angular and Next.js Apps With App Hosting, Now GA (fir)927
google, firebase, hosting, deploying, angular, nextjs, web-apps
Event Versioning Strategies for Event-Driven Architectures (the)926
architecture, events
History of the Web: Chris Lilley (svg+/iga)925
videos, interviews, web-platform, history
How to Build a Multi-Tenant SaaS Application With Next.js924
how-tos, nextjs, authorization, state-management, zustand
Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil+)923
podcasts, interviews, wordpress, apis, html, dom
Project IDX Is Now Part of Firebase Studio (fir)922
firebase, project-idx
Stretching Google’s Prefetching (paw)921
signed-exchanges, experiments, chrome, google, browsers
The “min()” and “max()” Functions (kev)920
css, functions
The Untold Story of Git919
videos, git, svn, cvs, version-control, history
Thin Fonts Are a Usability Nightmare—and Finally, Designers Are Waking Up (web)918
fonts, typography, usability, accessibility, design
To “light-dark()” or Not to “light-dark()” (web)917
videos, css, functions, dark-mode
VS Code Agent Mode Just Changed Everything (bur/vsc)916
videos, vs-code, microsoft, code-editors, ai
What It Means to Shift Left on Accessibility and How to Do It Right (lul)915
accessibility, dei, design, culture, processes, collaboration, project-management, content-strategy, quality, training
Zero-Config Debugging With Deno and OpenTelemetry (lca/den)914
debugging, deno, opentelemetry, logging, tracing, metrics, observability
Secure a Vue App With OpenID Connect and the BFF Pattern (due)913
vuejs, security, authentication, backend-for-frontend
Just Say the Word—Try Our New AI Website Builder for Free (nee/wor)912
wordpress, ai, tooling
Be the Node You Want to See in the Network (sur)911
network
Two Decades of Git: A Conversation With Creator Linus Torvalds (tor)910
videos, interviews, git, history
Better Typography With “text-wrap: pretty” (jen/web)909
typography, css, webkit, browser-engines, browsers, safari, apple
CSS Naked Day 2025 (fyr)908
css, awareness-days
CSS Naked Day (car)907
awareness-days, css
How to Select a UX Metric906
how-tos, user-experience, metrics, best-practices
React Reconciliation: The Hidden Engine Behind Your Components905
react, dom, components
React Server Confusion (ano)904
react, components, vite, fastify
Top 5 CSS Navigation Menu Mistakes (zor/css)903
navigation, css, mistakes, usability
Using ARIA Landmarks for Better Navigation902
navigation, keyboard-navigation, aria, accessibility
Why I Value Firebreak Sprints for Managing Technical Debt (tre)901
technical-debt, maintenance, processes
Engineering Managers Hold the Key to Effective Team Collaboration900
engineering-management, collaboration, processes
Strings Are a Leaky Abstraction for HTML (joe)899
html, strings
Use “shape()” for Responsive Clipping (nom)898
css, functions, shapes, clipping, responsive-design
Background Image Opacity in CSS (jim)897
css, backgrounds, images, transparency+opacity
Your Frontend, Backend, and Database—Now in One Cloudflare Worker896
cloudflare, tooling
A11y 101: 1.4.4 Resize Text (nat)895
introductions, accessibility, wcag, resizing
Design for the AI Age894
design, ai
Designing AI for Cultural Diversity (uxm)893
design, ai, dei, culture
UX Localization: Adapting Experiences to Users Worldwide (uxm)892
user-experience, localization, testing
Creating a Software Engineering Culture891
culture, leadership, engineering-management
10 Things You Should Know as a Next.js Developer (That No One Tells You) (pri)890
nextjs
A Note About WCAG Conformance Levels (dec)889
accessibility, wcag, compliance
Dropping Support for Twitter/X (fro)888
frontend-dogma, twitter+x, social-media
Some Features That Every JavaScript Developer Should Know in 2025887
javascript, arrays, promises, prototypes, variables
The Precise Language of Good Management886
engineering-management, communication
How Israel’s War in Gaza Changed Big Tech (mid)885
microsoft, google, amazon, palantir, oracle, vercel, legal
Cover Flow With Modern CSS: Scroll-Driven Animations in Action (add)884
css, animations, transforms, scrolling, effects, history
Hiding Elements That Require JavaScript Without JavaScript (0xd)883
javascript, css, html
Tweaking Text Level Styles, Reprised (aar)882
html, css, accessibility, support, browsers, screen-readers
WebAIM Million Results Show That Shopping Sites Have Worst Accessibility (cer)881
webaim, metrics, accessibility, ecommerce
Making Node.js Downloads Reliable (nod)880
nodejs, reliability, refactoring, case-studies
How to Track and Analyze Your AI Traffic (lou/ahr)879
how-tos, traffic, ai, analytics, google
Introducing Bulk Suppressions (esl)878
eslint
Lessons Learned From My First Dive Into WebAssembly877
lessons, webassembly
Open-Source Is Just That (val)876
foss, community, culture
Teaching Code in the AI Era: Why Fundamentals Still Matter (ali)875
training, ai, programming, vibe-coding, security, scalability, performance, quality, testing, documentation
The Best Programmers I Know (mre)874
career, programming, culture
The Blissful Zen of a Good Side Project (col)873
learning, creativity
The Future of Redwood Launches Today (red)872
redwoodjs
CSS Bursts With Conic Gradients (chr/fro)871
css, gradients, examples, effects
CSS-Only Glitch Effect870
css, html, effects
First Look at the Modern “attr()” (sha)869
css, functions, attributes, feature-detection
Overengineered Anchor Links868
links, effects, techniques
Software Architecture for Developers (dic)867
architecture, software-design
The Importance of Alt Text for Images866
alt-text, images, accessibility, dei, compliance, legal, seo, user-experience
A Guide to Alt Text Across Popular Tools (pop)865
guides, alt-text, accessibility, images, tooling
AI and Accessibility: Opportunities and Challenges for Content Creators864
accessibility, ai, content
Automated vs. AI vs. Manual Testing—Text Alternatives (dec)863
accessibility, testing, automation, ai, comparisons
Building a Drupal to Storyblok Migration Tool: An Engineering Perspective (edo/sma)862
migrating, tooling, drupal
Debugging JavaScript Memory Leaks (jar/bun)861
javascript, memory, debugging, dev-tools, chrome, google, browsers, bun
Digital Accessibility Is a Civil Right (kar)860
accessibility, legal, ada, wcag, economics
Robust Accessibility and Artificial Intelligence (AI) (ger)859
accessibility, ai
SMIL On? (geo/css)858
smil, browsers, support
Your AI UX Intern857
videos, ai, user-experience, concepts
Four Rules for How Design Influences Technology856
design, product-management, examples
How I Found My Own Path as an Introverted Engineering Manager855
engineering-management, career
Mastering Cross-Framework State Management in Micro-Frontends (ele/des)854
guest-posts, architecture, frameworks, state-management, micro-frontends, scalability, strategies
Google, Amazon, and Microsoft Allegedly Complicit in War Crimes Amid Israel’s War in Gaza (bus)853
google, amazon, microsoft, ai, legal
TypeSpec 1.0-RC: Design Faster Today, Scale Easier Tomorrow852
apis, tooling
Making “:visited” More Private851
css, selectors, privacy, chrome, google, browsers
A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript850
npm, dependencies, history, javascript
Implementing Multi-Brand Theming With Style Dictionary (stu)849
theming, branding, design-tokens, tooling
Micro-Scrum (j9t)848
agile, scrum, processes, simplicity
What’s the Difference Between WCAG, the EAA, and EN 301 549? (tpg)847
accessibility, wcag, eaa, legal, standards, comparisons
Firefox Release Notes [Firefox 137.0] (moz)846
release-notes, firefox, mozilla, browsers
How GenAIs Build Diverging Color Schemes845
design, colors, color-palettes, ai, gemini
Stop Using Jenkins in 2025 (oso)844
jenkins, github-actions, ci-cd, security
React 19’s New Hooks: With Practical Examples (let)843
react, hooks, javascript, examples
Prioritizing Accessibility Bugs for Maximum Impact (civ)842
accessibility, prioritization, wcag, bugs
New in Chrome 135 (rac)841
release-notes, chrome, google, browsers
How Does Chrome Prioritize Image Requests? (deb)840
chrome, google, browsers, images, performance
Node.js Test CI Security Incident (nod)839
nodejs, security, retrospectives
Poisoning Well (hey)838
ai, crawling, robotstxt, content
State of Drupal Presentation (dri)837
drupal
Testing Tools for Accessibility Enhancement II836
videos, accessibility, testing, tooling
There Is No Vibe Engineering835
vibe-coding, programming, software-design
WebKit Features in Safari 18.4 (jen+/web)834
release-notes, safari, apple, browsers, webkit
You Don’t Know Git (eth/ndc)833
videos, git, command-line
In Defense of Ruthless Managers (sea)832
engineering-management, culture
How AI Agents Are Quietly Transforming Frontend Development831
ai, ai-agents, processes, developer-experience, collaboration
New to the Web Platform in March (rac)830
release-notes, web-platform, browsers, firefox, mozilla, safari, apple, chrome, google
12-Factor Agents—Principles for Building Reliable LLM Applications829
ai, principles, reliability
The WebAIM Million: The 2025 Report on the Accessibility of the Top 1,000,000 Home Pages (web)828
studies, research, accessibility, homepages, metrics
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)827
deno, oracle, javascript, legal, history
Minimal CSS-Only Blurry Image Placeholders (kal)826
images, placeholders, backgrounds, css, techniques
My Favorite Tools for Web Accessibility Testing (ale)825
accessibility, testing, tooling, link-lists
Resolving Invalid Custom Tailwind Classname ESLint Warning (ama)824
tailwind, css, eslint
Design Isn’t Dead—You Sound Dumb823
design, user-experience, ai
Breaking Down Circular Dependencies in JavaScript822
javascript, dependencies
Browser Choice Is an Accessibility Consideration (bee)821
browsers, accessibility, chromium
Automated Visual Regression Testing With Playwright (css)820
regressions, testing, automation, playwright, javascript
Could JavaScript Have Synchronous “await”? (rau)819
javascript, asynchronicity
Expanding CSS Shadow Effects (pre/fro)818
css, shadows, effects
How to Easily Reproduce a Flaky Test in Playwright (cha)817
how-tos, playwright, testing, flakiness
How to Set Up TypeScript With Node.js and Express (log)816
how-tos, typescript, nodejs, express
Interop 2025—Which Browser Features to Get Acquainted With This Year and Why You Should Care (uti/iod)815
interoperability, support, browsers, web-platform
Item Flow: A New Unified Concept for Layout (sar+/web)814
css, layout, grids, flexbox, masonry
Markup Languages (j9t)813
overviews, link-lists, sgml, html, xml, xhtml, hdml, dhtml, mathml, wml, chtml
React Email 4.0812
react, email, tooling
Mastering Typography in Design Systems With Semantic Tokens and Responsive Scaling811
typography, design-systems, design-tokens, semantics, responsive-design, scaling
Robots Refresher: Future-Proof Robots Exclusion Protocol (met)810
robotstxt
Meet llms.txt, a Proposed Standard for AI Website Content Crawling (sea)809
ai, crawling, scraping, llmstxt, robotstxt
How to Conduct an Accessibility Audit: A Step-by-Step Guide808
how-tos, guides, accessibility, auditing, processes
How to Write Blog Posts That Developers Read (mtl)807
how-tos, writing, blogging
If It Works, It’s Right (bel/pic)806
css
Mind the WCAG Automation Gap (ste)805
accessibility, automation, wcag
Online Tracking Is Out of Control—Privacy Badger Can Help You Fight Back (eff)804
privacy, tooling, browser-extensions, eff
Scrum Not Working? Try It as Is Before You Modify It (ste)803
scrum, agile, processes
Website Hijack Campaign Now Impacting 150,000 Sites (gad)802
security