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

→ 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#
The End of Programming as We Know It (tim/ore)18525
programming, processes, ai, career, history, outlooks
Reasons Not to Refactor (tho)18524
technical-debt, refactoring, processes, prioritization
Tutorial: Publishing ESM-Based npm Packages With TypeScript (rau)18523
tutorials, dependencies, npm, typescript
Which VoiceOver? (aar)18522
accessibility, voiceover, screen-readers, unix-like
Firefox 135 Launches With New Translation Languages, New Tab Layout, Security, and Privacy Improvements18521
firefox, browsers
10 Digital Accessibility Mistakes to Avoid18520
accessibility, mistakes, alt-text, images, contrast, colors, keyboard-navigation, aria, semantics, headings, labels, forms, pop-ups, testing
How to Gif (2025 Edition) (oll)18519
how-tos, images, multimedia, gif, png, webp, avif, jpeg-xl
Angular: The Documentary18518
videos, angularjs, angular, history
Alt Text Accessibility: Balancing AI and Human Oversight (tec+/equ)18517
podcasts, accessibility, images, multimedia, alt-text, ai, quality
How to Favicon in 2025: Three Files That Fit Most Needs (sit/evi)18516
how-tos, images, favicons
Introducing Fusion: Write PHP Inside Vue and React Components (eri/lar)18515
introductions, tooling, php, vuejs, react, components
How I Use LLMs as a Staff Engineer (sea)18514
ai, processes
Using Padding to Space an Input and Label (dar)18513
html, forms, labels, spacing, css
Understanding the Trade-Offs of Using Tailwind CSS (mon/mea)18512
tailwind, presentational-html, css
Oracle Justified Its JavaScript Trademark With Node.js—Now It Wants That Ignored (tin/den)18511
oracle, javascript, nodejs, deno, legal
Live CSS Colors: What You Can Safely Use (jar/van)18510
css, colors, functions
Internet of Agents18509
web, agent-experience, ai
Integrations: From Simple Data Transfer to Modern Composable Architectures (edo/sma)18508
architecture, web-services, apis, rest, graphql, webhooks, headless, content-management
How I Learned to Code With My Voice (whi)18507
voice, code-editors, tooling
Build a Link Blog (xua)18506
blogging, links
A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl/clo)18505
html, forms, lists, css
Smarter, Faster, Human: The Future of Design Systems With AI (uxm)18504
design-systems, ai, outlooks
Generating Fake Data for Privacy With Python18503
videos, python, privacy
Generating Image Descriptions and Alt-Text With AI (dri)18502
images, alt-text, accessibility, ai, quality
How to Perform Comprehensive ADA Testing (a11)18501
how-tos, testing, processes, ada, legal, compliance, accessibility
Typecasting and Viewport Transitions in CSS With “tan(atan2())” (mon/css)18500
css, transitions, animations, functions, math
There Are a Lot of Ways to Break Up Long Tasks in JavaScript (mac)18499
javascript, web-workers, performance
Notes on the “Code Editors With AI” Landscape (chr/fro)18498
ai, code-editors, plugins, github-copilot, cursor, project-idx, google, jetbrains
Introducing the JSR Open Governance Board (tin+/den)18497
introductions, jsr, javascript, typescript, community
How to Manage Old Content on a News Website (moz)18496
how-tos, content, content-management, maintenance, prioritization, redirecting, seo
Fast and Smooth Third-Party Web Fonts (sco)18495
fonts, embed-code, performance, css, javascript
Extending the Cursor (kyl)18494
design, interaction-design, cursors, examples
Developer Philosophy (qnt)18493
technical-debt, refactoring, quality, processes
Compiling CSS With Vite and Lightning CSS (mrt/css)18492
css, compiling, vite, lightning-css
Change “font-weight” Based on the User’s Screen DPI18491
css, typography, pixel-density
AI and Accessibility: The Good, the Bad, and the Bollocks (tin/rem)18490
videos, accessibility, ai
The Paradox of UX Personalization18489
user-experience, personalization, ai
Combining “currentColor” With Relative Color Syntax (oll)18488
css, colors
The Systemic Failure of Implementing CSS Principles18487
css, principles, history, maintainability, consistency, modules, craft
Before You Buy an Accessibility Audit (cer)18486
accessibility, auditing, training, testing, culture
OKLCH, Explained for Designers18485
design, colors, oklch
Demo: Running TypeScript Directly in Node.js (rau)18484
typescript, nodejs
CSS “scrollbar-color” and “scrollbar-gutter” Are Baseline Newly Available (bra)18483
css, scrolling, browsers, support, web-platform
React Is Just “document.createElement()” With Good Marketing, and I Can Prove It18482
react, typescript, tailwind
We Can’t Keep Simply Repeating This Mess (inf)18481
processes, sustainability
How to Write a Good Design Document (gra)18480
how-tos, writing, documentation, software-design
Effective Steps for Conducting a Thorough ADA Audit (a11)18479
accessibility, processes, ada, legal, compliance, auditing
AI Transparency Framework18478
ai, policies, processes
The Myth of “Fully Accessible” (sor)18477
accessibility, myths
The Politics of Accessibility18476
accessibility, history, advocacy, politics
Why Next.js Leads the Future of Web Development in 202518475
nextjs
Our Coding Obsession Is Pushing Kids Out of Tech18474
career
WCAG Colour Contrast: What Does the 4.5:1 Ratio Actually Mean? (the)18473
accessibility, wcag, contrast, colors
Understanding CORS Errors in Signed Exchanges (paw)18472
security, cors, errors, signed-exchanges
Microsoft Improves Text Contrast for All Windows Chromium Browsers (ser/ble)18471
contrast, colors, browsers, chromium, microsoft, windows
How to Set Up an Accessible Page Structure and Navigation (pop)18470
how-tos, accessibility, html, navigation
Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet)18469
fundamentals, forms, html, aria
XHTML in Modern Web Development (mar)18468
guest-posts, html, xhtml
Google Says “Links Matter Less”—We Looked at 1,000,000 SERPs to See if It’s True (ahr)18467
google, links, seo, metrics
Is npm Enough? Why Startups Are Coming After This JavaScript Package Registry (kat/red)18466
npm, jsr, bun, pnpm, yarn, javascript
US Blocks Open Source “Help” From These Countries18465
foss
Accessibility Beyond Compliance: A Driver for Innovation and UX18464
accessibility, compliance, user-experience
The Internet Is Unusable (ste)18463
web, ai, monetization, user-experience, usability
Vite With TypeScript (rwi)18462
vite, migrating, javascript, typescript, configuration
The European Accessibility Act for Websites and Apps (mar)18461
accessibility, legal, eaa, overviews
On Diversity (aar)18460
dei
How I Use AI: Meet My Promptly Hired Model Intern (mit)18459
ai, programming, processes, tooling
CSS Nesting: Use With Caution (bel/pic)18458
css, nesting
New to the Web Platform in January18457
release-notes, web-platform, browsers, firefox, chrome, safari
How to Determine if You Are Ready for a Leadership Position? (cod)18456
how-tos, career, leadership
A Modern Node.js and TypeScript Setup for 202518455
nodejs, typescript, configuration
From Manual Reviews to AI-Powered Insights: The Linux Foundation’s Code Review Transformation (cod)18454
linux-foundation, code-reviews, ai, coderabbit, case-studies
Computing With Tuples in TypeScript (rau)18453
typescript, arrays
Making Good on the Promise of Open Source AI18452
ai, foss
The 2025 Frontend Dogma Survey (fro)18451
frontend-dogma, surveys
How Data Structures Organize the Chaos of Modern Apps (yan/cod)18450
overviews, data-structures, arrays, caching
Transitioning Top-Layer Entries and the Display Property in CSS (uti/sma)18449
css, animations, transitions, techniques, effects
On Building AI Understanding and Automation Muscle (With 18 Random Problems Solved With AI) (j9t)18448
ai, automation, examples
Mapped Types in TypeScript (ama)18447
typescript, types
Keep Your Node.js Apps Secure With “npx is-my-node-vulnerable” (tre)18446
packages, npm, nodejs, security
How to Set WebGL Shader Colors With CSS and JavaScript (nma)18445
how-tos, webgl, css, javascript
Here’s Why Your Anchor Positioning Isn’t Working (jam/odd)18444
css, anchor-positioning
Dynamic Focus Zoom Effect With CSS “@property”18443
css, effects
The DOJ Provides Practical Guidance on How to Implement a Digital Accessibility Program18442
how-tos, accessibility, processes, prioritization
Why Teams Are Ditching DynamoDB18441
dynamodb, databases, aws
The Era of Agent Experience (AX) (jav)18440
agent-experience
Intro to Wasm in Deno (dsh/den)18439
introductions, webassembly, deno
Considerations for Making a Tree View Component Accessible (eri)18438
components, accessibility, keyboard-navigation, aria, case-studies
What Text Area Popovers Taught Me About Browser APIs (bla)18437
html, forms, apis, javascript
Svelte 5 and the Future of Frameworks: A Chat With Rich Harris (ric+/sma)18436
interviews, svelte, frameworks, outlooks
Page Bloat Update: How Does Ever-Increasing Page Size Affect Your Business and Your Users? (tam/spe)18435
performance, trends, metrics, javascript, images, desktop, mobile
Introducing AX: Why Agent Experience Matters (bii)18434
introductions, agent-experience, ai
Getting Started With TYPO3 (typ)18433
videos, introductions, typo3, content-management
Differences Between ESLint and TypeScript (jos/esl)18432
eslint, typescript, comparisons, linting, type-safety, quality
Best Practices for EU Web Accessibility Compliance Monitoring (a11)18431
accessibility, compliance, eaa, legal, monitoring
Why Should You Read Tech Books in the 2025 AI Age18430
learning, career
Did the US Government Cancel Accessibility? (mic)18429
legal, accessibility, politics
Figma Branches Best Practices18428
design, figma, best-practices, collaboration, naming, processes
The European Accessibility Act 2025: An Internet for All18427
accessibility, legal, eaa
Introducing Mentoss: The Fetch Mocker (nza)18426
introductions, data-fetching, tooling
How Does a Compiler Work? (cod)18425
compiling, programming
The Mistakes of CSS (mon/css)18424
css, technical-debt
The Browser Back Button: Hero, Villain, or Outdated Relic? (web)18423
browsers, usability, user-experience
Revisiting CSS Multi-Column Layout (mal/css)18422
css, layout
Pure CSS Mixin for Displaying Values of Custom Properties (kiz)18421
css, mixins, custom-properties
My Failed Attempt to Shrink All npm Packages by 5% (eva)18420
npm, dependencies, compression
How to Use ARIA Alert Effectively (flo/a11)18419
how-tos, aria, accessibility, best-practices, examples
Full-Bleed Layout With Modern CSS (css/fro)18418
css, layout
AI-Generated Art Is Postmodern Art18417
ai, art
How Long Is a Second in JavaScript? (iag)18416
javascript
What Is Cloud Computing?18415
cloud-computing, concepts, aws, azure, gcp
Focus Styles and Programmatic Focus (oll)18414
css, focus, keyboard-navigation
Backlink-Free SEO: How to Rank Content Without Links18413
how-tos, seo, content, links, backlinks
AI Slop, Suspicion, and Writing Back18412
ai, slop
How I Review Code as a Senior Developer for Better Results18411
processes, code-reviews, communication
Your Clean Code Might Be Someone Else’s Technical Debt18410
technical-debt, principles, quality
State Management: Simplified for Front-End Developers18409
state-management, flutter, react, vuejs, best-practices
Tailwind CSS Gets a “Ground-Up Rewrite” for Version 4.018408
tailwind
It’s Time for Design to Think Less and Feel More18407
design, creativity
React.js vs. Next.js (bhu)18406
react, nextjs, comparisons, performance
You’re Overthinking Web Components (all)18405
web-components, javascript
The Modern Way to Write JavaScript Servers (mar)18404
javascript, nodejs, servers
Only One “<details>” Open at a Time (osv)18403
html, disclosure-widgets
How I Open-Sourced My Secret Access Tokens From GitHub, Slack, and npm—and Who Actually Cares18402
security, github, slack, npm
Designing for Clarity: How We Restructured Intercom’s Information Architecture18401
design, information-architecture, case-studies
The 4 Top IDEs for Developers in 2025 (ele/des)18400
guest-posts, code-editors, comparisons, vs-code, intellij-idea, sublime-text
Announcing the Web AI Acceleration Fund (add)18399
ai, monetization, chrome, browsers
Ensuring Excellence: Proven Strategies for Quality Vue.js Development18398
vuejs, best-practices, techniques
How to Build a CMS With React-Admin (thi/mar)18397
how-tos, content-management
Why Are Big Tech Companies So Slow? (sea)18396
efficiency, productivity, complexity
10 Very Important Flutter Packages18395
flutter, dependencies
5 Microservices Design Patterns You Must Know in 202518394
microservices, software-design-patterns, link-lists
When DEI Fails: Is Diversity Just a Marketing Gimmick? (web)18393
dei
WCAG 3 a Change of Context (ste)18392
accessibility, wcag, terminology
TypeScript 5.8 Ships “--erasableSyntaxOnly” to Disable Enums (mat)18391
typescript
Section 508 Compliance: What You Need to Know18390
accessibility, compliance, section-508, legal
Positioning Text Around Elements With CSS Offset (pre/css)18389
css, effects
Node.js EOL Versions CVE Dubbed the “Worst CVE of the Year” by Security Experts (sar/soc)18388
nodejs, security, documentation
JavaScript Temporal Is Coming (bsm/mdn)18387
javascript, apis, time
How to Build a “Copy Code” Snippet Button and Why It Matters (whi)18386
how-tos, buttons, functionality, accessibility, developer-experience
Creating Accessibility Systems to Fix Accessibility Issues (vis/ass)18385
accessibility, processes, automation
Build It Yourself (mit)18384
dependencies, maintenance, maintainability, processes
We Need to Cut Down on Cloud Waste in 202518383
cloud-computing, sustainability
9 Design System Metrics That Matter18382
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 Fargate18381
serverless, gcp, aws
The Speed Trifecta: 11ty, Brotli 11, and CSS Fingerprinting (the)18380
performance, eleventy, brotli, compression, fingerprinting, caching, cloudflare
MPA View Transitions Deep Dive (bra+)18379
deep-dives, videos, css, view-transitions, multi-page-apps
Exploring AI, Web Development, and Accessibility in Tech With Stefan Judis (ste+/wea)18378
videos, interviewing, ai, javascript, runtimes, accessibility, screen-readers, craft
Cool URLs Don’t Change, Unless… (j9t)18377
urls, links, link-rot, redirecting
Build for the Web, Build on the Web, Build With the Web (css)18376
web-platform, processes
Interop 2024 Brings More Features to Baseline18375
interoperability, web-platform, support, browsers
Running Inference in Web Extensions (tar/moz)18374
firefox, browsers, ai
Why You Should Reconsider Your “Big Tech Job” in 202518373
career
The Four Most Dangerous Words to People With Disabilities18372
accessibility, communication
Tailwind CSS v4.0 (ada/tai)18371
release-notes, tailwind
Scroll State Queries Are on the Way (and a Bunch More) (kev)18370
videos, css, selectors, container-queries, functions, scrolling
Creating an Angled Slider (zac/fro)18369
sliders, html, css, effects
Angular Clean Coding Fundamentals18368
fundamentals, principles, angular
ECMAScript Proposal: RegExp Escaping (rau)18367
ecmascript, regex, escaping
Tuesday, January 21, 2025 Security Releases (raf/nod)18366
release-notes, nodejs, security
The Vertical Bar (“|”) Is the Best HTML Page Title Separator (kyr)18365
spacing
So, You Want to Push a Web Platform Feature?18364
web-platform, standards, processes, community
Things People Get Wrong About Electron (fel)18363
electron
New Capabilities for “attr()” (una)18362
css, functions
Navigating the Challenges of Modern Open-Source Authoring: Lessons Learned (alv/sma)18361
lessons, foss
Initial Load Performance for React Developers: Investigative Deep Dive (ade)18360
deep-dives, performance, react, web-vitals, metrics
Avoiding “anys” With Linting and TypeScript (jos/tse)18359
typescript, linting
[NestJS] v11.0.018358
release-notes, nestjs
Is SEO Dead in 2025? No, but Changes Are Coming (sem)18357
seo, search, ai, google
On AI Doomerism (fla)18356
ai, career
Building High-Performing Remote Engineering Teams (hcr)18355
engineering-management, communication, collaboration
The Second Wave of AI Coding Is Here (wil/tec)18354
ai, economics
Simplify Lazy Loading With Intersection Observer’s “scrollMargin” (fro)18353
scrolling, apis, javascript, lazy-loading, performance
My Website Has Been Gaslighting You (dav)18352
css, javascript, colors, effects
Emotional Intelligence in AI-Driven UX Design (uxm)18351
user-experience, design, ai, personalization
Adding Dark Mode to My Site, Shaving Yaks, and Questioning My Sanity (hl)18350
dark-mode, maintenance, hugo
Why Every Developer Should Fail (at Least Once)18349
career, learning
6 CSS Snippets Every Front-End Developer Should Know in 2025 (arg)18348
css, functions, custom-properties, transitions, animations, gradients, effects
Breaking the Frontend Ceiling (max)18347
career, learning, link-lists
Fetch and HTTP/2 Support in Node.js, Bun, and Deno (dis)18346
data-fetching, http, support, nodejs, bun, deno
Generating Test Values Using JavaScript Generators18345
typescript, javascript, functions, testing
Opacify HEX Color in CSS (osv)18344
css, colors, functions
Moving on From React, a Year Later (kel)18343
migrating, react, stimulus, performance
Vitest 3.0 Is Out (vit)18342
release-notes, vitest
Audio Description in Advertising (eri)18341
videos, accessibility, monetization, multimedia
Google Begins Requiring JavaScript for Google Search (kyl)18340
google, javascript
2024 Year in Review (fuj+)18339
astro, retrospectives
What Is the Shared Storage API?18338
videos, browser-storage, apis, privacy
From React to Next.js: When and Why to Make the Switch18337
migrating, react, nextjs
The Hidden Complexity of Scaling WebSockets (atu)18336
websockets, complexity, scalability
How to Structure Functions (cfe)18335
how-tos, functions, programming
Postgres vs. MySQL18334
postgresql, mysql, databases, comparisons
SolidJS Creator on Confronting Web Framework Complexity18333
frameworks, angular, vuejs, multi-page-apps, single-page-apps, javascript, complexity, outlooks
Open Source Drives the Twelve-Factor Modernization Project18332
foss, architecture, principles
23 HTML Cheat Sheets, for a Different Look at HTML (fro)18331
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)18330
web, economics, creativity, career
Polypane 23 (pol)18329
release-notes, polypane, browsers
My 18-Months Rule for Open-Source Contributions (j9t)18328
foss, collaboration, communication, community
Interoperable Tokens (don)18327
design-systems, design-tokens, sass, jsx
Don’t Wrap Figure in a Link (aar)18326
html, links, screen-readers, accessibility
Creating Generative Artwork With Three.js (cod)18325
design, grids, art, threejs
How Fingerprinting Can Improve Your Website’s Performance18324
performance, caching, fingerprinting, optimization
A Checklist for Your tsconfig.json (rau)18323
typescript, configuration, checklists
The 2025 State of AI Development18322
surveys, ai
You Might Not Have a Web Performance Problem (mat/deb)18321
performance, web-vitals, lighthouse, seo, link-lists
What Is [the] TCP/IP Model and How Does the Protocol Work18320
protocols, tcp, ip, network
CSS “attr()” Gets an Upgrade (bra)18319
css, functions
CSS “scroll-state()” (arg)18318
css, container-queries, scrolling, examples
FastHTML and Heroku18317
web-apps, fasthtml, heroku
The Future of AI-Assisted Design Systems: Predictions and Use Cases18316
design-systems, ai, outlooks
The Optimization That Made Everything Slower18315
complexity, optimization, technical-debt
What Is a Callback Function? (cfe)18314
javascript, callbacks, functions
Using SVGs on Canvas With Compose Multiplatform (eev)18313
canvas, svg, images, javascript
User Research Myths (jon)18312
user-experience, usability, research, myths
The Usability Myth: Users Don’t Really Know What They Want (and That’s Totally OK) (web)18311
usability, user-experience, myths
On Certification (mar)18310
accessibility, career, training
Making “this” Less Annoying (dav)18309
javascript, formatting, configuration
Learning HTML Is the Best Investment I Ever Did (cod)18308
html, learning, career
JavaScript’s “Promise.race” and “Promise.all” Are Not “Fair” (chr)18307
javascript, promises
Drupal CMS 1.0 Released (dri)18306
release-notes, drupal
The Success of Interop 2024 (web)18305
interoperability, web-platform, browsers, support
Angular Team Unveils Strategy for 2025 (inf)18304
angular, strategies
Hiring Is the Billion Dollar Problem to Solve in 2025 (joe)18303
hiring, ai
Release Notes for Safari Technology Preview 211 (jon/web)18302
release-notes, safari, browsers
APIs Are Quickly Becoming the Latest Security Battleground (and Nightmare)18301
apis, security
[Accessibility Personas]18300
accessibility, personas
Data Structures and Algorithms (DSA): A Complete Tutorial18299
data-structures, algorithms, tutorials
CSS “text-box-trim” (arg)18298
css, typography
Troubles With Multipart Form Data and Fetch in Node.js (phi)18297
nodejs, data-fetching
Top Pens of 2024 on CodePen (cod)18296
codepen, code-pens, link-lists, retrospectives
Open Props UI18295
css, components, props
Justified Text: Better Than Expected? (tyl/clo)18294
css, typography
How I Write Angular Apps in 2025: Tools, Tips, Techniques (rai)18293
videos, angular, tooling, tips-and-tricks, techniques
CSS Wishlist for 2025 (chr/fro)18292
css, wish-lists
Advancing Accessibility: Strategies for Continuous Improvement (seg/equ)18291
accessibility, strategies, processes, culture
ADA Title II: Top 20 Questions Answered (gwi/deq)18290
accessibility, ada, legal, wcag
Introduction to Docker: Core Concepts18289
introductions, concepts, docker, containerization, command-line
Evolving GitHub Issues (Public Preview)18288
github, project-management
To Get to the Internet, You Need a Steam Shovel (res)18287
web, history
Revealed: React’s Experimental Animations API (cit)18286
react, animations, transitions, apis
Prefetching Subresources With Signed Exchanges (paw)18285
performance, caching, hints, signed-exchanges, optimization
How to Wait for the “sibling-count()” and “sibling-index()” Functions (mon/css)18284
how-tos, css, functions, selectors
Everything You Need to Know About Node.js Type Stripping (sat)18283
nodejs, typescript
Container Queries Unleashed (jos)18282
css, container-queries
A11y 101: 1.3.1 Info and Relationships (nat)18281
introductions, accessibility, wcag
9 GitHub Projects That Surprised Me (che)18280
foss, tooling, link-lists
CDN-First Is No Longer a Performance Feature (osv)18279
content-delivery, performance, caching, embed-code, privacy, security
Alternatives to htmx (htm)18278
tooling, alpinejs, hotwire, jquery, link-lists
What’s Involved in Getting a “Modern” Terminal Setup? (b0r)18277
shells, command-line, customization, configuration
Taking a Look at Compression Algorithms18276
compression, algorithms, gzip
WordPress Is in Trouble (gav)18275
automattic, wordpress, wp-engine, community
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)18274
javascript, hashing, performance, comparisons, bun, nodejs
HTML Developers: Please Consider—in the Year of 2025 (ste)18273
html, aria, accessibility
Accessibility of Emojis for List Bullets—Potential Issues (cer)18272
accessibility, emoji, lists, screen-readers, pronunciation
Mastering Angular Unit Testing: Best Practices and Tools (pla)18271
angular, testing, tooling, best-practices
ECMAScript Feature: Regular Expression Pattern Modifiers (rau)18270
ecmascript, regex
Oracle Refuses to Yield JavaScript Trademark, Deno Land Says (inf)18269
javascript, oracle, deno, legal
Code Quality Becomes Even More Vital in the AI Era18268
ai, quality, automation
Meta and Spotify’s AI Takeover: Is This the End of Human-Created Content?18267
facebook+meta, ai, content, economics
How to Conduct Accessibility Testing With Screen Readers18266
how-tos, accessibility, testing, screen-readers, assistive-tech
Tech Jobs Radar18265
websites, career, hiring
Creating Successful Design System OKRs That Drive Adoption18264
design-systems, okr, processes
How to Fix Washed Out Colors in Google Chrome Screenshots for Clear and Accurate Images18263
how-tos, screenshots, images, colors, chrome, google, browsers
Your First Component (don)18262
components, design-systems
Updates to the Customizable Select API (una)18261
apis, forms
Should Accordions Auto-Close Sections? (ash)18260
accordions, usability
Can AI Be Used as an Accessibility Testing Partner? (tho)18259
ai, accessibility, testing, tooling, comparisons
All JavaScript Keyboard Shortcut Libraries Are Broken18258
javascript, libraries, keyboard-shortcuts
What Is Website Traffic? And a Quick Guide on Tracking It (sem)18257
how-tos, traffic, analytics, google, tooling
10 Backend Terms Every Frontend Developer Should Know18256
terminology, concepts, architecture, performance
Let’s Standardize Async CSS (sco)18255
css, asynchrony
ECMAScript Feature: Import Attributes (rau)18254
ecmascript
Accessibility Always a Focus in Drupal18253
interviews, accessibility, drupal
Building Design Consistency: A Deep Dive Into Figma Variables at JW Player18252
deep-dives, design, design-systems, design-tokens, consistency, figma, variables, case-studies
Tight Mode: Why Browsers Produce Different Performance Results (geo/sma)18251
browsers, performance, chrome, safari, comparisons
Yeoman’s Next Chapter Maintenance Reboot (uli+)18250
yeoman
A New Chapter for Express.js: Triumphs of 2024 and an Ambitious 2025 (exp)18249
express, retrospectives, outlooks
Clean Up HTML Content for Retrieval-Augmented Generation With Readability.js (phi/dat)18248
html, scraping, tooling, nodejs, rag
The “:empty” Pseudo-Class in CSS (cfe)18247
css, selectors
Running Animations Without Keyframes (css)18246
css, animations, tips-and-tricks
Prescriptive and Descriptive Information Architectures (jar)18245
information-architecture, concepts
Creating Better Pull Requests (bel)18244
version-control, code-reviews, documentation, collaboration
Automated and Manual Accessibility Testing Work Best Together (pop)18243
accessibility, testing, comparisons
“aria-description” Does Not Translate (aar)18242
accessibility, aria, browsers, localization
A Couple CSS Tricks for HTML Dialog Elements (cas)18241
css, modals, tips-and-tricks
Lesser Known Uses of Better Known Attributes (sma)18240
html, attributes
Node’s New Built-In Support for TypeScript (rau)18239
nodejs, typescript, configuration
5 Technical JavaScript Trends You Need to Know About in 202518238
javascript, trends, architecture, serverless, webassembly, state-management, typescript, type-safety, micro-frontends
Exploring Modern JavaScript Compilers: Why Oxc Matters for the Developer Community (hac)18237
oxc, javascript, compiling, tooling
Eleventy, 2024 in Review (zac/11t)18236
eleventy, retrospectives
8 Modern Dev Tools to 100× Your Productivity (let)18235
productivity, tooling, link-lists
Sharing a Variable Across HTML, CSS, and JavaScript (chr/fro)18234
variables, html, css, javascript
Remove the “direction” Property on Your Arrow Icons (ali)18233
icons, images, microcontent
Getting All Comments From a Given User on a GitHub Discussion (www)18232
github, graphql
CSS Wish List 2025 (mey)18231
css, wish-lists
What Is the Definition of Done?18230
agile, scrum, documentation
Top PHP Alternative for Web Development?18229
php, javascript, java, python, ruby, c-sharp, go, c++, rust
1-Billion Row Challenge With Node.js18228
nodejs, performance
2024 JavaScript Rising Stars18227
javascript, frameworks, libraries, react, vuejs, tooling, mobile, desktop, state-management, ai, css-in-js, testing, graphql, retrospectives
Top React Best Practices in 202518226
react, best-practices
Reckoning: Frontend’s Lost Decade (sli/per)18225
videos, javascript, performance, web-platform
33 Anti-Patterns That Transform Product Managers Into Backlog Managers (dp)18224
product-management, anti-patterns, processes, agile
Progressive Enhancement Brings Everyone In (jay)18223
progressive-enhancement, history, javascript, advocacy, link-lists
pnpm 10 (pnp)18222
release-notes, pnpm
How to Design for High-Traffic Events and Prevent Your Website From Crashing (sma)18221
how-tos, traffic, hosting, scalability, content-delivery, caching, compression, testing
Double-Keyed Caching: How Browser Cache Partitioning Changed the Web (add)18220
browsers, caching, dependencies, network, content-delivery, performance
An Overview of the 50 Highest-Ranking Web Design and Development Glossaries (j9t)18219
overviews, comparisons, terminology, concepts, link-lists
Accessibility Essentials Every Front-End Developer Should Know (mar)18218
accessibility, fundamentals, html, semantics, forms, keyboard-navigation, modals, alt-text, focus, responsive-design, reduced-motion, aria
What’s Actually Happening With JS Frameworks18217
videos, javascript, frameworks, trends
Open Source in 2025: What Will Matter Most This Year?18216
foss, sustainability
HTML Is Actually a Programming Language—Fight Me (tim/wir)18215
html, programming
Use “translate” to Turn Off Element Translations (ste)18214
html, localization
The Difference Between HTML Attributes and Properties (pau/clo)18213
html, attributes, javascript, terminology
Relatively New Things You Should Know About HTML Heading Into 2025 (chr/fro)18212
html, forms, toggles, pop-overs, javascript, import-maps, css, transitions
Quick Note: Limit Use of “Logo” in Alt Text (nat)18211
accessibility, images, logos, alt-text, microcontent
JavaScript Frameworks—Heading Into 2025 (rya/thi)18210
javascript, frameworks, performance, complexity, maintainability
How to Order Attributes on HTML Elements18209
how-tos, html, attributes, sorting, conventions
How to Find All Existing and Archived URLs on a Website (tca/moz)18208
how-tos, urls, seo, sitemaps, tooling
Brief Note on Figure and Figcaption Support (aar)18207
html, accessibility, screen-readers, support
A Day in the Life of a Software Engineer in 2025 (rak)18206
career, programming
The Secret to Building Highly Responsive Systems18205
videos, architecture, software-design, performance, scalability
Scrum vs. Extreme Programming: Was XP Right All Along?18204
processes, agile, scrum
Top 6 Must Try Frontend Libraries for All Developers18203
libraries, tooling, link-lists
Tech Stack 202518202
tech-stacks, react, remix, astro, zustand, tailwind, prisma, zod, playwright, cloudflare
How to Become a Strong Software Architect18201
how-tos, architecture, career, learning
FTC Orders AI Accessibility Startup accessiBe to Pay $1M for Misleading Advertising (kyl)18200
accessibility, legal, ai
How to Scrape Web Content for RAG With Readability.js (phi/dat)18199
videos, how-tos, content, scraping, rag, ai
Updated Brief Note on Description List Support (aar)18198
html, lists, semantics, accessibility, screen-readers, support
This Is Not Your Last Job (chr)18197
career
What Is Google’s Navboost Algorithm? (sem)18196
google, search, seo
I Became a Better Developer by Doing This One Thing (and It’s Not Coding)18195
career
Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting (ros)18194
studies, research, privacy, css, fingerprinting
TypeScript Generics: A Complete Guide18193
guides, typescript, generics, examples
19 Cron Jobs for DevOps Engineers18192
dev-ops, cron, automation
Database Trends: A 2024 Review and a Look Ahead18191
databases, retrospectives, trends, outlooks
Refactoring a Web Performance Snippet for Security and Best Practice (the)18190
performance, javascript, metrics, refactoring
You Don’t Need Next.js18189
migrating, nextjs, react, metrics
View Transitions Snippets: Getting All Animations Linked to a View Transition (bra)18188
javascript, css, view-transitions, apis
The Future of htmx (ale/htm)18187
htmx, outlooks
The Cyber-Cleanse: Take Back Your Digital Footprint (cyb)18186
privacy, security
A Gentle Introduction to Using a Vector Database18185
introductions, databases, vector-databases, javascript, ai, openai
Designing Websites for Bad Performance (kee/per)18184
performance, caching, web-workers, hints, optimization
CSS Is Emotional: The Psychology of Specificity18183
css, cascade
Fabulous Font-Face Fallbacks (sto/per)18182
performance, css, fonts, typography
Breaking Up With Long Tasks or: How I Learned to Group Loops and Wield the Yield (rvi/per)18181
performance, javascript, loops
Kagi, Orion, and Gopher (geo)18180
orion, kagi, browsers
Do I Need This Node Dependency? (bri)18179
nodejs, dependencies
Your App Should Have Been a Website (and Probably Your Game Too)18178
mobile, native, web-apps, browsers, web-platform
5 Reasons Your Direct Traffic Can Suddenly Drop (moz)18177
traffic, analytics
Using DevTools to Validate Web Performance Improvements (nuc/per)18176
performance, dev-tools, browsers, chrome
The 20 Commandments of Software Engineering18175
principles, programming, complexity, documentation, commit-messages, code-reviews, dependencies, maintenance, collaboration
TypeScript Without Build Tools (chr/fro)18174
typescript, monorepos, tooling, link-lists
Shallow Clones Versus Structured Clones (phi)18173
javascript
Page Weight (dws+/htt)18172
web-almanac, studies, research, metrics, performance, storage, web-vitals
December 2024 Google Core Update (mor/sem)18171
google, search
Consistency Means Nothing (pjo)18170
consistency
The Must-Have SEO Checklist for Developers for 202518169
seo, checklists, metadata, urls, performance
Why Metrics Cannot Measure Software Development18168
programming, metrics, efficiency, productivity
After Rome Failure, VoidZero Is the Newest Attempt to Create Unified JavaScript Toolchain (inf)18167
voidzero, javascript, tooling
Using Iframes to Embed Arbitrary Content Is Probably a Bad Idea (tem)18166
iframes, embed-code, keyboard-navigation, scrolling, screen-readers, accessibility
Media (ste+/htt)18165
web-almanac, studies, research, metrics, multimedia, images, html
Datalists Are More Powerful Than You Think (two/mat)18164
html
The Ultimate Tech Stack for Startups in 202518163
tech-stacks, nextjs, tooling
Improve Accessibility of User Authentication (cer)18162
accessibility, authentication, forms, labels, validation
CSS: How to Indicate Container Overflow, When There Is Overflow (j9t)18161
how-tos, css, overflow, techniques
Boost Website Speed With Prefetching and the Speculation Rules API (sch/mat)18160
performance, hints, speculation, apis
Linux Commands and Concepts Every Developer Should Know18159
linux, unix-like, command-line
AI Needs So Much Power, It’s Making Yours Worse18158
ai
URLs and Percent Encoding18157
urls, encoding
My Favorite Web Performance Graphs of the Year (fab/per)18156
performance, metrics, visualization
Is It “Frontend” or “Front-End” or “Front End”? (mar)18155
guest-posts, terminology
Why Heading Order Matters in HTML (gra)18154
html, headings, accessibility
“text-box” (fon)18153
css, typography, spacing
Principles of Web Accessibility (hey)18152
accessibility, principles
Node.js Now Supports TypeScript by Default (mat)18151
nodejs, typescript, support
Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers (ale/mat)18150
html, buttons, icons, images, accessibility, screen-readers
Nothing Moves18149
design, animations
Don’t Let Your Redesign Ruin Performance: A Case Study (mac/per)18148
performance, redesigning, case-studies
The Underrated “<dl>” Element (luh/mat)18147
html, lists
Baseline Data Choices (chr/fro)18146
browsers, support, progressive-enhancement
Correlation or Causation: How Web Performance Proves Its Value (per)18145
performance, testing, metrics
Preloading Fonts for Web Performance With “link rel=preload” (acc/mat)18144
performance, preloading, fonts, html, hints
CSS “margin-trim” and Line Height Units (5t3)18143
css, margins, typography, units
Concurrency vs. Parallelism18142
programming, concurrency, concepts, comparisons
Caching Optimizations18141
json, caching, optimization, performance
The Curious (Performance) Case of CSS “@import” (erw/per)18140
performance, css, history
Crawling December: CDNs and Crawling (gee+)18139
seo, crawling, content-delivery
The Search Input: They Almost Got It Right (stv/mat)18138
html, forms, labels, screen-readers, assistive-tech, accessibility
How to Use Baseline Data (5t3)18137
how-tos, web-platform, browsers, support, documentation
The Devil Is in the “<details>” (mat)18136
html, disclosure-widgets
Relearning Dart18135
dart, flutter
JavaScript Benchmarking Is a Mess18134
javascript, performance
Why Are We So Rubbish at Accessibility? (car)18133
accessibility, craft, culture
The Design Leader Dilemma (boa/sma)18132
design, leadership, principles, policies, prioritization
CSS Wants to Be a System (dav)18131
css
A CSS Wishlist for 2025 (mon/css)18130
css, wish-lists
15 Principles for Secure Programming (rak)18129
security, principles, validation, testing
Build Your Own Site Speed Testing Tool With Puppeteer (per)18128
performance, testing, puppeteer
Accessibility First: How to Design Inclusive Frontend Experiences18127
how-tos, design, accessibility, html, semantics, alt-text, keyboard-navigation, aria, contrast, forms, focus
Mastering npm Scripts: Automate Everything in Your Frontend Workflow18126
npm, dependencies, environments, ci-cd, automation
Create Stunning Dashboards With ReactJS: Step-By-Step Guide18125
guides, react, visualization
AWS S3 Deep Dive18124
deep-dives, aws, s3, storage
Frontend Engineer at Adobe Interview Experience18123
career, interviewing, adobe
PSA: Stop Using the “title” Attribute as Tooltip (dni/mat)18122
html, attributes, tooltips, toggles, accessibility
Please Keep Your HTML Tables Clean and Lean, if You Really Need to Use Them (cer)18121
accessibility, html, tables
On Long Term Software Development (ber)18120
maintainability, maintenance, dependencies, foss, testing, complexity
My Approach to Running a Link Blog (sim)18119
blogging, links, content, writing, community
Don’t Hide Skip Links (oze)18118
accessibility, skip-links, hiding
Broadcast Channel API (5t3)18117
apis, javascript
Grouping Form Fields (mat)18116
html, forms
Important Topics for Frontend Developers to Master in 202518115
learning, javascript, typescript, css, frameworks, git, apis, testing, performance, security, ci-cd, websockets
Unattributed Navigation Overhead (UNO) (tim/per)18114
performance, metrics
Matt Mullenweg, WordPress, and the Battle for Control of the Internet (web)18113
automattic, wordpress, wp-engine, web
CSS “light-dark()” (may/5t3)18112
css, functions, dark-mode
A Progress Update on “reading-flow”18111
css, layout
JS Import Maps (5t3)18110
javascript, dependencies, import-maps
Biggest Privacy Erosion in 10 Years? On Google’s Policy Change Towards Fingerprinting18109
google, privacy, fingerprinting
“AsyncLocalStorage”: Simplify Context Management in Node.js (tre)18108
nodejs, javascript, asynchrony
AI and the Future of Accessibility With Dr. Gregg Vanderheiden18107
podcasts, interviews, accessibility, assistive-tech, ai, outlooks
8 Most Important System Design Concepts You Should Know18106
videos, architecture, system-design, concepts
Data-Driven SEO and Web Performance (tod/per)18105
seo, performance, web-vitals
Scroll-Driven and Fixed (chr/fro)18104
css, animations, scrolling, positioning
No ARIA Is Better Than Bad ARIA (kar)18103
videos, accessibility, aria, html
My Favourite Colour Is Chuck Norris Red (val/mat)18102
html, colors
CSS Multi-Column Layout Module Level 2 (fri/w3c)18101
css, standards, layout
The Bad Apple Effect: How Negativity Can Sabotage Teams’ Performance18100
collaboration, culture, engineering-management
The Cloud and the Climate: Navigating AI-Powered Futures (mrc)18099
podcasts, interviews, cloud-computing, ai, sustainability
11 YAML Configurations for DevOps Automation18098
yaml, configuration, dev-ops, ci-cd, automation, examples
Is Figma Dev Mode a Worthwhile Tool for Developers? (ele/des)18097
guest-posts, figma, developer-experience, tooling
Detecting Web Performance Regressions Using Statistical Tools (pet/per)18096
performance, regressions, tooling
CSS Layouts: Creating Structure and Flow (ath)18095
css, layout, flexbox, grids
I Reduced AWS Bills by 80% Just by Optimizing Node.js Code18094
aws, economics, nodejs, optimization
Getting Oriented With HTML Video (sco/mat)18093
html, multimedia, web-components
CSS Display Module Level 4 (tab+/w3c)18092
css, standards, layout
CSS “box-decoration-break” (kil/5t3)18091
css
New to the Web Platform in December18090
release-notes, web-platform, browsers, safari, chrome
How to Create Multi-Step Forms With Vanilla JavaScript and CSS (css)18089
how-tos, forms, javascript, css
The European Accessibility Act: Understanding Digital Accessibility (coo)18088
accessibility, legal, eaa
Announcing a Free GitHub Copilot for VS Code (bur/vsc)18087
github, github-copilot, vs-code, code-editors, ai
BITV 2.0 and the Future of Digital Accessibility in Germany (lev)18086
bitv, legal, compliance, accessibility
Speculative Loading and the Speculation Rules API (qcn/per)18085
performance, speculation, apis
Have an Accessible New Year With These 12 Resolutions18084
accessibility, captions, wcag, testing, headings, modals
The Future of CSS: Construct “<custom-ident>” and “<dashed-ident>” Values With “ident()” (bra)18083
css, functions, transitions
Microdata for Books (ala/mat)18082
html, microdata
Declarative Shadow DOM (sch/5t3)18081
shadow-dom, dom, web-components
WebAssembly JavaScript Interface (w3c)18080
standards, webassembly, javascript, apis
How to Make Your Angular Projects More Accessible18079
how-tos, angular, accessibility, examples
Become a Better Developer With Clean Code Essentials: YAGNI, KISS, and DRY in Software Engineering18078
fundamentals, principles, minimalism, simplicity, maintainability
State of JavaScript 2024 [Results] (sac/dev)18077
surveys, metrics, javascript
Stylish Holidays! Creating a Scroll-Driven Christmas Tree in CSS (uti)18076
css, svg, animations, scrolling, effects
HTML Conformance: A Comparison of 6.5 npm Validator Packages (With 1.5 Recommendations) (j9t)18075
html, conformance, tooling, npm, comparisons
How I Gained a New Perspective on ARIA (mei/mat)18074
accessibility, aria
CSS “::target-text” for Text Highlighting (tre)18073
css, selectors
CSS “content-visibility” (kno/5t3)18072
css
Why Product Owners Should Not Assign Work18071
agile, scrum, processes, product-management
Developer Guide: How to Implement Passkeys18070
guides, how-tos, authentication, security, passkeys
Recap of the State of the Word 202418069
wordpress
When Users Interact (blu/per)18068
performance, user-experience, metrics, link-lists
Re-Imagine the Web With View Transitions (bra)18067
css, view-transitions
You Don’t Need the “isOpen” Class (mau/mat)18066
html, aria, accessibility
The Top 20 Tools UX Designers Should Know (uxm)18065
design, user-experience, tooling, link-lists
React 19 and Web Component Examples (chr/fro)18064
react, web-components, examples
Never Forgive Them (edz)18063
web, ai, user-experience, economics
How to Automate OWASP Security Reviews in Your Pull Requests? (cod)18062
how-tos, security, owasp, automation, code-reviews, coderabbit
Ethical Web Principles: Building a Better Web (tor/w3c)18061
web, ethics, principles, processes, advocacy
CSS “text-wrap” (mey/5t3)18060
css, typography
Advanced and Creative TypeScript Techniques for Professionals18059
typescript, type-safety, techniques
The Gift You Do Not Want: A Div in a Button’s Clothing (mat)18058
html, buttons, accessibility
11 Essential JavaScript Hooking Techniques for Reverse Engineering in 2024 (xiu)18057
javascript, debugging, techniques
Creating Shared Ownership for Web Performance From a Cryptic CSS Values (per)18056
performance, web-vitals, monitoring, css
HTML “inert” Attribute (stv/5t3)18055
html, attributes
Exploring Hono JS: Fast, Minimal, and Easy to Use Web Framework18054
hono
Towards Measuring INP on All Browsers and Devices (iva/per)18053
performance, web-vitals, browsers
Potential Dangers of Status Messages (cer)18052
accessibility, wcag, microcontent
Page by Page: How Pagination Makes the Web Accessible (mat)18051
accessibility, pagination, html, css, svg
How to Dehumanize Accessibility With AI (ash)18050
how-tos, accessibility, ai
Animating Entry Effects (ty/5t3)18049
css, animations, transitions, effects
Improving User Experience for Multilingual Web Browsing (mat)18048
user-experience, internationalization, html
Your JavaScript Bundle Is Too Fat18047
javascript, bundling, performance, dependencies, code-splitting, lazy-loading, tree-shaking, minification, optimization
Node.js: A Brief History of CJS, Bundlers, and ESM18046
nodejs, commonjs, esm, bundling, history
Easily Check for Web Accessibility Problems in Ten Minutes or Less18045
accessibility, testing, keyboard-navigation, zooming
How Strict Should We Be When Testing for WCAG Conformance? (sib/tpg)18044
videos, accessibility, wcag, compliance
“calc-size()” and Interpolate Size (kev/5t3)18043
css, functions, animations
ARIA in HTML (sco+/w3c)18042
standards, accessibility, aria, html
“align-content”: The Simplest Way to Center Content With CSS (tre)18041
css, centering
Customize Interpolation Syntax in Angular at Component Level18040
angular, components, customization
HTML and CSS I Didn’t Even Know About Before I Started Creating Content in Japanese (mat)18039
html, ruby-markup, css, internationalization
Top 10 Flutter Libraries in 202518038
libraries, flutter, dart
Full Stack GraphQL React Tutorial—Learn Apollo Client / Apollo Server for Beginners (ped)18037
videos, tutorials, graphql, react
Why Your Logs Cost More Than Your Compute18036
logging, economics, processes
Updated Drafts for Review: W3C Accessibility Guidelines (WCAG) 3.0 (w3c)18035
accessibility, wcag, w3c, standards
Preventing Ageism in Design: Digital Accessibility for Older Adults (tpg)18034
accessibility, design, dei
Ethical Web Principles (tor+/w3c)18033
web, principles, ethics, w3c
Distributed Tracing in Node.js With OpenTelemetry (bet)18032
nodejs, observability, tracing, opentelemetry
An Introduction to CSS Scroll-Driven Animations: Scroll and View Progress Timelines (sma)18031
introductions, css, animations, scrolling
Angular Signals: Reactive Programming Simplified18030
angular, signals, reactivity
State of Node.js Performance 2024 (raf/nod)18029
nodejs, performance, metrics
The “Perilous Pitfalls” of Accessibility Maturity18028
accessibility, leadership, product-management
Responsive Tables and Readable Paragraphs (chr/fro)18027
tables, responsive-design, css
Makeshift Hot Reload (eva/mat)18026
html, metadata