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

Frontend Dogma

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

→ 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#
How to Create Full Width Containers in CSS (lia)19037
how-tos, css
Are “CSS Carousels” Accessible? (sar)19036
css, carousels, accessibility, examples
Angular: “httpResource” in the Wild19035
angular, data-fetching, reactivity
7 Things I Do Regularly as a Senior Frontend Developer (nde)19034
career, learning, code-reviews
Creating a More Accessible Web With ARIA Notify (pat)19033
accessibility, aria, notifications, apis
Measuring Developer Productivity in the LLM Era19032
ai, productivity, developer-experience, engineering-management
You’re Misunderstanding DDD in Angular (and Frontend) (duc/dan)19031
software-design, angular
UX Localization: Adapting User Interfaces for Diverse Cultures (uxm)19030
design, user-experience, localization, product-management
There Should Be No AI Button19029
ai, design, user-experience, buttons
The Power of the Spread and Rest Syntax in JavaScript19028
javascript, arrays
The Growing Divide Among React Developers… (fir)19027
videos, react, components, nextjs, vercel
The “code” Element (hey)19026
html, markdown
Test Keyboard Accessibility on Your Website19025
videos, accessibility, keyboard-navigation, testing
Rethinking Responsive Grids With a Content-Aware Approach (web)19024
responsive-design, content, grids, layout
Passkeys for Normal People (tro)19023
security, authentication, passkeys, examples, concepts
Mozilla Say Google Search Deal Vital to Firefox’s Survival (d0o/omg)19022
mozilla, firefox, browsers, google
K.I.S.S. ARIA (nat)19021
aria, html, accessibility
How to Launch Big Complex Projects (vit/sma)19020
how-tos, processes, project-management
Database Internals Explained: The Invisible Engine Behind Every App You Use (rak)19019
videos, databases
Syntax Highlighting in Pure CSS (nb)19018
css, syntax-highlighting
What Is Semantic Caching?19017
ai, performance, semantics, caching, concepts
We Have a Daily Standup. Nobody Stands. Nothing’s Up.19016
agile, processes, culture
How I Would Learn to Code (if I Could Start Over)19015
programming, ai, learning
Robust Data Fetching Architecture for Complex React/Next.js Apps (tre)19014
react, nextjs, hooks, data-fetching, architecture
Polyfilling CSS With CSS Parser Extensions (bra)19013
css, polyfills
Stop Using AWS19012
aws
Potential Accessibility Issues of Floating Animations on Webpages and Mobile Apps (cer)19011
accessibility, animations
10 New Jobs for Burned-Out Software Developers19010
career
Generative AI and the Triad Color Harmony (tmr)19009
ai, deepseek, colors, color-palettes
Building a More Accessible GitHub CLI (rya+)19008
github, tooling, command-line, accessibility
What Is an Encryption Backdoor? (int)19007
security, encryption, vulnerabilities, concepts
CSS Isn’t Broken—You Just Never Read the Docs19006
css, documentation, cascade, layout, presentational-html
We Cannot Talk About AI Without Talking About Capitalism, Fascism, and Liberty (chr)19005
ai, economics
WCAG 3.0’s Proposed Scoring Model: A Shift in Accessibility Evaluation (sma)19004
accessibility, auditing, compliance, wcag
React Compiler Explained in 3 Minutes (Goodbye, Re-Renders) (bet)19003
videos, react, compiling
npm Targeted by Malware Campaign Mimicking Familiar Library Names (soc)19002
npm, malware, security, dependencies, link-lists
CSS “shape()” Commands (geo/css)19001
css, functions, shapes, clipping
Use CSS “reading-flow” for Logical Sequential Focus Navigation19000
css, flexbox, grids, layout, accessibility
Node.js Next 10 Survey 2025 (nod)18999
surveys, nodejs
Easier Layout With “margin-trim” (jen/web)18998
css, margins, spacing, safari, browsers
SSR vs. SSG vs. CSR vs. ISR—Rendering Performances Compared (ele/des)18997
guest-posts, server-side-rendering, static-site-generation, client-side-rendering, incremental-static-regeneration, comparisons
PHP 8.4’s New “Dom\HTMLDocument” in Diffs (lia)18996
php
New to the Web Platform in April18995
release-notes, web-platform, browsers, chrome, firefox, safari
npm Should Remove the Default License From New Packages (ISC) (ext)18994
npm, dependencies, licensing, foss
Interop Unites Browser Makers to Smooth Web Inconsistencies18993
interoperability, web-platform, browsers, consistency
What’s New in Astro—April 2025 (sar)18992
release-notes, astro
Why the US Is Slamming the Door on Indian Tech Talent18991
career, hiring
Stop Hiding Bad Code Behind Good Tooling18990
tooling, quality, craft
The Story of Fastify and Vue (ano)18989
fastify, vuejs, complexity, simplicity
The “cite” Element (hey)18988
html, semantics
Revisiting Image Maps (mal/css)18987
images, image-maps, html, techniques
Keyboard Navigation: Ensuring Usability Without a Mouse18986
accessibility, usability, keyboard-navigation, testing
JavaScript, When Is This? (wil/pic)18985
javascript
How to Detect Memory Leaks in Your Web App18984
how-tos, videos, web-apps, memory, debugging, angular
Event Handling in JAWS and NVDA (sib/tpg)18983
accessibility, screen-readers, jaws, nvda, events, javascript, comparisons
Done With Components (don)18982
design-systems, components
Disclosures and Accordions (web)18981
disclosure-widgets, accordions, accessibility
Converting Values to Strings in JavaScript (rau)18980
javascript, conversion
Tools of the Trade: Accessibility Without the Cost (web/equ)18979
accessibility, tooling, linting, testing
Seeking an Answer: Why Can’t HTML Alone Do Includes? (chr/fro)18978
html, maintainability
Organizational Scaffolding for Accessible Design and Content (sta/a11)18977
videos, interviews, accessibility, processes, tooling, culture
Intro to E2E Testing With Cypress (ng)18976
videos, introductions, testing, cypress
How Keyboard Testing Improves Digital Accessibility (mic/deq)18975
accessibility, keyboard-navigation, testing
[GSAP] 3.13 Release (cas/gsa)18974
release-notes, gsap
Good vs. Great Animations (emi)18973
animations, css, transforms, transitions, radix
Giving V8 a Heads-Up: Faster JavaScript Startup With Explicit Compile Hints18972
v8, javascript-engines, javascript, compiling
Focus Priming (tem)18971
accessibility, focus
Automated Accessibility Test Tools Find Even Less Than Expected18970
accessibility, testing, automation, metrics
Angular Unit Tests Distilled (rai/ng)18969
videos, angular, testing
7 Programming Myths That Waste Your Time (fir)18968
videos, programming, productivity, efficiency, myths
The Guide to MCP I Never Had18967
guides, mcp, ai
I Tried 50 AI Tools—Here’s How AI Is Changing the Way We Design18966
design, ai, tooling
Ignoring Character Limits Can Wreck Your Product’s UX18965
design, user-experience, internationalization, localization
The 4 Motivations for Accessibility—the Big “Why?”18964
accessibility, economics, legal, dei
What Is [the] CSS Owl Selector (“* + *”)? (zor/css)18963
videos, css, selectors
The Future of Web Design: Will We Even Recognize It in 100 Years? (web)18962
design, outlooks
The “canvas” Element (hey)18961
html, canvas, semantics
React Internals: Which “useEffect” Runs First? (fro)18960
react, hooks
Node.js Streams With TypeScript18959
nodejs, streaming, typescript, examples
Menu and Navigation: The Difference (stv)18958
navigation, pagination, html, aria, accessibility
Giving Software Away for Free (sim)18957
foss, hosting, html, javascript
Deno’s Decline (6 Regions and Falling) (db)18956
deno
Anchor Positioning Just Don’t Care About Source Order (geo/css)18955
css, anchor-positioning, source-order, html
A11y 101: 1.4.11 Non-Text Contrast (nat)18954
introductions, wcag, accessibility, contrast, colors
Design System Documentation Is Essential—as Long as It’s Good (pjo)18953
design-systems, documentation, content, writing, principles
Craft and Satisfaction (jim)18952
craft, ai
Running Clojure in Wasm (rom)18951
clojure, webassembly
Cybersecurity Leaders Are Staying in the Shadows (ste)18950
security, community, culture
8 CSS Shorthands That Instantly Clean Up Your Code (let)18949
css, shorthands
Bias in Design Systems (ben)18948
design-systems, documentation, collaboration, processes
Frontend’s Next Evolution: AI-Powered State Management18947
state-management, ai, outlooks
Forget the AI Hype—Here’s How Real AI Agents Are Built to Solve Real Problems18946
videos, ai, ai-agents
Every Developer Needs to Self-Host18945
self-hosting, learning
AI Writes My Code for Me18944
ai, productivity, career
CSS Boilerplate (mat)18943
css, templates
Why Care About the No-JS Experience? (cfe)18942
javascript, support
Using View Transitions in Next.js (jac)18941
nextjs, view-transitions, css
Unlocking Accessibility: Frontend Developers Discuss Semantic HTML and Accessible Code18940
accessibility, semantics, html, community
Advancing Accessibility Standards (acc)18939
accessibility, standards
Add JSR Packages With pnpm and Yarn (lca/den)18938
jsr, pnpm, yarn
I Broke the Disabled Button (hom)18937
buttons, accessibility, retrospectives
Catching Up on Accessibility With AI Chat18936
accessibility, ai
Polishing Your Typography With Line Height Units (jen/web)18935
typography, css, units
“input type="color"” (kev)18934
html, forms, colors
HTML Oddities: Does the Order of Attribute Values Matter? (ede)18933
html, attributes, css, selectors
A Decade of SolidJS (rya/thi)18932
solidjs, retrospectives, libraries
10 Tips for Junior Developers to Effectively Use LLMs and AI (owe/pro)18931
ai, tips-and-tricks
JavaScript Framework Reality Check: What’s Actually Working18930
javascript, frameworks, qwik, solidjs, sveltekit, fresh
Salesforce and Shopify CEOs Just Declared War on Human-Only Teams (pet)18929
shopify, ai, career, economics
Mastering HTML: The Art of Minimal and Valid Code in Professional Web Development (AI Edition) (j9t)18928
guest-posts, html, minimalism, conformance, semantics, interoperability, accessibility, standards
The Problem(s) With Image Accessibility18927
accessibility, images, alt-text, html
Polypane 24: Recording, 3D View, Custom Tab Colors, and HTML Editing (pol)18926
release-notes, polypane, browsers
Making a Small JavaScript Blog Static Site Generator Even Smaller Using the General “async-tree” Library (jan)18925
static-site-generation, javascript, tooling
How to Write Unit Tests in Node.js Using Mocha (app)18924
how-tos, testing, nodejs, tooling
How Documentation Analytics Can Help You Prioritize Design System Improvements18923
design-systems, documentation, analytics
Break Google’s Search Monopoly Without Breaking the Web (owa)18922
google, search, chrome, browsers, web-platform, open-web
Binary Formats Are Better Than JSON in Browsers18921
json, libraries, performance, comparisons, metrics
Next Steps for Privacy Sandbox and Tracking Protections in Chrome18920
chrome, browsers, privacy, cookies
Newfangled Browser Alternatives (chr/fro)18919
browsers, arc, orion, vivaldi, brave, comparisons, link-lists
Leveraging the JavaScript Framework qooxdoo for Rich Internet Applications That Don’t Suck​18918
qooxdoo, rich-internet-apps
Contextual Logging With “console.context()” (pat)18917
console, javascript, dev-tools, browsers
What Is llms.txt, and Should You Care About It? (ahr)18916
ai, crawling, llmstxt, robotstxt
Why I’m Not Ready to Abandon JavaScript for “Faster” Languages18915
javascript, rust, go, refactoring, performance
Impossible Components (dan)18914
components, react, state-management
Google Won’t Ditch Third-Party Cookies in Chrome After All (rwh/ars)18913
chrome, google, browsers, cookies
Eleventy: A GitHub Workflow to Check if an Automated Dependency Update Would Break Your Site (j9t)18912
eleventy, dependencies, nodejs, automation, github-actions
Creating CSS Theme Variables From a JS File (mic)18911
css, theming, custom-properties, javascript, conversion
Everything’s a Vibe: Is It Progress or Just an Illusion?18910
vibe-coding, ai, user-experience
The Oppressive Foundation of Minimalist Design18909
design, minimalism
11 Practical Ways I Use AI Agents Without Losing My Authenticity (bla/ope)18908
ai, ai-agents, creativity, processes, examples
The Open-Source Stack for AI Agents18907
ai, tech-stacks, foss, tooling, link-lists
How Accessibility Audits Are Shaping the Future of User-Centered Design (uxm)18906
accessibility, auditing, usability, seo, compliance, branding, user-conversion
When to Use “map()” vs. “forEach()”18905
javascript, arrays, comparisons
Unlocking 7 Hidden Benefits Through Web Site Redesign (uxm)18904
redesigning, user-experience, user-conversion, economics, maintainability, accessibility, usability, branding
The European Accessibility Act: What Businesses and App Developers Need to Know18903
accessibility, eaa, legal
How to Validate Ideas Faster With No-Code Prototypes (uxm)18902
how-tos, design, low-and-no-code, prototyping
How to Meet SC 2.5.3 “Label in Name” (tpg)18901
how-tos, accessibility, wcag, labels, forms
Color Contrast and Readability: The Cornerstones of Accessible Design18900
accessibility, design, colors, contrast, readability, wcag
Buttons vs. Links: What’s the Difference and Why Does It Matter?18899
videos, buttons, links, usability, comparisons
A11y 101: 1.4.10 Reflow (nat)18898
introductions, accessibility, wcag, reflow
A Web Component UI Library for People Who Love HTML (cfe)18897
libraries, web-components
Why Use Personal OKRs (cwo)18896
okr, career, processes
Web Typography: A Refresher and History (zel)18895
typography, history, link-lists
LangChain + MCP + RAG + Ollama = the Key to Powerful Agentic AI18894
ai, langchain, mcp, rag, ollama, ai-agents, tooling
We Don’t Merge Into a Broken Master Branch (yeg)18893
code-reviews, version-control
A Digression on Trust: Slop Blogs and the Accomplished UX Strategist Who Doesn’t Exist (fig)18892
blogging, slop, ai
“Pretty” Is in the Eye of the Beholder (geo/css)18891
typography, css, browsers, support, chrome, safari
Why Every Web Designer Secretly Hates Their Past Work (web)18890
career, design
What Does It Really Mean for a Site to Be Keyboard Navigable (sma)18889
accessibility, keyboard-navigation, focus, skip-links
Vibe Coding Is Not an Excuse for Low-Quality Work (add)18888
vibe-coding, ai, quality
State of Devs 2025 (sac/dev)18887
surveys, career
Keeping It on the “<dl>”—Another HTML Gem You Never Use (cod)18886
html, lists, semantics
How I Run Eleventy (It’s Complicated?) (j9t)18885
eleventy
Fixing Vercel’s Landing Page18884
design, effects, landing-pages, vercel
State of AI 2025 [Results] (sac/dev)18883
surveys, metrics, ai
WCAG in Plain English (aaa)18882
accessibility, wcag, guides
So, You Want to Give Up CSS Pre- and Post-Processors… (zel/css)18881
css, preprocessors, postprocessors, tailwind, lightning-css
“:only-child” (kev)18880
css, selectors
How to Write Error Messages That Actually Help Users Rather Than Frustrate Them (amy/pic)18879
how-tos, writing, microcontent, errors, usability, user-experience
Fostering an Accessibility Culture (dad/sma)18878
accessibility, training, culture, processes
Creating an Accessible Accordion With HTML Description Lists (kar)18877
accessibility, html, lists, accordions
Contribute to the 2025 Web Almanac18876
web-almanac, web-platform, community
AI Overviews Reduce Clicks by 34.5% (ahr)18875
ai, search, google, seo, metrics
“oklch()”18874
css, colors, functions, oklch
Image Alt Text Guide: How to Write and Add Image Alt Text Reference18873
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)18872
nodejs, observability, tooling, nsolid, opentelemetry, comparisons
State of AI [Results]18871
surveys, metrics, ai
The Best CSS One-Liner to Improve Performance in 202518870
css, performance
What Happens When a Program Calls Sleeps?18869
videos, programming
Using CSS “backdrop-filter” for UI Effects (pre/css)18868
css, filters, effects
Serverless Is a Scam18867
serverless, containerization, comparisons
Out of Order (don)18866
css, positioning, design
Optimizing Node.js Performance: V8 Memory Management and GC Tuning (mco/pla)18865
nodejs, performance, optimization, v8, javascript-engines, javascript, memory, garbage-collection
Navigating the 2026 ADA Guidelines (ter+)18864
videos, guidelines, accessibility, ada, legal
Memoizing the Cache in Laravel (ami)18863
laravel, caching, memoization
Local SEO vs. National SEO vs. Global SEO: A Strategy Guide (sem)18862
guides, seo, strategies, comparisons, tooling
How to Begin a WordPress Blog: A Step-by-Step Guide for Beginners18861
guides, wordpress, blogging
Google Is Ending Support for Country-Code Google Domains Like google.fr or google.co.uk18860
google
Can LLMs Earn $1M From Real Freelance Coding Work?18859
ai, programming, engineering-management, quality, economics
Aaron D. Campbell [on] Why Open Standards and WordPress Matter (aar+)18858
podcasts, interviews, standards, wordpress
5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t)18857
html, performance, optimization
Firefox 137.0.2 Is a Big Bug Fix and Security Update Release18856
firefox, browsers
Threat Actors Misuse Node.js to Deliver Malware and Other Malicious Payloads18855
nodejs, security, malware
Testing Methods—Pre-Recorded Captions (dec)18854
accessibility, testing, captions, multimedia, link-lists
Principles for Coding Securely With LLMs (sea)18853
ai, security, principles
Why You Need to Know Your Site’s Performance Plateau (and How to Find It) (tam/spe)18852
performance, metrics, concepts
Tech Hiring: Is This an Inflection Point? (ger)18851
hiring, interviewing, career, ai
SvelteKit Is the Best Way to Build Single Page Apps—and It Just Got Even Better18850
videos, sveltekit, single-page-apps
[Records and Tuples] Proposal Is Withdrawn (ash)18849
ecmascript
Inclusive Dark Mode: Designing Accessible Dark Themes for All Users (sma)18848
accessibility, design, dark-mode
Advanced React in the Wild (add)18847
react, nextjs, performance, case-studies
Hako18846
javascript-engines
TLS Certificate Lifetimes Will Officially Reduce to 47 Days18845
tls, certificates, security
The Post-Developer Era (jos)18844
ai, code-editors, tooling, outlooks, career
Next Level CSS Styling for Cursors (val/css)18843
css, javascript, cursors
Getting Specific About CSS Specificity (kat)18842
css, selectors, cascade
Float16Array in JavaScript (tre)18841
javascript, arrays
Accessible Forms: Tips and Techniques18840
accessibility, forms, labels, keyboard-navigation, errors, testing, tips-and-tricks, techniques
A11y 101: 1.4.5 Images of Text (nat)18839
introductions, accessibility, wcag, images, alt-text
14 Web Performance Tips for 2025 (sia)18838
performance, web-vitals, culture, tips-and-tricks
Deploying TypeScript: Recent Advances and Possible Future Directions (rau)18837
typescript, deploying
10 Figma Hacks I Wish I’d Known Earlier (and You Should Know Now)18836
figma
LLMs Can’t Stop Making Up Software Dependencies and Sabotaging Everything (tho/the)18835
ai, dependencies, security, slop
Is “Ethical AI” an Oxymoron? (hdv)18834
ai, ethics, licensing, sustainability
How to Hire (hvp)18833
how-tos, hiring, engineering-management, career
A Flowing WebGL Gradient, Deconstructed18832
webgl, gradients, javascript, math
7 React Patterns That Made Me a Better Front-End Developer18831
react, hooks, props, software-design-patterns
Tooltip Should Not Start an Accessible Name18830
accessibility, tooltips
The Case for Web Components With Lit18829
web-components, lit, typescript, micro-frontends
The Case for Angular18828
angular, typescript
Never Lose a “z-index” Battle Again (mat)18827
css, positioning
How to Use GenAI With OKRs (Without Letting It Think for You) (cwo)18826
how-tos, ai, okr, prioritization, processes
Default Styles for “h1” Elements Are Changing (zco/mdn)18825
html, css, headings, browsers
Exploring TypeScript: TS 5.8 Edition (rau)18824
books, typescript, javascript
Significant Performance Improvements With Edge 13418823
edge, browsers
Tailwind’s “@apply” Feature Is Better Than It Sounds (zel/css)18822
tailwind, sass, mixins, comparisons
Stop Writing If–Else Trees: Use the State Pattern Instead18821
programming, software-design-patterns, conditionals
7 UI/UX Principles Every Dev Should Know18820
design, user-experience, principles
Why Do AI Company Logos Look Like Buttholes?18819
design, logos, comparisons
Using “currentColor” in 2025 (chr/fro)18818
css, colors
Preventing N+1 Issues Globally in Laravel Using Auto Eager Loading (ami)18817
laravel, php
No Code Is Dead. Long Live Vibe Coding. (auc)18816
low-and-no-code, vibe-coding
Mastering Default Values in JavaScript With the Nullish Coalescing (“??”) Operator18815
javascript, operators
Developer Ecosystem 2025 (jet)18814
surveys, code-editors, tooling, ai
Automated WCAG Testing Is Grrreat! (aar)18813
accessibility, wcag, testing, automation
5 Ways to Reduce HTML File Size on Your Website (deb)18812
html, minification, compression, performance, optimization
VS Code Agent Mode Just Changed Everything (bur/vsc)18811
videos, vs-code, code-editors, ai
Deploy Angular and Next.js Apps With App Hosting, Now GA (fir)18810
firebase, hosting, deploying, angular, nextjs, web-apps
Two Decades of Git: A Conversation With Creator Linus Torvalds (tor)18809
videos, interviews, git, history
Be the Node You Want to See in the Network (sur)18808
network
Just Say the Word—Try Our New AI Website Builder for Free (nee/wor)18807
wordpress, ai, tooling
Secure a Vue App With OpenID Connect and the BFF Pattern (due)18806
vuejs, security, authentication, backend-for-frontend
Zero-Config Debugging With Deno and OpenTelemetry (lca/den)18805
debugging, deno, opentelemetry, logging, tracing, metrics, observability
What It Means to Shift Left on Accessibility and How to Do It Right (lul)18804
accessibility, dei, design, culture, processes, collaboration, project-management, content-strategy, quality, training
To “light-dark()” or Not to “light-dark()” (web)18803
videos, css, functions, dark-mode
Thin Fonts Are a Usability Nightmare—and Finally, Designers Are Waking Up (web)18802
fonts, typography, usability, accessibility, design
The Untold Story of Git18801
videos, git, svn, cvs, version-control, history
The “min()” and “max()” Functions (kev)18800
css, functions
Stretching Google’s Prefetching (paw)18799
signed-exchanges, experiments, chrome, google, browsers
Project IDX Is Now Part of Firebase Studio (fir)18798
firebase, project-idx
Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil+)18797
podcasts, interviews, wordpress, apis, html, dom
How to Build a Multi-Tenant SaaS Application With Next.js18796
how-tos, nextjs, authorization, state-management, zustand
History of the Web: Chris Lilley (svg+/iga)18795
videos, interviews, web-platform, history
Event Versioning Strategies for Event-Driven Architectures (the)18794
architecture, events
Custom Progress Element Using the “attr()” Function (css/fro)18793
css, functions, progress-indicators, gradients
CSS Naked Day 2025 (mey)18792
awareness-days, css
CSS Carousels (geo/css)18791
css, carousels
Comparison Tables: 5 Scenarios When Not to Use Them18790
videos, information-design, tables, usability
Automated Accessibility Testing: Strengths and Limits18789
accessibility, testing, automation, comparisons
ARIA in HTML (sco+/w3c)18788
standards, accessibility, aria, html
10 Hard Truths Every Dev Must Learn in 202518787
career, tips-and-tricks, programming
Better Typography With “text-wrap: pretty” (jen/web)18786
typography, css, webkit, browser-engines, browsers, safari
Your Frontend, Backend, and Database—Now in One Cloudflare Worker18785
cloudflare, tooling
Background Image Opacity in CSS (jim)18784
css, backgrounds, images, transparency+opacity
Use “shape()” for Responsive Clipping (nom)18783
css, functions, shapes, clipping, responsive-design
Strings Are a Leaky Abstraction for HTML (joe)18782
html, strings
Engineering Managers Hold the Key to Effective Team Collaboration18781
engineering-management, collaboration, processes
Why I Value Firebreak Sprints for Managing Technical Debt (tre)18780
technical-debt, maintenance, processes
Using ARIA Landmarks for Better Navigation18779
navigation, keyboard-navigation, aria, accessibility
Top 5 CSS Navigation Menu Mistakes (zor/css)18778
navigation, css, mistakes, usability
React Server Confusion (ano)18777
react, components, vite, fastify
React Reconciliation: The Hidden Engine Behind Your Components18776
react, dom, components
How to Select a UX Metric18775
how-tos, user-experience, metrics, best-practices
CSS Naked Day (car)18774
awareness-days, css
CSS Naked Day 2025 (fyr)18773
css, awareness-days
10 Things You Should Know as a Next.js Developer (That No One Tells You) (pri)18772
nextjs
Creating a Software Engineering Culture18771
culture, leadership, engineering-management
UX Localization: Adapting Experiences to Users Worldwide (uxm)18770
user-experience, localization, testing
Designing AI for Cultural Diversity (uxm)18769
design, ai, dei, culture
Design for the AI Age18768
design, ai
A11y 101: 1.4.4 Resize Text (nat)18767
introductions, accessibility, wcag, resizing
How Israel’s War in Gaza Changed Big Tech (mid)18766
microsoft, google, amazon, palantir, oracle, vercel, legal
The Precise Language of Good Management18765
engineering-management, communication
Some Features That Every JavaScript Developer Should Know in 202518764
javascript, arrays, promises, prototypes, variables
Dropping Support for Twitter/X (fro)18763
frontend-dogma, twitter+x, social-media
A Note About WCAG Conformance Levels (dec)18762
accessibility, wcag, compliance
Making Node.js Downloads Reliable (nod)18761
nodejs, reliability, refactoring, case-studies
WebAIM Million Results Show That Shopping Sites Have Worst Accessibility (cer)18760
webaim, metrics, accessibility, ecommerce
Tweaking Text Level Styles, Reprised (aar)18759
html, css, accessibility, support, browsers, screen-readers
Hiding Elements That Require JavaScript Without JavaScript (0xd)18758
javascript, css, html
Cover Flow With Modern CSS: Scroll-Driven Animations in Action (add)18757
css, animations, transforms, scrolling, effects, history
The Future of Redwood Launches Today (red)18756
redwoodjs
The Blissful Zen of a Good Side Project (col)18755
learning, creativity
The Best Programmers I Know (mre)18754
career, programming, culture
Teaching Code in the AI Era: Why Fundamentals Still Matter (ali)18753
training, ai, programming, vibe-coding, security, scalability, performance, quality, testing, documentation
Open-Source Is Just That (val)18752
foss, community, culture
Lessons Learned From My First Dive Into WebAssembly18751
lessons, webassembly
Introducing Bulk Suppressions (esl)18750
eslint
How to Track and Analyze Your AI Traffic (lou/ahr)18749
how-tos, traffic, ai, analytics, google
The Importance of Alt Text for Images18748
alt-text, images, accessibility, dei, compliance, legal, seo, user-experience
Software Architecture for Developers (dic)18747
architecture, software-design
Overengineered Anchor Links18746
links, effects, techniques
First Look at the Modern “attr()” (sha)18745
css, functions, attributes, feature-detection
CSS-Only Glitch Effect18744
css, html, effects
CSS Bursts With Conic Gradients (chr/fro)18743
css, gradients, examples, effects
How I Found My Own Path as an Introverted Engineering Manager18742
engineering-management, career
Making “:visited” More Private18741
css, selectors, privacy, chrome, browsers
Debugging JavaScript Memory Leaks (jar/bun)18740
javascript, memory, debugging, dev-tools, chrome, browsers, bun
Four Rules for How Design Influences Technology18739
design, product-management, examples
TypeSpec 1.0-RC: Design Faster Today, Scale Easier Tomorrow18738
apis, tooling
Google, Amazon, and Microsoft Allegedly Complicit in War Crimes Amid Israel’s War in Gaza (bus)18737
google, amazon, microsoft, ai, legal
Mastering Cross-Framework State Management in Micro-Frontends (ele/des)18736
guest-posts, architecture, frameworks, state-management, micro-frontends, scalability, strategies
Your AI UX Intern18735
videos, ai, user-experience, concepts
SMIL On? (geo/css)18734
smil, browsers, support
Robust Accessibility and Artificial Intelligence (AI) (ger)18733
accessibility, ai
Digital Accessibility Is a Civil Right (kar)18732
accessibility, legal, ada, wcag, economics
Building a Drupal to Storyblok Migration Tool: An Engineering Perspective (edo/sma)18731
migrating, tooling, drupal
Automated vs. AI vs. Manual Testing—Text Alternatives (dec)18730
accessibility, testing, automation, ai, comparisons
AI and Accessibility: Opportunities and Challenges for Content Creators18729
accessibility, ai, content
A Guide to Alt Text Across Popular Tools (pop)18728
guides, alt-text, accessibility, images, tooling
New in Chrome 13518727
release-notes, chrome, browsers
Self Hosting Like Its 202518726
self-hosting, tooling
On JavaScript’s Weirdness18725
javascript
Firefox Release Notes [Firefox 137.0] (moz)18724
release-notes, firefox, browsers
What’s the Difference Between WCAG, the EAA, and EN 301 549? (tpg)18723
accessibility, wcag, eaa, en-301-549, legal, standards, comparisons
How GenAIs Build Diverging Color Schemes18722
design, colors, color-palettes, ai, gemini
Prioritizing Accessibility Bugs for Maximum Impact (civ)18721
accessibility, prioritization, wcag, bugs
React 19’s New Hooks: With Practical Examples (let)18720
react, hooks, javascript, examples
Stop Using Jenkins in 2025 (oso)18719
jenkins, github-actions, ci-cd, security
Micro-Scrum (j9t)18718
agile, scrum, processes, simplicity
Implementing Multi-Brand Theming With Style Dictionary (stu)18717
theming, branding, design-tokens, tooling
A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript18716
npm, dependencies, history, javascript
New to the Web Platform in March18715
release-notes, web-platform, browsers, firefox, safari, chrome
Testing Tools for Accessibility Enhancement II18714
videos, accessibility, testing, tooling
Node.js Test CI Security Incident (nod)18713
nodejs, security, retrospectives
WebKit Features in Safari 18.4 (jen+/web)18712
release-notes, safari, browsers, webkit
How Does Chrome Prioritize Image Requests? (deb)18711
chrome, browsers, images, performance
How AI Agents Are Quietly Transforming Frontend Development18710
ai, ai-agents, processes, developer-experience, collaboration
Static PHP Builds via GitHub Actions (jos)18709
php, github-actions
The WebAIM Million: The 2025 Report on the Accessibility of the Top 1,000,000 Home Pages (web)18708
studies, research, accessibility, homepages, metrics
12-Factor Agents—Principles for Building Reliable LLM Applications18707
ai, principles, reliability
In Defense of Ruthless Managers (sea)18706
engineering-management, culture
You Don’t Know Git (eth/ndc)18705
videos, git, command-line
There Is No Vibe Engineering18704
vibe-coding, programming, software-design
State of Drupal Presentation (dri)18703
drupal
Poisoning Well (hey)18702
ai, crawling, robotstxt, content
Design Isn’t Dead—You Sound Dumb18701
design, user-experience, ai
Resolving Invalid Custom Tailwind Classname ESLint Warning (ama)18700
tailwind, css, eslint
My Favorite Tools for Web Accessibility Testing (ale)18699
accessibility, testing, tooling, link-lists
Minimal CSS-Only Blurry Image Placeholders (kal)18698
images, placeholders, backgrounds, css, techniques
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)18697
deno, oracle, javascript, legal, history
Breaking Down Circular Dependencies in JavaScript18696
javascript, dependencies
Browser Choice Is an Accessibility Consideration (bee)18695
browsers, accessibility, chromium
Mastering Typography in Design Systems With Semantic Tokens and Responsive Scaling18694
typography, design-systems, design-tokens, semantics, responsive-design, scaling
Could JavaScript Have Synchronous “await”? (rau)18693
javascript, asynchrony
React Email 4.018692
react, email, tooling
Meet llms.txt, a Proposed Standard for AI Website Content Crawling (sea)18691
ai, crawling, scraping, llmstxt, robotstxt
Robots Refresher: Future-Proof Robots Exclusion Protocol (met)18690
robotstxt
Markup Languages (j9t)18689
overviews, link-lists, sgml, html, xml, xhtml, hdml, dhtml, mathml, wml, chtml
Item Flow: A New Unified Concept for Layout (sar+/web)18688
css, layout, grids, flexbox, masonry
Interop 2025—Which Browser Features to Get Acquainted With This Year and Why You Should Care (uti/iod)18687
interoperability, support, browsers, web-platform
How to Set Up TypeScript With Node.js and Express (log)18686
how-tos, typescript, nodejs, express
How to Easily Reproduce a Flaky Test in Playwright (cha)18685
how-tos, playwright, testing, flakiness
Expanding CSS Shadow Effects (pre/fro)18684
css, shadows, effects
Automated Visual Regression Testing With Playwright (css)18683
regressions, testing, automation, playwright, javascript
Scrum Not Working? Try It as Is Before You Modify It (ste)18682
scrum, agile, processes
Website Hijack Campaign Now Impacting 150,000 Sites (gad)18681
security
5 GitHub Actions Every Maintainer Needs to Know (kli)18680
github-actions, github, tooling, automation, maintenance
Online Tracking Is Out of Control—Privacy Badger Can Help You Fight Back (eff)18679
privacy, tooling, browser-extensions, eff
Mind the WCAG Automation Gap (ste)18678
accessibility, automation, wcag
If It Works, It’s Right (bel/pic)18677
css
How to Write Blog Posts That Developers Read (mtl)18676
how-tos, writing, blogging
How to Conduct an Accessibility Audit: A Step-by-Step Guide18675
how-tos, guides, accessibility, auditing, processes
[“a:focus-visible”]18674
css, focus, links
Direct Access vs. Sequential Access: Why Direct Is Better (nng)18673
videos, usability
What’s New in WebGPU (Chrome 135)18672
release-notes, webgpu, chrome, browsers
JavaScript’s Missing Link: Wasp Offers Full Stack Solution18671
wasp, javascript, frameworks, history
What’s the Future of Platform Engineering? (ma1+)18670
videos, platform-engineering, outlooks, ai
Jo Minney on Website Usability Testing for WordPress Projects (jom+)18669
podcasts, interviews, wordpress, usability, testing
Malware Found on npm Infecting Local Package With Reverse Shell (rev)18668
npm, dependencies, security
Eleventy—Use Passthrough File Copy to Add Assets (w3t)18667
eleventy, configuration
AI Won’t Take Your Job—but Someone Who Uses It Better Than You Will (cwo)18666
ai, career, tooling, learning
React Query API Design: Lessons Learned (tkd)18665
videos, lessons, react, apis, state-management, data-fetching, tanstack
Land Ahoy: Leaving the Sea of Nodes18664
v8, javascript-engines, javascript, compiling
You Should Know This Before Choosing Next.js (edu)18663
nextjs, vercel, frameworks
The Case for “Old School” CSS (hui)18662
css, drupal, twig
“input type="number"” (kev)18661
html, forms
Artificial Intelligence Needs Community Intelligence (all)18660
videos, ai, community
A11y 101: 1.4.3 Contrast (Minimum) (nat)18659
introductions, accessibility, wcag, contrast, colors, apca
Expressing Japanese Grammar Through TypeScript Type System18658
typescript, types, localization
War Story: The Hardest Bug I Ever Debugged (jak)18657
debugging, javascript, v8, chrome, browsers, bugs
Is Vibe Coding Agile or Merely a Hype? (scr)18656
processes, ai, vibe-coding, agile
UX or PX? Why Naming Matters18655
user-experience, naming
The “<select>” Element Can Now Be Customized With CSS (arg)18654
forms, css
Support Logical Shorthands in CSS (geo/css)18653
css, logical-properties, shorthands
Mission jQuery Zero: How FreeAgent Removed jQuery From Our Application (fre)18652
refactoring, jquery, technical-debt, maintenance
Layered Text Headers (chr/fro)18651
typography, css, svg, shadows
“aria-label” Is a Letdown (thi/wag)18650
accessibility, aria, labels, html
Directives: A Core Feature of the Angular Toolkit18649
angular, extensibility
When Do Retry, Backoff, and Jitter Work?18648
dev-ops, concepts
Whose Design Process?18647
design, ai, creativity, processes
Grid First, Flex Third (fim)18646
css, layout, grids, flexbox
AI Is the Future of Accessibility (kar)18645
accessibility, ai, outlooks
Is Vite Faster Than Turbopack?18644
nextjs, webpack, turbopack, vite, rollup, rolldown, bundling, performance, comparisons
Collecting Code Coverage in Node.js (nod)18643
nodejs, code-coverage
UI Algorithms: A Tiny Undo Stack (jul)18642
javascript, algorithms, functionality, undo-redo
How Navigation Should Work for Keyboard Users (tem)18641
navigation, keyboard-navigation, focus, accessibility
Holographic Masks (hej)18640
code-pens, css, gradients, blend-modes, effects
Don’t Use Scores From Automatic Tools in Your Accessibility Statement (cer)18639
accessibility, documentation, compliance, tooling
Cracking the Code of Vibe Coding (pet)18638
programming, processes, ai, vibe-coding, craft, technical-debt, design-debt
Previewing Content Changes in Your Work With “document.designMode” (sma)18637
browsers, dev-tools, javascript, content, design
JavaScript Basics for a Senior Dev18636
fundamentals, concepts, javascript, examples
How to Create Quality Content (Follow Our 5-Level Framework) (tim/ahr)18635
how-tos, content, microcontent, seo, sem
Cursor, “Vibe Coding,” and Manus: The UX Revolution That AI Needs18634
ai, chatgpt, cursor, history, vibe-coding, user-experience
This Is the Optimal Team Size That Improves Performance by 400%18633
engineering-management, productivity
The Software Engineering Identity Crisis (cod)18632
career, craft, ai, vibe-coding
Revisiting CSS “border-image” (mal/css)18631
css, borders, images, data-urls
Mitigating Browser Fingerprinting in Web Specifications (npd+/w3c)18630
standards, privacy, fingerprinting, browsers, w3c
Create an HTML Dialog When You Click an Image (cas)18629
html, images, modals
SSR Deep Dive for React Developers (ade)18628
deep-dives, server-side-rendering, react, javascript
My Thoughts on Asynchronous Accessibility APIs (jcs)18627
accessibility, asynchrony, apis
Where Frontend Dogma Gets Its News From (j9t)18626
cross-posts, frontend-dogma, community, link-lists
Five Things Vibe Coders Should Know (From a Software Engineer)18625
vibe-coding, security, sanitization, rate-limiting
Web Accessibility Requirements in the EU (mar)18624
accessibility, eaa, legal, compliance, history, metrics
How WebAssembly Components Can Replace JavaScript SDKs (sac)18623
webassembly, components, javascript
One Thing “@scope” Can Do Is Reduce Concerns About Source Order (chr/fro)18622
css, scope, source-order
Carousels With CSS (arg)18621
css, carousels, scrolling
The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom)18620
html, attributes, browsers, support, web-platform
Testing Design Systems in 2025 (blv)18619
design-systems, testing, storybook, vitest
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead18618
fundamentals, javascript, frameworks, react, vuejs, angular, svelte, solidjs
Revisiting Fluid Type (ric+/odd)18617
videos, interviews, typography, fonts, responsive-design
Quick Reminder That “:is()” and “:where()” Are Basically the Same With One Key Difference (geo/css)18616
css, selectors, cascade
Keyword Research for SEO in 2025: Step-By-Step Tutorial18615
videos, keywords, seo, google, tooling
Cowardly Defaults and Courageous Overrides With Modern CSS (tyl/clo)18614
css, presentational-html, cascade
Composite vs. Simple Tokens18613
design-tokens, comparisons, terminology, maintainability
Style Legend18612
forms, css
Generate Growing Images Using Gemini API18611
images, ai, gemini, apis
Minding the Gaps: A New Way to Draw Separators in CSS (pat)18610
css, borders
Introducing Motion for Vue (cit)18609
introductions, animations, tooling, vuejs
Why UI Automation Is Insufficient as an Accessibility API for the Web (jcs)18608
accessibility, automation, microsoft
Vibe Coding and CHOP: What You Need to Know About AI-Driven Development (big/gra)18607
ai, vibe-coding, processes, tooling
Understanding the European Accessibility Act (EAA) (tin/tet)18606
eaa, legal, accessibility
The Bare Minimum You Need to Enable View Transitions on Your Website (ami)18605
html, css, view-transitions, minimalism
Quick Accessibility Wins That Are Easy to Implement (kev)18604
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)18603
programming, processes, ai, vibe-coding
Node.js TSC Votes to Stop Distributing Corepack (sar/soc)18602
nodejs, corepack
Naming Things in Design Systems—and Why It’s the Worst (pjo)18601
design-systems, naming, components
GitHub Suffers a Cascading Supply Chain Attack Compromising CI/CD Secrets (inf)18600
github, security, ci-cd
Next.js vs. TanStack18599
nextjs, tanstack, comparisons
How to Think About Baseline and Polyfills (mal)18598
how-tos, support, browsers, web-platform, polyfills
Designing Design Systems: A Framework for Names, Terms, and Definitions18597
design-systems, naming, documentation, processes
Twenty Twenty-Five Theme: The Ultimate Guide (abr)18596
guides, wordpress, themes
Self Gap (sha)18595
css, flexbox, layout
Reducing CSS Complexity With the “:is()” Pseudo-Class (cfe)18594
css, selectors, complexity
Polite Is Often Better Than Being Alerted (oze)18593
accessibility, aria, screen-readers
Past and Present Futures of User Interface Design18592
design, desktop, history, outlooks
Downtime vs. Slowtime: Which Costs You More? (tam/spe)18591
performance, economics, branding
A Deep Dive Into the Inline Background Overlap Problem (ana/fro)18590
deep-dives, css, svg, filters, backgrounds
Web Components vs. Framework Components: What’s the Difference? (sma)18589
web-components, components, frameworks, html, comparisons
Leveraging 3 Types of User Feedback to Create Better User Experiences (uxm)18588
user-experience, testing
Explaining UX Design Through the Lens of Construction (uxm)18587
user-experience, design, processes, concepts
Is React Accessible? That’s the Wrong Question18586
accessibility, react, jsx, semantics, html
Styling Counters in CSS (mon/css)18585
overviews, css, lists, counters
But How to Get to That European Cloud? (ber)18584
cloud-computing, politics, foss
A Review of HTML Linters18583
overviews, html, linting, conformance, tooling, link-lists, comparisons
What Are MCPs? A Beginner’s Guide to the Future of AI and Automation18582
guides, ai, mcp, architecture, automation
Bulk Actions: 3 Design Guidelines (nng)18581
videos, guidelines, design, usability
Please Stop Externalizing Your Costs Directly Into My Face (sir)18580
ai, crawling, traffic, economics
Breadcrumbs Are Dead in Web Design (web)18579
design-patterns, navigation, breadcrumbs
A11y 101: 1.4.2 Audio Control (nat)18578
introductions, accessibility, wcag, multimedia
Web Scraping With Cheerio in 2025 (api)18577
guides, scraping, tooling
Let’s Knock Down Social Media’s Walled Gardens (tim/fin)18576
web, social-media
Maintaining Screenshot Quality and Color Profile in Figma (max)18575
figma, screenshots, images, quality, colors
“Classless.css” Framework18574
frameworks, css
Accessibility Requires Clear Responsibilities or It Will Fail (cer)18573
accessibility, processes, culture
10 Uses for Variables Beyond Light and Dark Mode (ali)18572
figma, variables, dark-mode
Coding vs. Vibe Coding18571
processes, ai, vibe-coding, programming, comparisons
System Design Roadmap for Beginners18570
architecture, system-design, concepts
Why the Latest JavaScript Frameworks Are a Waste of Time18569
frameworks, javascript, react, angular
The Hidden Burden of Architectural Decision Fatigue (and How to Fix It)18568
architecture, documentation
Popping Preconceived Popover Ponderings (sco)18567
accessibility, html, pop-overs
Designers, Your Excuse Is Gone. Stunning, Animated, and Accessible. Yes, You Can! (bov)18566
design, accessibility
ADA Compliance vs. WCAG Conformance18565
accessibility, ada, wcag, compliance, comparisons, legal
State of Vue.js Report 202518564
surveys, vuejs, metrics, frameworks
How to Get Deep Traces in Your Node.js Backend With OTel and Deno (den)18563
how-tos, observability, tracing, nodejs, deno, tooling
How GitHub Engineers Learn New Codebases (bri)18562
github, learning, documentation
Accelerating Large-Scale Test Migration With LLMs18561
testing, migrating, ai, case-studies
“Intl.DurationFormat”: Format Time Durations With Locale Support (tre)18560
javascript, localization
How to Prevent WordPress SQL Injection Attacks (sma)18559
how-tos, wordpress, sql, databases, security
Browse No More (sta)18558
browsing, searching, ai, web, user-experience
How WebAssembly Crushes Technical Debt18557
webassembly, technical-debt, metrics
Connect Claude Code to a GitHub MCP Server (mat)18556
github, claude, ai, mcp
Support for CSS and Baseline Has Shipped in ESLint (mal)18555
eslint, css, browsers, support, web-platform
A Perplexing JavaScript Parsing Puzzle (hil)18554
javascript, parsing, history
Nobody Should Be a “Content Creator” (cod)18553
content, social-media, ai, career
“:in-range” Pseudo-Class (kev)18552
css, selectors, forms
Create a Fun Quick Text Flip Effect (kev)18551
videos, css, effects
Chilled Out Text Underlines (chr/fro)18550
css, links, colors
A 10× Faster TypeScript (ahe)18549
videos, typescript
What’s Missing With AI-Generated Code? Refactoring18548
surveys, studies, research, ai, productivity, quality, maintenance, refactoring
On JavaScript Closures (With Examples of Interview Questions) (mar)18547
guest-posts, javascript, closures, variables, examples, interviewing
Retrieval-Augmented Generation With Node.js, Podman AI Lab, and React18546
rag, ai, nodejs, podman, react
Why Microsoft Is Rewriting Their TypeScript Compiler in Go (imp)18545
microsoft, typescript, compiling, go
View Transitions Applied: Smoothly Animating a “border-radius” With a View Transition (bra)18544
css, animations, view-transitions, borders
Future of CSS: “select” Styling Without the Hacks18543
css, selectors, forms, html
Content Churn in Google Doubled Over Five Years (moz)18542
google, search, content, seo, metrics
DOJ Pushes for Google to Sell Chrome to Break Search Monopoly18541
google, search, legal, chrome, browsers
Design Systems Report 2025 (zer)18540
surveys, studies, research, design-systems, metrics
Automated Tools Can Ensure Full Accessibility Compliance18539
accessibility, compliance, tooling, automation
Angular Hacks Every Developer Should Know18538
angular