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

The News Feed and Archive for Web Developers (12)

→ Stay up-to-date on all topics by various RSS feeds (main feed with complete coverage: $2/month), on Mastodon, and on Bluesky

Entry (Sources) and TopicsDate#
Launching Interop 2025 (moz)18700
interoperability, web-platform, browsers, support
Which HTML Element Are You?18699
quizzes, html
Using the “step” and “pattern” Attributes to Make Number Inputs More Useful (cas/pic)18698
html, forms
Interop 2025 (pat)18697
interoperability, web-platform, browsers, support
Don’t Start Testing Accessibility With a Screen Reader (eri)18696
accessibility, testing, screen-readers, keyboard-navigation
Better Text Rendering in Chromium-Based Browsers on Windows (pat)18695
typography, rendering, browser-engines, browsers, chromium, windows
How to Improve Webpage Speed: Tips and Best Practices18694
how-tos, performance, optimization, tips-and-tricks, best-practices, redirecting, fonts, images, testing, tooling, webpagetest
State of React 2024 [Results] (sac+/dev)18693
surveys, metrics, react
Time to First Byte: Beyond Server Response Time (mat/sma)18692
performance, optimization, redirecting, content-delivery
Tech Continues to Be Political (mia)18691
politics, community, dei, ethics, ai, career
State of AI 2025 (sac/dev)18690
surveys, ai
Reimagining Fluid Typography (mia/odd)18689
typography, css, responsive-design, liquid-design
Why Emojis Are the Ultimate User Interface (web)18688
emoji, user-experience, design
Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t)18687
frameworks, javascript, html, conformance, comparisons, link-lists
Style Observer: JS to Observe CSS Property Changes, for Reals (lea)18686
tooling, libraries, css, javascript
Faux Containers in CSS Grids (tyl/clo)18685
css, grids, layout
Structuring Design Tokens for Interactive States18684
design-tokens
12 Web Accessibility Tips to Make Your Site More User-Friendly18683
accessibility, tips-and-tricks, contrast, alt-text, keyboard-navigation, navigation, captions, labels, skip-links, microcontent
Don’t Put Your Team in a Bubble18682
agile, scrum, product-management, engineering-management
How to Refactor Code With GitHub Copilot18681
how-tos, refactoring, ai, github-copilot, github
“Create React App” Officially Deprecated Amid React 19 Compatibility Issues (sar/soc)18680
react, vite, migrating, single-page-apps, deprecation
Web Components Toolkit (stu)18679
websites, web-components
The Mystery of Mutable Subresources in Signed Exchanges (paw)18678
authentication, signed-exchanges, caching, ruby-on-rails, nextjs, compression, http-headers, http
Simplify Nested Code (kei)18677
programming, nesting, conditionals, simplicity
How to Start a React Project (rwi)18676
how-tos, react
How to Write Cypress Tests That Don’t Suck (ato)18675
how-tos, testing, cypress
Control Scope Creep Before It Controls You18674
project-management, processes
Designing Accessible Website Navigation: Best Practices for Inclusive UX18673
accessibility, design, user-experience, navigation
One Year of Using the Web With Web Fonts Disabled18672
fonts, accessibility, readability
Engineers Who Won’t Commit (sea)18671
career, processes
Microsoft Study Finds AI Makes Human Cognition “Atrophied and Unprepared” (ema/404)18670
studies, research, microsoft, ai, career, learning
Micro Frontends With Angular and Native Federation (man/ang)18669
angular, micro-frontends
Website Accessibility Testing Methods That Work (a11)18668
accessibility, testing, processes
Organizing Design System Component Patterns With CSS Cascade Layers (mrt/css)18667
design-systems, components, css, cascade
Optimizing Images for Web Performance (tod/fro)18666
images, performance, optimization, jpeg, png, webp, avif, html, caching
How I Created a Popular WordPress Theme and Coined the Term “Hero Section” (Without Realizing It) (sma)18665
wordpress, themes, terminology, history
Exploring Routes Rendering Modes in Angular (mai)18664
angular, routing
Think JavaScript Is Slow? Here’s How JIT (Just in Time) Compilation Makes It 100× Faster Instantly18663
javascript, compiling, performance
Designing for AI Engineers: UI Patterns You Need to Know (eve)18662
design, design-patterns, principles, processes, ai
10 Must Read Microservices Architecture Books for Experienced Developers18661
books, microservices, architecture
Tightening Every Bolt (bag)18660
videos, c, processes, code-reviews, testing, security
TypeScript: The “satisfies” Operator (rau)18659
typescript, operators
The First Ever Website That Literally Glows in the Dark18658
videos, effects, apis, javascript, css
How I Migrated From WordPress to Astro (its)18657
migrating, wordpress, astro
6 Questions for Eric Eggert (yat+/fro)18656
interviews, accessibility, eaa, legal
Beyond DX: Developers Must Now Learn Agent Experience (AX)18655
code-editors, ai, agent-experience, developer-experience
Here Is Why Microsoft’s “Uninstall Edge” Page Offers No Instructions to Remove the Browser18654
edge, microsoft, browsers
The Complete OpenCode Guide: Tips, Tricks, and Best Practices18653
guides, tips-and-tricks, best-practices, opencode, ai
An Intro to React Compiler (nik)18652
introductions, react, compiling
The Popover API Is Now Baseline Newly Available18651
pop-overs, apis, browsers, support, web-platform
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra)18650
css, javascript, view-transitions, performance
Preload Fonts on Your Website for Better Core Web Vitals (deb)18649
performance, preloading, fonts, hints, web-vitals
Three Approaches to the “&” (Ampersand) Selector in CSS (pre/fro)18648
css, nesting
Taking RWD to the Extreme (sma)18647
responsive-design, intrinsic-design, html, css
Beware the Faux Bold (and How to Fix It) (ric)18646
typography, fonts, css
Read-Only Accessibility in TypeScript (rau)18645
typescript
How to Bring Structure and Clarity to Design System Components18644
how-tos, design-systems, components, documentation, conventions, information-architecture
Which Rich Text Editor Framework Should You Choose in 2025? (aur/liv)18643
tooling, comparisons, link-lists
Definition Layers Within Semantic Tokens (ikn)18642
design-tokens, semantics
My Experience as a Designer Working at Bit18641
design, career
What I Learned From Migrating a Vue Project From Vuex to Pinia (mic/pic)18640
migrating, vuejs, state-management, lessons
The Jetbrains Platform Gets a New Community Space (kle/jet)18639
jetbrains, community
How to Build a Design System? Bridging the Gap Between Design and Development18638
how-tos, design-systems, documentation
GitHub Copilot Brings Mockups to Life by Generating Code From Images (web)18637
github-copilot, ai, images, design
63% of Websites Receive AI Traffic (New Study of 3,000 Sites) (lou/ahr)18636
traffic, ai, metrics
How to Build a Landing Page in 6 Easy Steps (sem)18635
how-tos, landing-pages
The State of PHP 2024 [Results] (jet)18634
surveys, metrics, php, laravel, wordpress, symfony, phpstorm, vs-code, sublime-text, code-editors
DORA, SPACE, DevEx, DX Core 4 (j9t)18633
engineering-management, productivity, culture, metrics
Optimizing the Critical Rendering Path (mat/deb)18632
performance, optimization, critical-path
Some Terminal Frustrations (b0r)18631
command-line, shells
Using “at()” Method in JavaScript to Get the Last Item From an Array (ama)18630
javascript, arrays
The Problem With Indirections (dan)18629
programming, variables, functions, presentational-html, state-management
On Generative AI Security (sch)18628
ai, security, lessons, microsoft
Move on to ESM-Only (ant)18627
esm, modules, nodejs, support, javascript, typescript
HTML and CSS for a One-Time Password Input (chr/fro)18626
html, css, forms, passwords
How to Declare Your Page’s Language (pop)18625
how-tos, html, internationalization
Activism Matters for Tech Development and #FOSS Paths (inf)18624
foss, fediverse, sustainability, advocacy
The End of Programming as We Know It (tim/ore)18623
programming, processes, ai, career, history, outlooks
Reasons Not to Refactor (tho)18622
technical-debt, refactoring, processes, prioritization
Tutorial: Publishing ESM-Based npm Packages With TypeScript (rau)18621
tutorials, dependencies, npm, typescript
Which VoiceOver? (aar)18620
accessibility, voiceover, screen-readers, unix-like
Firefox 135 Launches With New Translation Languages, New Tab Layout, Security, and Privacy Improvements18619
firefox, browsers
10 Digital Accessibility Mistakes to Avoid18618
accessibility, mistakes, alt-text, images, contrast, colors, keyboard-navigation, aria, semantics, headings, labels, forms, pop-ups, testing
How to Gif (2025 Edition) (oll)18617
how-tos, images, multimedia, gif, png, webp, avif, jpeg-xl
Angular: The Documentary18616
videos, angularjs, angular, history
Alt Text Accessibility: Balancing AI and Human Oversight (tec+/equ)18615
podcasts, accessibility, images, multimedia, alt-text, ai, quality
How to Favicon in 2025: Three Files That Fit Most Needs (sit/evi)18614
how-tos, images, favicons
Introducing Fusion: Write PHP Inside Vue and React Components (eri/lar)18613
introductions, tooling, php, vuejs, react, components
How I Use LLMs as a Staff Engineer (sea)18612
ai, processes
Using Padding to Space an Input and Label (dar)18611
html, forms, labels, spacing, css
Understanding the Trade-Offs of Using Tailwind CSS (mon/mea)18610
tailwind, presentational-html, css
Oracle Justified Its JavaScript Trademark With Node.js—Now It Wants That Ignored (tin/den)18609
oracle, javascript, nodejs, deno, legal
Live CSS Colors: What You Can Safely Use (jar/van)18608
css, colors, functions
Internet of Agents18607
web, agent-experience, ai
Integrations: From Simple Data Transfer to Modern Composable Architectures (edo/sma)18606
architecture, web-services, apis, rest, graphql, webhooks, headless, content-management
How I Learned to Code With My Voice (whi)18605
voice, code-editors, tooling
Build a Link Blog (xua)18604
blogging, links
A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl/clo)18603
html, forms, lists, css
Smarter, Faster, Human: The Future of Design Systems With AI (uxm)18602
design-systems, ai, outlooks
Generating Fake Data for Privacy With Python18601
videos, python, privacy
Generating Image Descriptions and Alt-Text With AI (dri)18600
images, alt-text, accessibility, ai, quality
How to Perform Comprehensive ADA Testing (a11)18599
how-tos, testing, processes, ada, legal, compliance, accessibility
Typecasting and Viewport Transitions in CSS With “tan(atan2())” (mon/css)18598
css, transitions, animations, functions, math
There Are a Lot of Ways to Break Up Long Tasks in JavaScript (mac)18597
javascript, web-workers, performance
Notes on the “Code Editors With AI” Landscape (chr/fro)18596
ai, code-editors, plugins, github-copilot, cursor, project-idx, google, jetbrains
Introducing the JSR Open Governance Board (tin+/den)18595
introductions, jsr, javascript, typescript, community
How to Manage Old Content on a News Website (moz)18594
how-tos, content, content-management, maintenance, prioritization, redirecting, seo
Fast and Smooth Third-Party Web Fonts (sco)18593
fonts, embed-code, performance, css, javascript
Extending the Cursor (kyl)18592
design, interaction-design, cursors, examples
Developer Philosophy (qnt)18591
technical-debt, refactoring, quality, processes
Compiling CSS With Vite and Lightning CSS (mrt/css)18590
css, compiling, vite, lightning-css
Change “font-weight” Based on the User’s Screen DPI18589
css, typography, pixel-density
AI and Accessibility: The Good, the Bad, and the Bollocks (tin/rem)18588
videos, accessibility, ai
The Paradox of UX Personalization18587
user-experience, personalization, ai
Combining “currentColor” With Relative Color Syntax (oll)18586
css, colors
The Systemic Failure of Implementing CSS Principles18585
css, principles, history, maintainability, consistency, modules, craft
Before You Buy an Accessibility Audit (cer)18584
accessibility, auditing, training, testing, culture
OKLCH, Explained for Designers18583
design, colors, oklch
Demo: Running TypeScript Directly in Node.js (rau)18582
typescript, nodejs
CSS “scrollbar-color” and “scrollbar-gutter” Are Baseline Newly Available (bra)18581
css, scrolling, browsers, support, web-platform
React Is Just “document.createElement()” With Good Marketing, and I Can Prove It18580
react, typescript, tailwind
We Can’t Keep Simply Repeating This Mess (inf)18579
processes, sustainability
How to Write a Good Design Document (gra)18578
how-tos, writing, documentation, software-design
Effective Steps for Conducting a Thorough ADA Audit (a11)18577
accessibility, processes, ada, legal, compliance, auditing
AI Transparency Framework18576
ai, policies, processes
The Myth of “Fully Accessible” (sor)18575
accessibility, myths
The Politics of Accessibility18574
accessibility, history, advocacy, politics
Why Next.js Leads the Future of Web Development in 202518573
nextjs
Our Coding Obsession Is Pushing Kids Out of Tech18572
career
WCAG Colour Contrast: What Does the 4.5:1 Ratio Actually Mean? (the)18571
accessibility, wcag, contrast, colors
Understanding CORS Errors in Signed Exchanges (paw)18570
security, cors, errors, signed-exchanges
Microsoft Improves Text Contrast for All Windows Chromium Browsers (ser/ble)18569
contrast, colors, browsers, chromium, microsoft, windows
How to Set Up an Accessible Page Structure and Navigation (pop)18568
how-tos, accessibility, html, navigation
Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet)18567
fundamentals, forms, html, aria
XHTML in Modern Web Development (mar)18566
guest-posts, html, xhtml
Google Says “Links Matter Less”—We Looked at 1,000,000 SERPs to See if It’s True (ahr)18565
google, links, seo, metrics
Is npm Enough? Why Startups Are Coming After This JavaScript Package Registry (kat/red)18564
npm, jsr, bun, pnpm, yarn, javascript
US Blocks Open Source “Help” From These Countries18563
foss
Accessibility Beyond Compliance: A Driver for Innovation and UX18562
accessibility, compliance, user-experience
The Internet Is Unusable (ste)18561
web, ai, monetization, user-experience, usability
Vite With TypeScript (rwi)18560
vite, migrating, javascript, typescript, configuration
The European Accessibility Act for Websites and Apps (mar)18559
accessibility, legal, eaa, overviews
On Diversity (aar)18558
dei
How I Use AI: Meet My Promptly Hired Model Intern (mit)18557
ai, programming, processes, tooling
CSS Nesting: Use With Caution (bel/pic)18556
css, nesting
New to the Web Platform in January18555
release-notes, web-platform, browsers, firefox, chrome, safari
How to Determine if You Are Ready for a Leadership Position? (cod)18554
how-tos, career, leadership
A Modern Node.js and TypeScript Setup for 202518553
nodejs, typescript, configuration
From Manual Reviews to AI-Powered Insights: The Linux Foundation’s Code Review Transformation (cod)18552
linux-foundation, code-reviews, ai, coderabbit, case-studies
Computing With Tuples in TypeScript (rau)18551
typescript, arrays
Making Good on the Promise of Open Source AI18550
ai, foss
The 2025 Frontend Dogma Survey (fro)18549
frontend-dogma, surveys
How Data Structures Organize the Chaos of Modern Apps (yan/cod)18548
overviews, data-structures, arrays, caching
Transitioning Top-Layer Entries and the Display Property in CSS (uti/sma)18547
css, animations, transitions, techniques, effects
On Building AI Understanding and Automation Muscle (With 18 Random Problems Solved With AI) (j9t)18546
ai, automation, examples
Mapped Types in TypeScript (ama)18545
typescript, types
Keep Your Node.js Apps Secure With “npx is-my-node-vulnerable” (tre)18544
packages, npm, nodejs, security
How to Set WebGL Shader Colors With CSS and JavaScript (nma)18543
how-tos, webgl, css, javascript
Here’s Why Your Anchor Positioning Isn’t Working (jam/odd)18542
css, anchor-positioning
Dynamic Focus Zoom Effect With CSS “@property”18541
css, effects
The DOJ Provides Practical Guidance on How to Implement a Digital Accessibility Program18540
how-tos, accessibility, processes, prioritization
Why Teams Are Ditching DynamoDB18539
dynamodb, databases, aws
The Era of Agent Experience (AX) (jav)18538
agent-experience
Intro to Wasm in Deno (dsh/den)18537
introductions, webassembly, deno
Considerations for Making a Tree View Component Accessible (eri)18536
components, accessibility, keyboard-navigation, aria, case-studies
What Text Area Popovers Taught Me About Browser APIs (bla)18535
html, forms, apis, javascript
Svelte 5 and the Future of Frameworks: A Chat With Rich Harris (ric+/sma)18534
interviews, svelte, frameworks, outlooks
Page Bloat Update: How Does Ever-Increasing Page Size Affect Your Business and Your Users? (tam/spe)18533
performance, trends, metrics, javascript, images, desktop, mobile
Introducing AX: Why Agent Experience Matters (bii)18532
introductions, agent-experience, ai
Getting Started With TYPO3 (typ)18531
videos, introductions, typo3, content-management
Differences Between ESLint and TypeScript (jos/esl)18530
eslint, typescript, comparisons, linting, type-safety, quality
Best Practices for EU Web Accessibility Compliance Monitoring (a11)18529
accessibility, compliance, eaa, legal, monitoring
Why Should You Read Tech Books in the 2025 AI Age18528
learning, career
Did the US Government Cancel Accessibility? (mic)18527
legal, accessibility, politics
Figma Branches Best Practices18526
design, figma, best-practices, collaboration, naming, processes
The European Accessibility Act 2025: An Internet for All18525
accessibility, legal, eaa
Introducing Mentoss: The Fetch Mocker (nza)18524
introductions, data-fetching, tooling
How Does a Compiler Work? (cod)18523
compiling, programming
The Mistakes of CSS (mon/css)18522
css, technical-debt
The Browser Back Button: Hero, Villain, or Outdated Relic? (web)18521
browsers, usability, user-experience
Revisiting CSS Multi-Column Layout (mal/css)18520
css, layout
Pure CSS Mixin for Displaying Values of Custom Properties (kiz)18519
css, mixins, custom-properties
My Failed Attempt to Shrink All npm Packages by 5% (eva)18518
npm, dependencies, compression
How to Use ARIA Alert Effectively (flo/a11)18517
how-tos, aria, accessibility, best-practices, examples
Full-Bleed Layout With Modern CSS (css/fro)18516
css, layout
AI-Generated Art Is Postmodern Art18515
ai, art
How Long Is a Second in JavaScript? (iag)18514
javascript
What Is Cloud Computing?18513
cloud-computing, concepts, aws, azure, gcp
Focus Styles and Programmatic Focus (oll)18512
css, focus, keyboard-navigation
Backlink-Free SEO: How to Rank Content Without Links18511
how-tos, seo, content, links, backlinks
AI Slop, Suspicion, and Writing Back18510
ai, slop
How I Review Code as a Senior Developer for Better Results18509
processes, code-reviews, communication
Your Clean Code Might Be Someone Else’s Technical Debt18508
technical-debt, principles, quality
State Management: Simplified for Front-End Developers18507
state-management, flutter, react, vuejs, best-practices
Tailwind CSS Gets a “Ground-Up Rewrite” for Version 4.018506
tailwind
It’s Time for Design to Think Less and Feel More18505
design, creativity
React.js vs. Next.js (bhu)18504
react, nextjs, comparisons, performance
You’re Overthinking Web Components (all)18503
web-components, javascript
The Modern Way to Write JavaScript Servers (mar)18502
javascript, nodejs, servers
Only One “<details>” Open at a Time (osv)18501
html, disclosure-widgets
How I Open-Sourced My Secret Access Tokens From GitHub, Slack, and npm—and Who Actually Cares18500
security, github, slack, npm
Designing for Clarity: How We Restructured Intercom’s Information Architecture18499
design, information-architecture, case-studies
The 4 Top IDEs for Developers in 2025 (ele/des)18498
guest-posts, code-editors, comparisons, vs-code, intellij-idea, sublime-text
Announcing the Web AI Acceleration Fund (add)18497
ai, monetization, chrome, browsers
Ensuring Excellence: Proven Strategies for Quality Vue.js Development18496
vuejs, best-practices, techniques
How to Build a CMS With React-Admin (thi/mar)18495
how-tos, content-management
Why Are Big Tech Companies So Slow? (sea)18494
efficiency, productivity, complexity
10 Very Important Flutter Packages18493
flutter, dependencies
5 Microservices Design Patterns You Must Know in 202518492
microservices, software-design-patterns, link-lists
When DEI Fails: Is Diversity Just a Marketing Gimmick? (web)18491
dei
WCAG 3 a Change of Context (ste)18490
accessibility, wcag, terminology
TypeScript 5.8 Ships “--erasableSyntaxOnly” to Disable Enums (mat)18489
typescript
Section 508 Compliance: What You Need to Know18488
accessibility, compliance, section-508, legal
Positioning Text Around Elements With CSS Offset (pre/css)18487
css, effects
Node.js EOL Versions CVE Dubbed the “Worst CVE of the Year” by Security Experts (sar/soc)18486
nodejs, security, documentation
JavaScript Temporal Is Coming (bsm/mdn)18485
javascript, apis, time
How to Build a “Copy Code” Snippet Button and Why It Matters (whi)18484
how-tos, buttons, functionality, accessibility, developer-experience
Creating Accessibility Systems to Fix Accessibility Issues (vis/ass)18483
accessibility, processes, automation
Build It Yourself (mit)18482
dependencies, maintenance, maintainability, processes
We Need to Cut Down on Cloud Waste in 202518481
cloud-computing, sustainability
9 Design System Metrics That Matter18480
design-systems, metrics, user-experience, consistency, accessibility, maintenance, documentation, economics
When I Can Avoid It, I Don’t Manage Servers—My Experience With Google Cloud Run and AWS Fargate18479
serverless, gcp, aws
The Speed Trifecta: 11ty, Brotli 11, and CSS Fingerprinting (the)18478
performance, eleventy, brotli, compression, fingerprinting, caching, cloudflare
MPA View Transitions Deep Dive (bra+)18477
deep-dives, videos, css, view-transitions, multi-page-apps
Exploring AI, Web Development, and Accessibility in Tech With Stefan Judis (ste+/wea)18476
videos, interviewing, ai, javascript, runtimes, accessibility, screen-readers, craft
Cool URLs Don’t Change, Unless… (j9t)18475
urls, links, link-rot, redirecting
Build for the Web, Build on the Web, Build With the Web (css)18474
web-platform, processes
Interop 2024 Brings More Features to Baseline18473
interoperability, web-platform, support, browsers
Running Inference in Web Extensions (tar/moz)18472
firefox, browsers, ai
Why You Should Reconsider Your “Big Tech Job” in 202518471
career
The Four Most Dangerous Words to People With Disabilities18470
accessibility, communication
Tailwind CSS v4.0 (ada/tai)18469
release-notes, tailwind
Scroll State Queries Are on the Way (and a Bunch More) (kev)18468
videos, css, selectors, container-queries, functions, scrolling
Creating an Angled Slider (zac/fro)18467
sliders, html, css, effects
Angular Clean Coding Fundamentals18466
fundamentals, principles, angular
ECMAScript Proposal: RegExp Escaping (rau)18465
ecmascript, regex, escaping
Tuesday, January 21, 2025 Security Releases (raf/nod)18464
release-notes, nodejs, security
The Vertical Bar (“|”) Is the Best HTML Page Title Separator (kyr)18463
spacing
So, You Want to Push a Web Platform Feature?18462
web-platform, standards, processes, community
Things People Get Wrong About Electron (fel)18461
electron
New Capabilities for “attr()” (una)18460
css, functions
Navigating the Challenges of Modern Open-Source Authoring: Lessons Learned (alv/sma)18459
lessons, foss
Initial Load Performance for React Developers: Investigative Deep Dive (ade)18458
deep-dives, performance, react, web-vitals, metrics
Avoiding “anys” With Linting and TypeScript (jos/tse)18457
typescript, linting
[NestJS] v11.0.018456
release-notes, nestjs
Is SEO Dead in 2025? No, but Changes Are Coming (sem)18455
seo, search, ai, google
On AI Doomerism (fla)18454
ai, career
Building High-Performing Remote Engineering Teams (hcr)18453
engineering-management, communication, collaboration
The Second Wave of AI Coding Is Here (wil/tec)18452
ai, economics
Simplify Lazy Loading With Intersection Observer’s “scrollMargin” (fro)18451
scrolling, apis, javascript, lazy-loading, performance
My Website Has Been Gaslighting You (dav)18450
css, javascript, colors, effects
Emotional Intelligence in AI-Driven UX Design (uxm)18449
user-experience, design, ai, personalization
Adding Dark Mode to My Site, Shaving Yaks, and Questioning My Sanity (hl)18448
dark-mode, maintenance, hugo
Why Every Developer Should Fail (at Least Once)18447
career, learning
6 CSS Snippets Every Front-End Developer Should Know in 2025 (arg)18446
css, functions, custom-properties, transitions, animations, gradients, effects
Breaking the Frontend Ceiling (max)18445
career, learning, link-lists
Fetch and HTTP/2 Support in Node.js, Bun, and Deno (dis)18444
data-fetching, http, support, nodejs, bun, deno
Generating Test Values Using JavaScript Generators18443
typescript, javascript, functions, testing
Opacify HEX Color in CSS (osv)18442
css, colors, functions
Moving on From React, a Year Later (kel)18441
migrating, react, stimulus, performance
Vitest 3.0 Is Out (vit)18440
release-notes, vitest
Audio Description in Advertising (eri)18439
videos, accessibility, monetization, multimedia
Google Begins Requiring JavaScript for Google Search (kyl)18438
google, javascript
2024 Year in Review (fuj+)18437
astro, retrospectives
What Is the Shared Storage API?18436
videos, browser-storage, apis, privacy
From React to Next.js: When and Why to Make the Switch18435
migrating, react, nextjs
The Hidden Complexity of Scaling WebSockets (atu)18434
websockets, complexity, scalability
How to Structure Functions (cfe)18433
how-tos, functions, programming
Postgres vs. MySQL18432
postgresql, mysql, databases, comparisons
SolidJS Creator on Confronting Web Framework Complexity18431
frameworks, angular, vuejs, multi-page-apps, single-page-apps, javascript, complexity, outlooks
Open Source Drives the Twelve-Factor Modernization Project18430
foss, architecture, principles
23 HTML Cheat Sheets, for a Different Look at HTML (fro)18429
html, cheat-sheets, link-lists
The Web Is a Creative Industry and Is Facing the Same Decline and Shattered Economics as Film, TV, or Publishing (bal)18428
web, economics, creativity, career
Polypane 23 (pol)18427
release-notes, polypane, browsers
My 18-Months Rule for Open-Source Contributions (j9t)18426
foss, collaboration, communication, community
Interoperable Tokens (don)18425
design-systems, design-tokens, sass, jsx
Don’t Wrap Figure in a Link (aar)18424
html, links, screen-readers, accessibility
Creating Generative Artwork With Three.js (cod)18423
design, grids, art, threejs
How Fingerprinting Can Improve Your Website’s Performance18422
performance, caching, fingerprinting, optimization
A Checklist for Your tsconfig.json (rau)18421
typescript, configuration, checklists
The 2025 State of AI Development18420
surveys, ai
You Might Not Have a Web Performance Problem (mat/deb)18419
performance, web-vitals, lighthouse, seo, link-lists
What Is [the] TCP/IP Model and How Does the Protocol Work18418
protocols, tcp, ip, network
CSS “attr()” Gets an Upgrade (bra)18417
css, functions
CSS “scroll-state()” (arg)18416
css, container-queries, scrolling, examples
FastHTML and Heroku18415
web-apps, fasthtml, heroku
The Future of AI-Assisted Design Systems: Predictions and Use Cases18414
design-systems, ai, outlooks
The Optimization That Made Everything Slower18413
complexity, optimization, technical-debt
What Is a Callback Function? (cfe)18412
javascript, callbacks, functions
Using SVGs on Canvas With Compose Multiplatform (eev)18411
canvas, svg, images, javascript
User Research Myths (jon)18410
user-experience, usability, research, myths
The Usability Myth: Users Don’t Really Know What They Want (and That’s Totally OK) (web)18409
usability, user-experience, myths
On Certification (mar)18408
accessibility, career, training
Making “this” Less Annoying (dav)18407
javascript, formatting, configuration
Learning HTML Is the Best Investment I Ever Did (cod)18406
html, learning, career
JavaScript’s “Promise.race” and “Promise.all” Are Not “Fair” (chr)18405
javascript, promises
Drupal CMS 1.0 Released (dri)18404
release-notes, drupal
The Success of Interop 2024 (web)18403
interoperability, web-platform, browsers, support
Angular Team Unveils Strategy for 2025 (inf)18402
angular, strategies
Hiring Is the Billion Dollar Problem to Solve in 2025 (joe)18401
hiring, ai
Release Notes for Safari Technology Preview 211 (jon/web)18400
release-notes, safari, browsers
APIs Are Quickly Becoming the Latest Security Battleground (and Nightmare)18399
apis, security
[Accessibility Personas]18398
accessibility, personas
Data Structures and Algorithms (DSA): A Complete Tutorial18397
data-structures, algorithms, tutorials
CSS “text-box-trim” (arg)18396
css, typography
Troubles With Multipart Form Data and Fetch in Node.js (phi)18395
nodejs, data-fetching
Top Pens of 2024 on CodePen (cod)18394
codepen, code-pens, link-lists, retrospectives
Open Props UI18393
css, components, props
Justified Text: Better Than Expected? (tyl/clo)18392
css, typography
How I Write Angular Apps in 2025: Tools, Tips, Techniques (rai)18391
videos, angular, tooling, tips-and-tricks, techniques
CSS Wishlist for 2025 (chr/fro)18390
css, wish-lists
Advancing Accessibility: Strategies for Continuous Improvement (seg/equ)18389
accessibility, strategies, processes, culture
ADA Title II: Top 20 Questions Answered (gwi/deq)18388
accessibility, ada, legal, wcag
Introduction to Docker: Core Concepts18387
introductions, concepts, docker, containerization, command-line
Evolving GitHub Issues (Public Preview)18386
github, project-management
To Get to the Internet, You Need a Steam Shovel (res)18385
web, history
Revealed: React’s Experimental Animations API (cit)18384
react, animations, transitions, apis
Prefetching Subresources With Signed Exchanges (paw)18383
performance, caching, hints, signed-exchanges, optimization
How to Wait for the “sibling-count()” and “sibling-index()” Functions (mon/css)18382
how-tos, css, functions, selectors
Everything You Need to Know About Node.js Type Stripping (sat)18381
nodejs, typescript
Container Queries Unleashed (jos)18380
css, container-queries
A11y 101: 1.3.1 Info and Relationships (nat)18379
introductions, accessibility, wcag
9 GitHub Projects That Surprised Me (che)18378
foss, tooling, link-lists
CDN-First Is No Longer a Performance Feature (osv)18377
content-delivery, performance, caching, embed-code, privacy, security
Alternatives to htmx (htm)18376
tooling, alpinejs, hotwire, jquery, link-lists
Taking a Look at Compression Algorithms18375
compression, algorithms, gzip
What’s Involved in Getting a “Modern” Terminal Setup? (b0r)18374
shells, command-line, customization, configuration
WordPress Is in Trouble (gav)18373
automattic, wordpress, wp-engine, community
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)18372
javascript, hashing, performance, comparisons, bun, nodejs
HTML Developers: Please Consider—in the Year of 2025 (ste)18371
html, aria, accessibility
Accessibility of Emojis for List Bullets—Potential Issues (cer)18370
accessibility, emoji, lists, screen-readers, pronunciation
Mastering Angular Unit Testing: Best Practices and Tools (pla)18369
angular, testing, tooling, best-practices
ECMAScript Feature: Regular Expression Pattern Modifiers (rau)18368
ecmascript, regex
Oracle Refuses to Yield JavaScript Trademark, Deno Land Says (inf)18367
javascript, oracle, deno, legal
Code Quality Becomes Even More Vital in the AI Era18366
ai, quality, automation
Meta and Spotify’s AI Takeover: Is This the End of Human-Created Content?18365
facebook+meta, ai, content, economics
How to Conduct Accessibility Testing With Screen Readers18364
how-tos, accessibility, testing, screen-readers, assistive-tech
Tech Jobs Radar18363
websites, career, hiring
Creating Successful Design System OKRs That Drive Adoption18362
design-systems, okr, processes
How to Fix Washed Out Colors in Google Chrome Screenshots for Clear and Accurate Images18361
how-tos, screenshots, images, colors, chrome, google, browsers
Your First Component (don)18360
components, design-systems
Updates to the Customizable Select API (una)18359
apis, forms
Should Accordions Auto-Close Sections? (ash)18358
accordions, usability
Can AI Be Used as an Accessibility Testing Partner? (tho)18357
ai, accessibility, testing, tooling, comparisons
All JavaScript Keyboard Shortcut Libraries Are Broken18356
javascript, libraries, keyboard-shortcuts
What Is Website Traffic? And a Quick Guide on Tracking It (sem)18355
how-tos, traffic, analytics, google, tooling
10 Backend Terms Every Frontend Developer Should Know18354
terminology, concepts, architecture, performance
Let’s Standardize Async CSS (sco)18353
css, asynchrony
ECMAScript Feature: Import Attributes (rau)18352
ecmascript
Accessibility Always a Focus in Drupal18351
interviews, accessibility, drupal
Building Design Consistency: A Deep Dive Into Figma Variables at JW Player18350
deep-dives, design, design-systems, design-tokens, consistency, figma, variables, case-studies
Tight Mode: Why Browsers Produce Different Performance Results (geo/sma)18349
browsers, performance, chrome, safari, comparisons
Yeoman’s Next Chapter Maintenance Reboot (uli+)18348
yeoman
A New Chapter for Express.js: Triumphs of 2024 and an Ambitious 2025 (exp)18347
express, retrospectives, outlooks
Clean Up HTML Content for Retrieval-Augmented Generation With Readability.js (phi/dat)18346
html, scraping, tooling, nodejs, rag
The “:empty” Pseudo-Class in CSS (cfe)18345
css, selectors
Running Animations Without Keyframes (css)18344
css, animations, tips-and-tricks
Prescriptive and Descriptive Information Architectures (jar)18343
information-architecture, concepts
Creating Better Pull Requests (bel)18342
version-control, code-reviews, documentation, collaboration
Automated and Manual Accessibility Testing Work Best Together (pop)18341
accessibility, testing, comparisons
“aria-description” Does Not Translate (aar)18340
accessibility, aria, browsers, localization
A Couple CSS Tricks for HTML Dialog Elements (cas)18339
css, modals, tips-and-tricks
Lesser Known Uses of Better Known Attributes (sma)18338
html, attributes
Node’s New Built-In Support for TypeScript (rau)18337
nodejs, typescript, configuration
5 Technical JavaScript Trends You Need to Know About in 202518336
javascript, trends, architecture, serverless, webassembly, state-management, typescript, type-safety, micro-frontends
Exploring Modern JavaScript Compilers: Why Oxc Matters for the Developer Community (hac)18335
oxc, javascript, compiling, tooling
Eleventy, 2024 in Review (zac/11t)18334
eleventy, retrospectives
8 Modern Dev Tools to 100× Your Productivity (let)18333
productivity, tooling, link-lists
Sharing a Variable Across HTML, CSS, and JavaScript (chr/fro)18332
variables, html, css, javascript
Remove the “direction” Property on Your Arrow Icons (ali)18331
icons, images, microcontent
Getting All Comments From a Given User on a GitHub Discussion (www)18330
github, graphql
CSS Wish List 2025 (mey)18329
css, wish-lists
What Is the Definition of Done?18328
agile, scrum, documentation
Top PHP Alternative for Web Development?18327
php, javascript, java, python, ruby, c-sharp, go, c++, rust
1-Billion Row Challenge With Node.js18326
nodejs, performance
2024 JavaScript Rising Stars18325
javascript, frameworks, libraries, react, vuejs, tooling, mobile, desktop, state-management, ai, css-in-js, testing, graphql, retrospectives
Top React Best Practices in 202518324
react, best-practices
Reckoning: Frontend’s Lost Decade (sli/per)18323
videos, javascript, performance, web-platform
33 Anti-Patterns That Transform Product Managers Into Backlog Managers (dp)18322
product-management, anti-patterns, processes, agile
Progressive Enhancement Brings Everyone In (jay)18321
progressive-enhancement, history, javascript, advocacy, link-lists
pnpm 10 (pnp)18320
release-notes, pnpm
How to Design for High-Traffic Events and Prevent Your Website From Crashing (sma)18319
how-tos, traffic, hosting, scalability, content-delivery, caching, compression, testing
Double-Keyed Caching: How Browser Cache Partitioning Changed the Web (add)18318
browsers, caching, dependencies, network, content-delivery, performance
An Overview of the 50 Highest-Ranking Web Design and Development Glossaries (j9t)18317
overviews, comparisons, terminology, concepts, link-lists
Accessibility Essentials Every Front-End Developer Should Know (mar)18316
accessibility, fundamentals, html, semantics, forms, keyboard-navigation, modals, alt-text, focus, responsive-design, reduced-motion, aria
What’s Actually Happening With JS Frameworks18315
videos, javascript, frameworks, trends
Open Source in 2025: What Will Matter Most This Year?18314
foss, sustainability
HTML Is Actually a Programming Language—Fight Me (tim/wir)18313
html, programming
Use “translate” to Turn Off Element Translations (ste)18312
html, localization
The Difference Between HTML Attributes and Properties (pau/clo)18311
html, attributes, javascript, terminology
Relatively New Things You Should Know About HTML Heading Into 2025 (chr/fro)18310
html, forms, toggles, pop-overs, javascript, import-maps, css, transitions
Quick Note: Limit Use of “Logo” in Alt Text (nat)18309
accessibility, images, logos, alt-text, microcontent
JavaScript Frameworks—Heading Into 2025 (rya/thi)18308
javascript, frameworks, performance, complexity, maintainability
How to Order Attributes on HTML Elements18307
how-tos, html, attributes, sorting, conventions
How to Find All Existing and Archived URLs on a Website (tca/moz)18306
how-tos, urls, seo, sitemaps, tooling
Brief Note on Figure and Figcaption Support (aar)18305
html, accessibility, screen-readers, support
A Day in the Life of a Software Engineer in 2025 (rak)18304
career, programming
The Secret to Building Highly Responsive Systems18303
videos, architecture, software-design, performance, scalability
Scrum vs. Extreme Programming: Was XP Right All Along?18302
processes, agile, scrum
Top 6 Must Try Frontend Libraries for All Developers18301
libraries, tooling, link-lists
Tech Stack 202518300
tech-stacks, react, remix, astro, zustand, tailwind, prisma, zod, playwright, cloudflare
How to Become a Strong Software Architect18299
how-tos, architecture, career, learning
FTC Orders AI Accessibility Startup accessiBe to Pay $1M for Misleading Advertising (kyl)18298
accessibility, legal, ai
How to Scrape Web Content for RAG With Readability.js (phi/dat)18297
videos, how-tos, content, scraping, rag, ai
Updated Brief Note on Description List Support (aar)18296
html, lists, semantics, accessibility, screen-readers, support
This Is Not Your Last Job (chr)18295
career
What Is Google’s Navboost Algorithm? (sem)18294
google, search, seo
I Became a Better Developer by Doing This One Thing (and It’s Not Coding)18293
career
Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting (ros)18292
studies, research, privacy, css, fingerprinting
TypeScript Generics: A Complete Guide18291
guides, typescript, generics, examples
19 Cron Jobs for DevOps Engineers18290
dev-ops, cron, automation
Database Trends: A 2024 Review and a Look Ahead18289
databases, retrospectives, trends, outlooks
Refactoring a Web Performance Snippet for Security and Best Practice (the)18288
performance, javascript, metrics, refactoring
You Don’t Need Next.js18287
migrating, nextjs, react, metrics
View Transitions Snippets: Getting All Animations Linked to a View Transition (bra)18286
javascript, css, view-transitions, apis
The Future of htmx (ale/htm)18285
htmx, outlooks
The Cyber-Cleanse: Take Back Your Digital Footprint (cyb)18284
privacy, security
A Gentle Introduction to Using a Vector Database18283
introductions, databases, vector-databases, javascript, ai, openai
Designing Websites for Bad Performance (kee/per)18282
performance, caching, web-workers, hints, optimization
CSS Is Emotional: The Psychology of Specificity18281
css, cascade
Fabulous Font-Face Fallbacks (sto/per)18280
performance, css, fonts, typography
Breaking Up With Long Tasks or: How I Learned to Group Loops and Wield the Yield (rvi/per)18279
performance, javascript, loops
Kagi, Orion, and Gopher (geo)18278
orion, kagi, browsers
Do I Need This Node Dependency? (bri)18277
nodejs, dependencies
Your App Should Have Been a Website (and Probably Your Game Too)18276
mobile, native, web-apps, browsers, web-platform
5 Reasons Your Direct Traffic Can Suddenly Drop (moz)18275
traffic, analytics
Using DevTools to Validate Web Performance Improvements (nuc/per)18274
performance, dev-tools, browsers, chrome
The 20 Commandments of Software Engineering18273
principles, programming, complexity, documentation, commit-messages, code-reviews, dependencies, maintenance, collaboration
TypeScript Without Build Tools (chr/fro)18272
typescript, monorepos, tooling, link-lists
Shallow Clones Versus Structured Clones (phi)18271
javascript
Page Weight (dws+/htt)18270
web-almanac, studies, research, metrics, performance, storage, web-vitals
December 2024 Google Core Update (mor/sem)18269
google, search
Consistency Means Nothing (pjo)18268
consistency
The Must-Have SEO Checklist for Developers for 202518267
seo, checklists, metadata, urls, performance
Why Metrics Cannot Measure Software Development18266
programming, metrics, efficiency, productivity
After Rome Failure, VoidZero Is the Newest Attempt to Create Unified JavaScript Toolchain (inf)18265
voidzero, javascript, tooling
Using Iframes to Embed Arbitrary Content Is Probably a Bad Idea (tem)18264
iframes, embed-code, keyboard-navigation, scrolling, screen-readers, accessibility
Media (ste+/htt)18263
web-almanac, studies, research, metrics, multimedia, images, html
Datalists Are More Powerful Than You Think (two/mat)18262
html
The Ultimate Tech Stack for Startups in 202518261
tech-stacks, nextjs, tooling
Improve Accessibility of User Authentication (cer)18260
accessibility, authentication, forms, labels, validation
CSS: How to Indicate Container Overflow, When There Is Overflow (j9t)18259
how-tos, css, overflow, techniques
Boost Website Speed With Prefetching and the Speculation Rules API (sch/mat)18258
performance, hints, speculation, apis
Linux Commands and Concepts Every Developer Should Know18257
linux, unix-like, command-line
AI Needs So Much Power, It’s Making Yours Worse18256
ai
URLs and Percent Encoding18255
urls, encoding
My Favorite Web Performance Graphs of the Year (fab/per)18254
performance, metrics, visualization
Is It “Frontend” or “Front-End” or “Front End”? (mar)18253
guest-posts, terminology
Why Heading Order Matters in HTML (gra)18252
html, headings, accessibility
“text-box” (fon)18251
css, typography, spacing
Principles of Web Accessibility (hey)18250
accessibility, principles
Node.js Now Supports TypeScript by Default (mat)18249
nodejs, typescript, support
Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers (ale/mat)18248
html, buttons, icons, images, accessibility, screen-readers
Nothing Moves18247
design, animations
Don’t Let Your Redesign Ruin Performance: A Case Study (mac/per)18246
performance, redesigning, case-studies
The Underrated “<dl>” Element (luh/mat)18245
html, lists
Baseline Data Choices (chr/fro)18244
browsers, support, progressive-enhancement
Correlation or Causation: How Web Performance Proves Its Value (per)18243
performance, testing, metrics
Preloading Fonts for Web Performance With “link rel=preload” (acc/mat)18242
performance, preloading, fonts, html, hints
CSS “margin-trim” and Line Height Units (5t3)18241
css, margins, typography, units
Concurrency vs. Parallelism18240
programming, concurrency, concepts, comparisons
Caching Optimizations18239
json, caching, optimization, performance
The Curious (Performance) Case of CSS “@import” (erw/per)18238
performance, css, history
Crawling December: CDNs and Crawling (gee+)18237
seo, crawling, content-delivery
The Search Input: They Almost Got It Right (stv/mat)18236
html, forms, labels, screen-readers, assistive-tech, accessibility
How to Use Baseline Data (5t3)18235
how-tos, web-platform, browsers, support, documentation
The Devil Is in the “<details>” (mat)18234
html, disclosure-widgets
Relearning Dart18233
dart, flutter
JavaScript Benchmarking Is a Mess18232
javascript, performance
Why Are We So Rubbish at Accessibility? (car)18231
accessibility, craft, culture
The Design Leader Dilemma (boa/sma)18230
design, leadership, principles, policies, prioritization
CSS Wants to Be a System (dav)18229
css
A CSS Wishlist for 2025 (mon/css)18228
css, wish-lists
15 Principles for Secure Programming (rak)18227
security, principles, validation, testing
Build Your Own Site Speed Testing Tool With Puppeteer (per)18226
performance, testing, puppeteer
Accessibility First: How to Design Inclusive Frontend Experiences18225
how-tos, design, accessibility, html, semantics, alt-text, keyboard-navigation, aria, contrast, forms, focus
Mastering npm Scripts: Automate Everything in Your Frontend Workflow18224
npm, dependencies, environments, ci-cd, automation
Create Stunning Dashboards With ReactJS: Step-By-Step Guide18223
guides, react, visualization
AWS S3 Deep Dive18222
deep-dives, aws, s3, storage
Frontend Engineer at Adobe Interview Experience18221
career, interviewing, adobe
PSA: Stop Using the “title” Attribute as Tooltip (dni/mat)18220
html, attributes, tooltips, toggles, accessibility
Please Keep Your HTML Tables Clean and Lean, if You Really Need to Use Them (cer)18219
accessibility, html, tables
On Long Term Software Development (ber)18218
maintainability, maintenance, dependencies, foss, testing, complexity
My Approach to Running a Link Blog (sim)18217
blogging, links, content, writing, community
Don’t Hide Skip Links (oze)18216
accessibility, skip-links, hiding
Broadcast Channel API (5t3)18215
apis, javascript
Grouping Form Fields (mat)18214
html, forms
Important Topics for Frontend Developers to Master in 202518213
learning, javascript, typescript, css, frameworks, git, apis, testing, performance, security, ci-cd, websockets
Unattributed Navigation Overhead (UNO) (tim/per)18212
performance, metrics
Matt Mullenweg, WordPress, and the Battle for Control of the Internet (web)18211
automattic, wordpress, wp-engine, web
CSS “light-dark()” (may/5t3)18210
css, functions, dark-mode
A Progress Update on “reading-flow”18209
css, layout
JS Import Maps (5t3)18208
javascript, dependencies, import-maps
Biggest Privacy Erosion in 10 Years? On Google’s Policy Change Towards Fingerprinting18207
google, privacy, fingerprinting
“AsyncLocalStorage”: Simplify Context Management in Node.js (tre)18206
nodejs, javascript, asynchrony
AI and the Future of Accessibility With Dr. Gregg Vanderheiden18205
podcasts, interviews, accessibility, assistive-tech, ai, outlooks
8 Most Important System Design Concepts You Should Know18204
videos, architecture, system-design, concepts
Data-Driven SEO and Web Performance (tod/per)18203
seo, performance, web-vitals
Scroll-Driven and Fixed (chr/fro)18202
css, animations, scrolling, positioning
No ARIA Is Better Than Bad ARIA (kar)18201
videos, accessibility, aria, html