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

→ 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#
Here Is Why Microsoft’s “Uninstall Edge” Page Offers No Instructions to Remove the Browser17789
edge, microsoft, browsers
The Complete OpenCode Guide: Tips, Tricks, and Best Practices17788
guides, tips-and-tricks, best-practices, opencode, ai
An Intro to React Compiler (nik)17787
introductions, react, compiling
The Popover API Is Now Baseline Newly Available17786
pop-overs, apis, browsers, support, web-platform
6 Questions for Eric Eggert (yat+/fro)17785
interviews, accessibility, eaa, legal
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra)17784
css, javascript, view-transitions, performance
Preload Fonts on Your Website for Better Core Web Vitals (deb)17783
performance, preloading, fonts, hints, web-vitals
Three Approaches to the “&” (Ampersand) Selector in CSS (pre/fro)17782
css, nesting
Taking RWD to the Extreme (sma)17781
responsive-design, intrinsic-design, html, css
Beware the Faux Bold (and How to Fix It) (ric)17780
typography, fonts, css
How to Bring Structure and Clarity to Design System Components17779
how-tos, design-systems, components, documentation, conventions, information-architecture
Which Rich Text Editor Framework Should You Choose in 2025? (aur/liv)17778
tooling, comparisons, link-lists
Definition Layers Within Semantic Tokens (ikn)17777
design-tokens, semantics
My Experience as a Designer Working at Bit17776
design, career
What I Learned From Migrating a Vue Project From Vuex to Pinia (mic/pic)17775
migrating, vuejs, state-management, lessons
The Jetbrains Platform Gets a New Community Space (kle/jet)17774
jetbrains, community
Read-Only Accessibility in TypeScript (rau)17773
typescript
How to Build a Design System? Bridging the Gap Between Design and Development17772
how-tos, design-systems, documentation
GitHub Copilot Brings Mockups to Life by Generating Code From Images (web)17771
github-copilot, ai, images, design
63% of Websites Receive AI Traffic (New Study of 3,000 Sites) (lou/ahr)17770
traffic, ai, metrics
The State of PHP 2024 [Results] (jet)17769
surveys, metrics, php, laravel, wordpress, symfony, phpstorm, vs-code, sublime-text, code-editors
DORA, SPACE, DevEx, DX Core 4 (j9t)17768
engineering-management, productivity, culture, metrics
Optimizing the Critical Rendering Path (mat/deb)17767
performance, optimization, critical-path
Some Terminal Frustrations (b0r)17766
command-line, shells
Using “at()” Method in JavaScript to Get the Last Item From an Array (ama)17765
javascript, arrays
The Problem With Indirections (dan)17764
programming, variables, functions, presentational-html, state-management
On Generative AI Security (sch)17763
ai, security, lessons, microsoft
Move on to ESM-Only (ant)17762
esm, modules, nodejs, support, javascript, typescript
HTML and CSS for a One-Time Password Input (chr/fro)17761
html, css, forms, passwords
How to Declare Your Page’s Language (pop)17760
how-tos, html, internationalization
How to Build a Landing Page in 6 Easy Steps (sem)17759
how-tos, landing-pages
Activism Matters for Tech Development and #FOSS Paths (inf)17758
foss, fediverse, sustainability, advocacy
Which VoiceOver? (aar)17757
accessibility, voiceover, screen-readers, unix-like
Firefox 135 Launches With New Translation Languages, New Tab Layout, Security, and Privacy Improvements17756
firefox, browsers
10 Digital Accessibility Mistakes to Avoid17755
accessibility, mistakes, alt-text, images, contrast, colors, keyboard-navigation, aria, semantics, headings, labels, forms, pop-ups, testing
How to Gif (2025 Edition) (oll)17754
how-tos, images, multimedia, gif, png, webp, avif, jpeg-xl
Angular: The Documentary17753
videos, angularjs, angular, history
Alt Text Accessibility: Balancing AI and Human Oversight (tec+/equ)17752
podcasts, accessibility, images, multimedia, alt-text, ai, quality
How to Favicon in 2025: Three Files That Fit Most Needs (sit/evi)17751
how-tos, images, favicons
Introducing Fusion: Write PHP Inside Vue and React Components (eri/lar)17750
introductions, tooling, php, vuejs, react, components
How I Use LLMs as a Staff Engineer (sea)17749
ai, processes
Using Padding to Space an Input and Label (dar)17748
html, forms, labels, spacing, css
Understanding the Trade-Offs of Using Tailwind CSS (mon/mea)17747
tailwind, presentational-html, css
Tutorial: Publishing ESM-Based npm Packages With TypeScript (rau)17746
tutorials, dependencies, npm, typescript
The End of Programming as We Know It (tim/ore)17745
programming, processes, ai, career, history, outlooks
Reasons Not to Refactor (tho)17744
technical-debt, refactoring, processes, prioritization
Oracle Justified Its JavaScript Trademark With Node.js—Now It Wants That Ignored (tin/den)17743
oracle, javascript, nodejs, deno, legal
Live CSS Colors: What You Can Safely Use (jar/van)17742
css, colors, functions
Internet of Agents17741
web, agent-experience, ai
Integrations: From Simple Data Transfer to Modern Composable Architectures (edo/sma)17740
architecture, web-services, apis, rest, graphql, webhooks, headless, content-management
How I Learned to Code With My Voice (whi)17739
voice, code-editors, tooling
Build a Link Blog (xua)17738
blogging, links
A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl/clo)17737
html, forms, lists, css
Generating Image Descriptions and Alt-Text With AI (dri)17736
images, alt-text, accessibility, ai, quality
How to Perform Comprehensive ADA Testing (a11)17735
how-tos, testing, processes, ada, legal, compliance, accessibility
Typecasting and Viewport Transitions in CSS With “tan(atan2())” (mon/css)17734
css, transitions, animations, functions, math
There Are a Lot of Ways to Break Up Long Tasks in JavaScript (mac)17733
javascript, web-workers, performance
Smarter, Faster, Human: The Future of Design Systems With AI (uxm)17732
design-systems, ai, outlooks
Notes on the “Code Editors With AI” Landscape (chr/fro)17731
ai, code-editors, plugins, github-copilot, cursor, project-idx, google, jetbrains
Introducing the JSR Open Governance Board (tin+/den)17730
introductions, jsr, javascript, typescript, community
How to Manage Old Content on a News Website (moz)17729
how-tos, content, content-management, maintenance, prioritization, redirecting, seo
Fast and Smooth Third-Party Web Fonts (sco)17728
fonts, embed-code, performance, css, javascript
Extending the Cursor (kyl)17727
design, interaction-design, cursors, examples
Developer Philosophy (qnt)17726
technical-debt, refactoring, quality, processes
Compiling CSS With Vite and Lightning CSS (mrt/css)17725
css, compiling, vite, lightning-css
Change “font-weight” Based on the User’s Screen DPI17724
css, typography, pixel-density
AI and Accessibility: The Good, the Bad, and the Bollocks (tin/rem)17723
videos, accessibility, ai
The Paradox of UX Personalization17722
user-experience, personalization, ai
Combining “currentColor” With Relative Color Syntax (oll)17721
css, colors
The Systemic Failure of Implementing CSS Principles17720
css, principles, history, maintainability, consistency, modules, craft
Before You Buy an Accessibility Audit (cer)17719
accessibility, auditing, training, testing, culture
Demo: Running TypeScript Directly in Node.js (rau)17718
typescript, nodejs
CSS “scrollbar-color” and “scrollbar-gutter” Are Baseline Newly Available (bra)17717
css, scrolling, browsers, support, web-platform
React Is Just “document.createElement()” With Good Marketing, and I Can Prove It17716
react, typescript, tailwind
We Can’t Keep Simply Repeating This Mess (inf)17715
processes, sustainability
OKLCH, Explained for Designers17714
design, colors, oklch
How to Write a Good Design Document (gra)17713
how-tos, writing, documentation, software-design
AI Transparency Framework17712
ai, policies, processes
The Myth of “Fully Accessible” (sor)17711
accessibility, myths
The Politics of Accessibility17710
accessibility, history, advocacy, politics
Why Next.js Leads the Future of Web Development in 202517709
nextjs
Our Coding Obsession Is Pushing Kids Out of Tech17708
career
WCAG Colour Contrast: What Does the 4.5:1 Ratio Actually Mean? (the)17707
accessibility, wcag, contrast, colors
Understanding CORS Errors in Signed Exchanges (paw)17706
security, cors, errors, signed-exchanges
Microsoft Improves Text Contrast for All Windows Chromium Browsers (ser/ble)17705
contrast, colors, browsers, chromium, microsoft, windows
How to Set Up an Accessible Page Structure and Navigation (pop)17704
how-tos, accessibility, html, navigation
Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet)17703
fundamentals, forms, html, aria
Effective Steps for Conducting a Thorough ADA Audit (a11)17702
accessibility, processes, ada, legal, compliance, auditing
Is npm Enough? Why Startups Are Coming After This JavaScript Package Registry (kat/red)17701
npm, jsr, bun, pnpm, yarn, javascript
US Blocks Open Source “Help” From These Countries17700
foss
Accessibility Beyond Compliance: A Driver for Innovation and UX17699
accessibility, compliance, user-experience
The Internet Is Unusable (ste)17698
web, ai, monetization, user-experience, usability
XHTML in Modern Web Development (mar)17697
guest-posts, html, xhtml
Vite With TypeScript (rwi)17696
vite, migrating, javascript, typescript, configuration
The European Accessibility Act for Websites and Apps (mar)17695
accessibility, legal, eaa, overviews
On Diversity (aar)17694
dei
How I Use AI: Meet My Promptly Hired Model Intern (mit)17693
ai, programming, processes, tooling
Google Says “Links Matter Less”—We Looked at 1,000,000 SERPs to See if It’s True (ahr)17692
google, links, seo, metrics
CSS Nesting: Use With Caution (bel/pic)17691
css, nesting
A Modern Node.js and TypeScript Setup for 202517690
nodejs, typescript, configuration
New to the Web Platform in January (rac)17689
release-notes, web-platform, browsers, firefox, chrome, safari
Making Good on the Promise of Open Source AI17688
ai, foss
The 2025 Frontend Dogma Survey (fro)17687
frontend-dogma, surveys
How Data Structures Organize the Chaos of Modern Apps (yan/cod)17686
overviews, data-structures, arrays, caching
How to Determine if You Are Ready for a Leadership Position? (cod)17685
how-tos, career, leadership
Transitioning Top-Layer Entries and the Display Property in CSS (uti/sma)17684
css, animations, transitions, techniques, effects
On Building AI Understanding and Automation Muscle (With 18 Random Problems Solved With AI) (j9t)17683
ai, automation, examples
Mapped Types in TypeScript (ama)17682
typescript, types
Keep Your Node.js Apps Secure With “npx is-my-node-vulnerable” (tre)17681
packages, npm, nodejs, security
How to Set WebGL Shader Colors With CSS and JavaScript (nma)17680
how-tos, webgl, css, javascript
Here’s Why Your Anchor Positioning Isn’t Working (jam/odd)17679
css, anchor-positioning
Computing With Tuples in TypeScript (rau)17678
typescript, arrays
The DOJ Provides Practical Guidance on How to Implement a Digital Accessibility Program17677
how-tos, accessibility, processes, prioritization
Why Teams Are Ditching DynamoDB17676
dynamodb, databases, aws
The Era of Agent Experience (AX) (jav)17675
agent-experience
Intro to Wasm in Deno (dsh/den)17674
introductions, webassembly, deno
Considerations for Making a Tree View Component Accessible (eri)17673
components, accessibility, keyboard-navigation, aria, case-studies
Dynamic Focus Zoom Effect With CSS “@property”17672
css, effects
What Text Area Popovers Taught Me About Browser APIs (bla)17671
html, forms, apis, javascript
Svelte 5 and the Future of Frameworks: A Chat With Rich Harris (ric+/sma)17670
interviews, svelte, frameworks, outlooks
Page Bloat Update: How Does Ever-Increasing Page Size Affect Your Business and Your Users? (tam/spe)17669
performance, trends, metrics, javascript, images, desktop, mobile
Introducing AX: Why Agent Experience Matters (bii)17668
introductions, agent-experience, ai
Getting Started With TYPO3 (typ)17667
videos, introductions, typo3, content-management
Differences Between ESLint and TypeScript (jos/esl)17666
eslint, typescript, comparisons, linting, type-safety, quality
Did the US Government Cancel Accessibility? (mic)17665
legal, accessibility, politics
Figma Branches Best Practices17664
design, figma, best-practices, collaboration, naming, processes
The European Accessibility Act 2025: An Internet for All17663
accessibility, legal, eaa
Introducing Mentoss: The Fetch Mocker (nza)17662
introductions, data-fetching, tooling
How Does a Compiler Work? (cod)17661
compiling, programming
Why Should You Read Tech Books in the 2025 AI Age17660
learning, career
The Mistakes of CSS (mon/css)17659
css, technical-debt
The Browser Back Button: Hero, Villain, or Outdated Relic? (web)17658
browsers, usability, user-experience
Revisiting CSS Multi-Column Layout (mal/css)17657
css, layout
Pure CSS Mixin for Displaying Values of Custom Properties (kiz)17656
css, mixins, custom-properties
My Failed Attempt to Shrink All npm Packages by 5% (eva)17655
npm, dependencies, compression
How to Use ARIA Alert Effectively (flo/a11)17654
how-tos, aria, accessibility, best-practices, examples
Full-Bleed Layout With Modern CSS (css/fro)17653
css, layout
Best Practices for EU Web Accessibility Compliance Monitoring (a11)17652
accessibility, compliance, eaa, legal, monitoring
How Long Is a Second in JavaScript? (iag)17651
javascript
AI-Generated Art Is Postmodern Art17650
ai, art
What Is Cloud Computing?17649
cloud-computing, concepts, aws, azure, gcp
Focus Styles and Programmatic Focus (oll)17648
css, focus, keyboard-navigation
Backlink-Free SEO: How to Rank Content Without Links17647
how-tos, seo, content, links, backlinks
Tailwind CSS Gets a “Ground-Up Rewrite” for Version 4.017646
tailwind
It’s Time for Design to Think Less and Feel More17645
design, creativity
AI Slop, Suspicion, and Writing Back17644
ai, slop
Your Clean Code Might Be Someone Else’s Technical Debt17643
technical-debt, principles, quality
State Management: Simplified for Front-End Developers17642
state-management, flutter, react, vuejs, best-practices
React.js vs. Next.js (bhu)17641
react, nextjs, comparisons, performance
How I Review Code as a Senior Developer for Better Results17640
processes, code-reviews, communication
You’re Overthinking Web Components (all)17639
web-components, javascript
The Modern Way to Write JavaScript Servers (mar)17638
javascript, nodejs, servers
Only One “<details>” Open at a Time (osv)17637
html, disclosure-widgets
Designing for Clarity: How We Restructured Intercom’s Information Architecture17636
design, information-architecture, case-studies
The 4 Top IDEs for Developers in 2025 (ele/des)17635
guest-posts, code-editors, comparisons, vs-code, intellij-idea, sublime-text
Announcing the Web AI Acceleration Fund (add)17634
ai, monetization, chrome, browsers
Ensuring Excellence: Proven Strategies for Quality Vue.js Development17633
vuejs, best-practices, techniques
How to Build a CMS With React-Admin (thi/mar)17632
how-tos, content-management
Why Are Big Tech Companies So Slow? (sea)17631
efficiency, productivity, complexity
10 Very Important Flutter Packages17630
flutter, dependencies
5 Microservices Design Patterns You Must Know in 202517629
microservices, software-design-patterns, link-lists
When DEI Fails: Is Diversity Just a Marketing Gimmick? (web)17628
dei
WCAG 3 a Change of Context (ste)17627
accessibility, wcag, terminology
TypeScript 5.8 Ships “--erasableSyntaxOnly” to Disable Enums (mat)17626
typescript
Section 508 Compliance: What You Need to Know17625
accessibility, compliance, section-508, legal
Positioning Text Around Elements With CSS Offset (pre/css)17624
css, effects
Node.js EOL Versions CVE Dubbed the “Worst CVE of the Year” by Security Experts (sar/soc)17623
nodejs, security, documentation
JavaScript Temporal Is Coming (bsm/mdn)17622
javascript, apis, time
How to Build a “Copy Code” Snippet Button and Why It Matters (whi)17621
how-tos, buttons, functionality, accessibility, developer-experience
How I Open-Sourced My Secret Access Tokens From GitHub, Slack, and npm—and Who Actually Cares17620
security, github, slack, npm
Creating Accessibility Systems to Fix Accessibility Issues (vis/ass)17619
accessibility, processes, automation
Build It Yourself (mit)17618
dependencies, maintenance, maintainability, processes
We Need to Cut Down on Cloud Waste in 202517617
cloud-computing, sustainability
9 Design System Metrics That Matter17616
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 Fargate17615
serverless, gcp, aws
The Speed Trifecta: 11ty, Brotli 11, and CSS Fingerprinting (the)17614
performance, eleventy, brotli, compression, fingerprinting, caching, cloudflare
MPA View Transitions Deep Dive (bra+)17613
deep-dives, videos, css, view-transitions, multi-page-apps
Exploring AI, Web Development, and Accessibility in Tech With Stefan Judis (ste+/wea)17612
videos, interviewing, ai, javascript, runtimes, accessibility, screen-readers, craft
Cool URLs Don’t Change, Unless… (j9t)17611
urls, links, link-rot, redirecting
Build for the Web, Build on the Web, Build With the Web (css)17610
web-platform, processes
Running Inference in Web Extensions (tar/moz)17609
firefox, browsers, ai
Why You Should Reconsider Your “Big Tech Job” in 202517608
career
Interop 2024 Brings More Features to Baseline (rac)17607
interoperability, web-platform, support, browsers
The Four Most Dangerous Words to People With Disabilities17606
accessibility, communication
Tailwind CSS v4.0 (ada/tai)17605
release-notes, tailwind
Scroll State Queries Are on the Way (and a Bunch More) (kev)17604
videos, css, selectors, container-queries, functions, scrolling
Creating an Angled Slider (zac/fro)17603
sliders, html, css, effects
Tuesday, January 21, 2025 Security Releases (raf/nod)17602
release-notes, nodejs, security
Angular Clean Coding Fundamentals17601
fundamentals, principles, angular
The Vertical Bar (“|”) Is the Best HTML Page Title Separator (kyr)17600
spacing
So, You Want to Push a Web Platform Feature?17599
web-platform, standards, processes, community
Things People Get Wrong About Electron (fel)17598
electron
New Capabilities for “attr()” (una)17597
css, functions
Navigating the Challenges of Modern Open-Source Authoring: Lessons Learned (alv/sma)17596
lessons, foss
Initial Load Performance for React Developers: Investigative Deep Dive (ade)17595
deep-dives, performance, react, web-vitals, metrics
ECMAScript Proposal: RegExp Escaping (rau)17594
ecmascript, regex, escaping
Avoiding “anys” With Linting and TypeScript (jos/tse)17593
typescript, linting
[NestJS] v11.0.017592
release-notes, nestjs
Is SEO Dead in 2025? No, but Changes Are Coming (sem)17591
seo, search, ai, google
On AI Doomerism (fla)17590
ai, career
Building High-Performing Remote Engineering Teams (hcr)17589
engineering-management, communication, collaboration
The Second Wave of AI Coding Is Here (wil/tec)17588
ai, economics
Simplify Lazy Loading With Intersection Observer’s “scrollMargin” (fro)17587
scrolling, apis, javascript, lazy-loading, performance
My Website Has Been Gaslighting You (dav)17586
css, javascript, colors, effects
Emotional Intelligence in AI-Driven UX Design (uxm)17585
user-experience, design, ai, personalization
Adding Dark Mode to My Site, Shaving Yaks, and Questioning My Sanity (hl)17584
dark-mode, maintenance, hugo
Why Every Developer Should Fail (at Least Once)17583
career, learning
6 CSS Snippets Every Front-End Developer Should Know in 2025 (arg)17582
css, functions, custom-properties, transitions, animations, gradients, effects
Breaking the Frontend Ceiling (max)17581
career, learning, link-lists
Fetch and HTTP/2 Support in Node.js, Bun, and Deno (dis)17580
data-fetching, http, support, nodejs, bun, deno
Opacify HEX Color in CSS (osv)17579
css, colors, functions
Moving on From React, a Year Later (kel)17578
migrating, react, stimulus, performance
Generating Test Values Using JavaScript Generators17577
typescript, javascript, functions, testing
Audio Description in Advertising (eri)17576
videos, accessibility, monetization, multimedia
Google Begins Requiring JavaScript for Google Search (kyl)17575
google, javascript
2024 Year in Review (fuj+)17574
astro, retrospectives
What Is the Shared Storage API?17573
videos, browser-storage, apis, privacy
From React to Next.js: When and Why to Make the Switch17572
migrating, react, nextjs
Vitest 3.0 Is Out (vit)17571
release-notes, vitest
The Hidden Complexity of Scaling WebSockets (atu)17570
websockets, complexity, scalability
How to Structure Functions (cfe)17569
how-tos, functions, programming
Postgres vs. MySQL17568
postgresql, mysql, databases, comparisons
SolidJS Creator on Confronting Web Framework Complexity17567
frameworks, angular, vuejs, multi-page-apps, single-page-apps, javascript, complexity, outlooks
Open Source Drives the Twelve-Factor Modernization Project17566
foss, architecture, principles
23 HTML Cheat Sheets, for a Different Look at HTML (fro)17565
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)17564
web, economics, creativity, career
Polypane 23 (pol)17563
release-notes, polypane, browsers
My 18-Months Rule for Open-Source Contributions (j9t)17562
foss, collaboration, communication, community
Interoperable Tokens (don)17561
design-systems, design-tokens, sass, jsx
Don’t Wrap Figure in a Link (aar)17560
html, links, screen-readers, accessibility
The 2025 State of AI Development17559
surveys, ai
You Might Not Have a Web Performance Problem (mat/deb)17558
performance, web-vitals, lighthouse, seo, link-lists
What Is [the] TCP/IP Model and How Does the Protocol Work17557
protocols, tcp, ip, network
CSS “attr()” Gets an Upgrade (bra)17556
css, functions
CSS “scroll-state()” (arg)17555
css, container-queries, scrolling, examples
FastHTML and Heroku17554
web-apps, fasthtml, heroku
The Future of AI-Assisted Design Systems: Predictions and Use Cases17553
design-systems, ai, outlooks
Creating Generative Artwork With Three.js (cod)17552
design, grids, art, threejs
The Optimization That Made Everything Slower17551
complexity, optimization, technical-debt
What Is a Callback Function? (cfe)17550
javascript, callbacks, functions
Using SVGs on Canvas With Compose Multiplatform (eev)17549
canvas, svg, images, javascript
User Research Myths (jon)17548
user-experience, usability, research, myths
The Usability Myth: Users Don’t Really Know What They Want (and That’s Totally OK) (web)17547
usability, user-experience, myths
On Certification (mar)17546
accessibility, career, training
Making “this” Less Annoying (dav)17545
javascript, formatting, configuration
Learning HTML Is the Best Investment I Ever Did (cod)17544
html, learning, career
JavaScript’s “Promise.race” and “Promise.all” Are Not “Fair” (chr)17543
javascript, promises
How Fingerprinting Can Improve Your Website’s Performance17542
performance, caching, fingerprinting, optimization
Drupal CMS 1.0 Released (dri)17541
release-notes, drupal
A Checklist for Your tsconfig.json (rau)17540
typescript, configuration, checklists
Angular Team Unveils Strategy for 2025 (inf)17539
angular, strategies
Hiring Is the Billion Dollar Problem to Solve in 2025 (joe)17538
hiring, ai
Release Notes for Safari Technology Preview 211 (jon/web)17537
release-notes, safari, browsers
APIs Are Quickly Becoming the Latest Security Battleground (and Nightmare)17536
apis, security
[Accessibility Personas]17535
accessibility, personas
Data Structures and Algorithms (DSA): A Complete Tutorial17534
data-structures, algorithms, tutorials
CSS “text-box-trim” (arg)17533
css, typography
Troubles With Multipart Form Data and Fetch in Node.js (phi)17532
nodejs, data-fetching
Top Pens of 2024 on CodePen (cod)17531
codepen, code-pens, link-lists, retrospectives
The Success of Interop 2024 (jen/web)17530
interoperability, web-platform, browsers, support
Open Props UI17529
css, components, props
Justified Text: Better Than Expected? (tyl/clo)17528
css, typography
How I Write Angular Apps in 2025: Tools, Tips, Techniques (rai)17527
videos, angular, tooling, tips-and-tricks, techniques
CSS Wishlist for 2025 (chr/fro)17526
css, wish-lists
Advancing Accessibility: Strategies for Continuous Improvement (seg/equ)17525
accessibility, strategies, processes, culture
ADA Title II: Top 20 Questions Answered (gwi/deq)17524
accessibility, ada, legal, wcag
Evolving GitHub Issues (Public Preview)17523
github, project-management
To Get to the Internet, You Need a Steam Shovel (res)17522
web, history
Revealed: React’s Experimental Animations API (cit)17521
react, animations, transitions, apis
Prefetching Subresources With Signed Exchanges (paw)17520
performance, caching, hints, signed-exchanges, optimization
Introduction to Docker: Core Concepts17519
introductions, concepts, docker, containerization, command-line
How to Wait for the “sibling-count()” and “sibling-index()” Functions (mon/css)17518
how-tos, css, functions, selectors
Everything You Need to Know About Node.js Type Stripping (sat)17517
nodejs, typescript
Container Queries Unleashed (jos)17516
css, container-queries
A11y 101: 1.3.1 Info and Relationships (nat)17515
introductions, accessibility, wcag
9 GitHub Projects That Surprised Me (che)17514
foss, tooling, link-lists
CDN-First Is No Longer a Performance Feature (osv)17513
content-delivery, performance, caching, embed-code, privacy, security
Alternatives to htmx (htm)17512
tooling, alpinejs, hotwire, jquery, link-lists
What’s Involved in Getting a “Modern” Terminal Setup? (b0r)17511
shells, command-line, customization, configuration
Taking a Look at Compression Algorithms17510
compression, algorithms, gzip
WordPress Is in Trouble (gav)17509
automattic, wordpress, wp-engine, community
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)17508
javascript, hashing, performance, comparisons, bun, nodejs
HTML Developers: Please Consider—in the Year of 2025 (ste)17507
html, aria, accessibility
Accessibility of Emojis for List Bullets—Potential Issues (cer)17506
accessibility, emoji, lists, screen-readers, pronunciation
Oracle Refuses to Yield JavaScript Trademark, Deno Land Says (inf)17505
javascript, oracle, deno, legal
Code Quality Becomes Even More Vital in the AI Era17504
ai, quality, automation
Meta and Spotify’s AI Takeover: Is This the End of Human-Created Content?17503
facebook+meta, ai, content, economics
How to Conduct Accessibility Testing With Screen Readers17502
how-tos, accessibility, testing, screen-readers, assistive-tech
Tech Jobs Radar17501
websites, career, hiring
Creating Successful Design System OKRs That Drive Adoption17500
design-systems, okr, processes
How to Fix Washed Out Colors in Google Chrome Screenshots for Clear and Accurate Images17499
how-tos, screenshots, images, colors, chrome, google, browsers
Your First Component (don)17498
components, design-systems
Updates to the Customizable Select API (una)17497
apis, forms
Should Accordions Auto-Close Sections? (ash)17496
accordions, usability
Mastering Angular Unit Testing: Best Practices and Tools (pla)17495
angular, testing, tooling, best-practices
ECMAScript Feature: Regular Expression Pattern Modifiers (rau)17494
ecmascript, regex
Can AI Be Used as an Accessibility Testing Partner? (tho)17493
ai, accessibility, testing, tooling, comparisons
All JavaScript Keyboard Shortcut Libraries Are Broken17492
javascript, libraries, keyboard-shortcuts
Accessibility Always a Focus in Drupal17491
interviews, accessibility, drupal
Building Design Consistency: A Deep Dive Into Figma Variables at JW Player17490
deep-dives, design, design-systems, design-tokens, consistency, figma, variables, case-studies
Tight Mode: Why Browsers Produce Different Performance Results (geo/sma)17489
browsers, performance, chrome, safari, comparisons
Yeoman’s Next Chapter Maintenance Reboot (uli+)17488
yeoman
A New Chapter for Express.js: Triumphs of 2024 and an Ambitious 2025 (exp)17487
express, retrospectives, outlooks
Clean Up HTML Content for Retrieval-Augmented Generation With Readability.js (phi/dat)17486
html, scraping, tooling, nodejs, rag
What Is Website Traffic? And a Quick Guide on Tracking It (sem)17485
how-tos, traffic, analytics, google, tooling
The “:empty” Pseudo-Class in CSS (cfe)17484
css, selectors
Running Animations Without Keyframes (css)17483
css, animations, tips-and-tricks
Prescriptive and Descriptive Information Architectures (jar)17482
information-architecture, concepts
Let’s Standardize Async CSS (sco)17481
css, asynchronicity
ECMAScript Feature: Import Attributes (rau)17480
ecmascript
Creating Better Pull Requests (bel)17479
version-control, code-reviews, documentation, collaboration
Automated and Manual Accessibility Testing Work Best Together (pop)17478
accessibility, testing, comparisons
“aria-description” Does Not Translate (aar)17477
accessibility, aria, browsers, localization
A Couple CSS Tricks for HTML Dialog Elements (cas)17476
css, modals, tips-and-tricks
10 Backend Terms Every Frontend Developer Should Know17475
terminology, concepts, architecture, performance
5 Technical JavaScript Trends You Need to Know About in 202517474
javascript, trends, architecture, serverless, webassembly, state-management, typescript, type-safety, micro-frontends
Exploring Modern JavaScript Compilers: Why Oxc Matters for the Developer Community (hac)17473
oxc, javascript, compiling, tooling
Eleventy, 2024 in Review (zac/11t)17472
eleventy, retrospectives
8 Modern Dev Tools to 100× Your Productivity (let)17471
productivity, tooling, link-lists
Sharing a Variable Across HTML, CSS, and JavaScript (chr/fro)17470
variables, html, css, javascript
Remove the “direction” Property on Your Arrow Icons (ali)17469
icons, images, microcontent
Node’s New Built-In Support for TypeScript (rau)17468
nodejs, typescript, configuration
Lesser Known Uses of Better Known Attributes (sma)17467
html, attributes
Getting All Comments From a Given User on a GitHub Discussion (www)17466
github, graphql
CSS Wish List 2025 (mey)17465
css, wish-lists
What Is the Definition of Done?17464
agile, scrum, documentation
Top PHP Alternative for Web Development?17463
php, javascript, java, python, ruby, go, rust
Top React Best Practices in 202517462
react, best-practices
Reckoning: Frontend’s Lost Decade (sli/per)17461
videos, javascript, performance, web-platform
33 Anti-Patterns That Transform Product Managers Into Backlog Managers (dp)17460
product-management, anti-patterns, processes, agile
Progressive Enhancement Brings Everyone In (jay)17459
progressive-enhancement, history, javascript, advocacy, link-lists
pnpm 10 (pnp)17458
release-notes, pnpm
How to Design for High-Traffic Events and Prevent Your Website From Crashing (sma)17457
how-tos, traffic, hosting, scalability, content-delivery, caching, compression, testing
Double-Keyed Caching: How Browser Cache Partitioning Changed the Web (add)17456
browsers, caching, dependencies, network, content-delivery, performance
An Overview of the 50 Highest-Ranking Web Design and Development Glossaries (j9t)17455
overviews, comparisons, terminology, concepts, link-lists
Accessibility Essentials Every Front-End Developer Should Know (mar)17454
accessibility, fundamentals, html, semantics, forms, keyboard-navigation, modals, alt-text, focus, responsive-design, reduced-motion, aria
2024 JavaScript Rising Stars17453
javascript, frameworks, libraries, react, vuejs, tooling, mobile, desktop, state-management, ai, css-in-js, testing, graphql, retrospectives
1-Billion Row Challenge With Node.js17452
nodejs, performance
Open Source in 2025: What Will Matter Most This Year?17451
foss, sustainability
HTML Is Actually a Programming Language—Fight Me (tim/wir)17450
html, programming
What’s Actually Happening With JS Frameworks17449
videos, javascript, frameworks, trends
Use “translate” to Turn Off Element Translations (ste)17448
html, localization
The Difference Between HTML Attributes and Properties (pau/clo)17447
html, attributes, javascript, terminology
Relatively New Things You Should Know About HTML Heading Into 2025 (chr/fro)17446
html, forms, toggles, pop-overs, javascript, import-maps, css, transitions
Quick Note: Limit Use of “Logo” in Alt Text (nat)17445
accessibility, images, logos, alt-text, microcontent
JavaScript Frameworks—Heading Into 2025 (rya/thi)17444
javascript, frameworks, performance, complexity, maintainability
How to Order Attributes on HTML Elements17443
how-tos, html, attributes, sorting, conventions
How to Find All Existing and Archived URLs on a Website (tca/moz)17442
how-tos, urls, seo, sitemaps, tooling
Brief Note on Figure and Figcaption Support (aar)17441
html, accessibility, screen-readers, support
A Day in the Life of a Software Engineer in 2025 (rak)17440
career, programming
The Secret to Building Highly Responsive Systems17439
videos, architecture, software-design, performance, scalability
Top 6 Must Try Frontend Libraries for All Developers17438
libraries, tooling, link-lists
Scrum vs. Extreme Programming: Was XP Right All Along?17437
processes, agile, scrum
FTC Orders AI Accessibility Startup accessiBe to Pay $1M for Misleading Advertising (kyl)17436
accessibility, legal, ai
How to Scrape Web Content for RAG With Readability.js (phi/dat)17435
videos, how-tos, content, scraping, rag, ai
How to Become a Strong Software Architect17434
how-tos, architecture, career, learning
Updated Brief Note on Description List Support (aar)17433
html, lists, semantics, accessibility, screen-readers, support
This Is Not Your Last Job (chr)17432
career
Tech Stack 202517431
tech-stacks, react, remix, astro, zustand, tailwind, prisma, playwright, cloudflare
I Became a Better Developer by Doing This One Thing (and It’s Not Coding)17430
career
Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting (ros)17429
studies, research, privacy, css, fingerprinting
TypeScript Generics: A Complete Guide17428
guides, typescript, generics, examples
19 Cron Jobs for DevOps Engineers17427
dev-ops, cron, automation
Database Trends: A 2024 Review and a Look Ahead17426
databases, retrospectives, trends, outlooks
What Is Google’s Navboost Algorithm? (sem)17425
google, search, seo
Refactoring a Web Performance Snippet for Security and Best Practice (the)17424
performance, javascript, metrics, refactoring
View Transitions Snippets: Getting All Animations Linked to a View Transition (bra)17423
javascript, css, view-transitions, apis
You Don’t Need Next.js17422
migrating, nextjs, react, metrics
The Future of htmx (ale/htm)17421
htmx, outlooks
The Cyber-Cleanse: Take Back Your Digital Footprint (cyb)17420
privacy, security
Designing Websites for Bad Performance (per)17419
performance, caching, web-workers, hints, optimization
Fabulous Font-Face Fallbacks (sto/per)17418
performance, css, fonts, typography
Breaking Up With Long Tasks or: How I Learned to Group Loops and Wield the Yield (rvi/per)17417
performance, javascript, loops
Kagi, Orion, and Gopher (geo)17416
orion, kagi, browsers
A Gentle Introduction to Using a Vector Database17415
introductions, databases, vector-databases, javascript, ai, openai
Do I Need This Node Dependency? (bri)17414
nodejs, dependencies
CSS Is Emotional: The Psychology of Specificity17413
css, cascade
Using DevTools to Validate Web Performance Improvements (nuc/per)17412
performance, dev-tools, browsers, chrome
The 20 Commandments of Software Engineering17411
principles, programming, complexity, documentation, commit-messages, code-reviews, dependencies, maintenance, collaboration
Your App Should Have Been a Website (and Probably Your Game Too)17410
mobile, native, web-apps, browsers, web-platform
TypeScript Without Build Tools (chr/fro)17409
typescript, monorepos, tooling, link-lists
Shallow Clones Versus Structured Clones (phi)17408
javascript
Page Weight (dws+/htt)17407
web-almanac, studies, research, metrics, performance, storage, web-vitals
December 2024 Google Core Update (mor/sem)17406
google, search
Consistency Means Nothing (pjo)17405
consistency
5 Reasons Your Direct Traffic Can Suddenly Drop (moz)17404
traffic, analytics
After Rome Failure, VoidZero Is the Newest Attempt to Create Unified JavaScript Toolchain (inf)17403
voidzero, javascript, tooling
Why Metrics Cannot Measure Software Development17402
programming, metrics, efficiency, productivity
Using Iframes to Embed Arbitrary Content Is Probably a Bad Idea (tem)17401
iframes, embed-code, keyboard-navigation, scrolling, screen-readers, accessibility
The Must-Have SEO Checklist for Developers for 202517400
seo, checklists, metadata, urls, performance
Media (ste+/htt)17399
web-almanac, studies, research, metrics, multimedia, images, html
Datalists Are More Powerful Than You Think (two/mat)17398
html
The Ultimate Tech Stack for Startups in 202517397
tech-stacks, nextjs, tooling
Improve Accessibility of User Authentication (cer)17396
accessibility, authentication, forms, labels, validation
CSS: How to Indicate Container Overflow, When There Is Overflow (j9t)17395
how-tos, css, overflow, techniques
Boost Website Speed With Prefetching and the Speculation Rules API (sch/mat)17394
performance, hints, speculation, apis
AI Needs So Much Power, It’s Making Yours Worse17393
ai
URLs and Percent Encoding17392
urls, encoding
My Favorite Web Performance Graphs of the Year (fab/per)17391
performance, metrics, visualization
Is It “Frontend” or “Front-End” or “Front End”? (mar)17390
guest-posts, terminology
Linux Commands and Concepts Every Developer Should Know17389
unix-like, command-line
Why Heading Order Matters in HTML (gra)17388
html, headings, accessibility
“text-box” (fon)17387
css, typography, spacing
Principles of Web Accessibility (hey)17386
accessibility, principles
Node.js Now Supports TypeScript by Default (mat)17385
nodejs, typescript, support
Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers (ale/mat)17384
html, buttons, icons, images, accessibility, screen-readers
Don’t Let Your Redesign Ruin Performance: A Case Study (mac/per)17383
performance, redesigning, case-studies
The Underrated “<dl>” Element (luh/mat)17382
html, lists
Nothing Moves17381
design, animations
Baseline Data Choices (chr/fro)17380
browsers, support, progressive-enhancement
Correlation or Causation: How Web Performance Proves Its Value (per)17379
performance, testing, metrics
Preloading Fonts for Web Performance With “link rel=preload” (acc/mat)17378
performance, preloading, fonts, html, hints
Caching Optimizations17377
json, caching, optimization, performance
The Curious (Performance) Case of CSS “@import” (erw/per)17376
performance, css, history
Crawling December: CDNs and Crawling (gee+)17375
seo, crawling, content-delivery
Concurrency vs. Parallelism17374
programming, concurrency, concepts, comparisons
The Search Input: They Almost Got It Right (stv/mat)17373
html, forms, labels, screen-readers, assistive-tech, accessibility
CSS “margin-trim” and Line Height Units (jen/5t3)17372
css, margins, typography, units
Relearning Dart17371
dart, flutter
Why Are We So Rubbish at Accessibility? (car)17370
accessibility, craft, culture
The Devil Is in the “<details>” (mat)17369
html, disclosure-widgets
The Design Leader Dilemma (boa/sma)17368
design, leadership, principles, policies, prioritization
JavaScript Benchmarking Is a Mess17367
javascript, performance
How to Use Baseline Data (rac/5t3)17366
how-tos, web-platform, browsers, support, documentation
CSS Wants to Be a System (dav)17365
css
A CSS Wishlist for 2025 (mon/css)17364
css, wish-lists
15 Principles for Secure Programming (rak)17363
security, principles, validation, testing
Accessibility First: How to Design Inclusive Frontend Experiences17362
how-tos, design, accessibility, html, semantics, alt-text, keyboard-navigation, aria, contrast, forms, focus
Mastering npm Scripts: Automate Everything in Your Frontend Workflow17361
npm, dependencies, environments, ci-cd, automation
Create Stunning Dashboards With ReactJS: Step-By-Step Guide17360
guides, react, visualization
AWS S3 Deep Dive17359
deep-dives, aws, s3, storage
Build Your Own Site Speed Testing Tool With Puppeteer (per)17358
performance, testing, puppeteer
Frontend Engineer at Adobe Interview Experience17357
career, interviewing, adobe
PSA: Stop Using the “title” Attribute as Tooltip (dni/mat)17356
html, attributes, tooltips, toggles, accessibility
Please Keep Your HTML Tables Clean and Lean, if You Really Need to Use Them (cer)17355
accessibility, html, tables
On Long Term Software Development (ber)17354
maintainability, maintenance, dependencies, foss, testing, complexity
My Approach to Running a Link Blog (sim)17353
blogging, links, content, writing, community
Don’t Hide Skip Links (oze)17352
accessibility, skip-links, hiding
Broadcast Channel API (5t3)17351
apis, javascript
Unattributed Navigation Overhead (UNO) (tim/per)17350
performance, metrics
Matt Mullenweg, WordPress, and the Battle for Control of the Internet (web)17349
automattic, wordpress, wp-engine, web
Important Topics for Frontend Developers to Master in 202517348
learning, javascript, typescript, css, frameworks, git, apis, testing, performance, security, ci-cd, websockets
Grouping Form Fields (mat)17347
html, forms
CSS “light-dark()” (may/5t3)17346
css, functions, dark-mode
AI and the Future of Accessibility With Dr. Gregg Vanderheiden17345
podcasts, interviews, accessibility, assistive-tech, ai, outlooks
8 Most Important System Design Concepts You Should Know17344
videos, architecture, system-design, concepts
Data-Driven SEO and Web Performance (tod/per)17343
seo, performance, web-vitals
Scroll-Driven and Fixed (chr/fro)17342
css, animations, scrolling, positioning
No ARIA Is Better Than Bad ARIA (kar)17341
videos, accessibility, aria, html
My Favourite Colour Is Chuck Norris Red (val/mat)17340
html, colors
JS Import Maps (5t3)17339
javascript, dependencies, import-maps
Biggest Privacy Erosion in 10 Years? On Google’s Policy Change Towards Fingerprinting17338
google, privacy, fingerprinting
“AsyncLocalStorage”: Simplify Context Management in Node.js (tre)17337
nodejs, javascript, asynchronicity
A Progress Update on “reading-flow” (rac)17336
css, layout
CSS Multi-Column Layout Module Level 2 (rac+/w3c)17335
css, standards, layout
The Cloud and the Climate: Navigating AI-Powered Futures (mrc)17334
podcasts, interviews, cloud-computing, ai, sustainability
11 YAML Configurations for DevOps Automation17333
yaml, configuration, dev-ops, ci-cd, automation, examples
The Bad Apple Effect: How Negativity Can Sabotage Teams’ Performance17332
collaboration, culture, engineering-management
Is Figma Dev Mode a Worthwhile Tool for Developers? (ele/des)17331
guest-posts, figma, developer-experience, tooling
Detecting Web Performance Regressions Using Statistical Tools (pet/per)17330
performance, regressions, tooling
CSS Layouts: Creating Structure and Flow (ath)17329
css, layout, flexbox, grids
I Reduced AWS Bills by 80% Just by Optimizing Node.js Code17328
aws, economics, nodejs, optimization
Getting Oriented With HTML Video (sco/mat)17327
html, multimedia, web-components
CSS Display Module Level 4 (tab+/w3c)17326
css, standards, layout
CSS “box-decoration-break” (kil/5t3)17325
css
The European Accessibility Act: Understanding Digital Accessibility (coo)17324
accessibility, legal, eaa
Announcing a Free GitHub Copilot for VS Code (bur/vsc)17323
github, github-copilot, vs-code, code-editors, ai
New to the Web Platform in December (rac)17322
release-notes, web-platform, browsers, safari, chrome
BITV 2.0 and the Future of Digital Accessibility in Germany (lev)17321
bitv, legal, compliance, accessibility
Speculative Loading and the Speculation Rules API (qcn/per)17320
performance, speculation, apis
Have an Accessible New Year With These 12 Resolutions17319
accessibility, captions, wcag, testing, headings, modals
The Future of CSS: Construct “<custom-ident>” and “<dashed-ident>” Values With “ident()” (bra)17318
css, functions, transitions
Microdata for Books (ala/mat)17317
html, microdata
How to Create Multi-Step Forms With Vanilla JavaScript and CSS (css)17316
how-tos, forms, javascript, css
Declarative Shadow DOM (sch/5t3)17315
shadow-dom, dom, web-components
State of JavaScript 2024 [Results] (sac/dev)17314
surveys, metrics, javascript
WebAssembly JavaScript Interface (w3c)17313
standards, webassembly, javascript, apis
Stylish Holidays! Creating a Scroll-Driven Christmas Tree in CSS (uti)17312
css, svg, animations, scrolling, effects
HTML Conformance: A Comparison of 6.5 npm Validator Packages (With 1.5 Recommendations) (j9t)17311
html, conformance, tooling, npm, comparisons
How to Make Your Angular Projects More Accessible17310
how-tos, angular, accessibility, examples
How I Gained a New Perspective on ARIA (mei/mat)17309
accessibility, aria
CSS “::target-text” for Text Highlighting (tre)17308
css, selectors
CSS “content-visibility” (kno/5t3)17307
css
Become a Better Developer With Clean Code Essentials: YAGNI, KISS, and DRY in Software Engineering17306
fundamentals, principles, minimalism, simplicity, maintainability
Why Product Owners Should Not Assign Work17305
agile, scrum, processes, product-management
Developer Guide: How to Implement Passkeys17304
guides, how-tos, authentication, security, passkeys
Recap of the State of the Word 202417303
wordpress
When Users Interact (blu/per)17302
performance, user-experience, metrics, link-lists
Re-Imagine the Web With View Transitions (bra)17301
css, view-transitions
You Don’t Need the “isOpen” Class (mau/mat)17300
html, aria, accessibility
The Top 20 Tools UX Designers Should Know (uxm)17299
design, user-experience, tooling, link-lists
React 19 and Web Component Examples (chr/fro)17298
react, web-components, examples
Never Forgive Them (edz)17297
web, ai, user-experience, economics
How to Automate OWASP Security Reviews in Your Pull Requests? (cod)17296
how-tos, security, owasp, automation, code-reviews, coderabbit
Ethical Web Principles: Building a Better Web (tor/w3c)17295
web, ethics, principles, processes, advocacy
CSS “text-wrap” (mey/5t3)17294
css, typography
11 Essential JavaScript Hooking Techniques for Reverse Engineering in 2024 (xiu)17293
javascript, debugging, techniques
Creating Shared Ownership for Web Performance From a Cryptic CSS Values (per)17292
performance, web-vitals, monitoring, css
The Gift You Do Not Want: A Div in a Button’s Clothing (mat)17291
html, buttons, accessibility
HTML “inert” Attribute (stv/5t3)17290
html, attributes