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

Frontend Dogma

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

→ Stay up-to-date on all topics by various RSS feeds (main feed with exclusive news: only $1/month), on Mastodon, and on Bluesky

Entry (Sources) and TopicsDate#
Float16Array in JavaScript (tre)18506
javascript, arrays
Accessible Forms: Tips and Techniques18505
accessibility, forms, labels, keyboard-navigation, errors, testing, tips-and-tricks, techniques
A11y 101: 1.4.5 Images of Text (nat)18504
introductions, accessibility, wcag, images, alt-text
14 Web Performance Tips for 2025 (sia)18503
performance, web-vitals, culture, tips-and-tricks
Deploying TypeScript: Recent Advances and Possible Future Directions (rau)18502
typescript, deploying
10 Figma Hacks I Wish I’d Known Earlier (and You Should Know Now)18501
figma
LLMs Can’t Stop Making Up Software Dependencies and Sabotaging Everything (tho/the)18500
ai, dependencies, security, slop
Is “Ethical AI” an Oxymoron? (hdv)18499
ai, ethics, licensing, sustainability
How to Hire (hvp)18498
how-tos, hiring, engineering-management, career
A Flowing WebGL Gradient, Deconstructed18497
webgl, gradients, javascript, math
7 React Patterns That Made Me a Better Front-End Developer18496
react, hooks, props, software-design-patterns
Tooltip Should Not Start an Accessible Name18495
accessibility, tooltips
The Case for Web Components With Lit18494
web-components, lit, typescript, micro-frontends
The Case for Angular18493
angular, typescript
Never Lose a “z-index” Battle Again (mat)18492
css, positioning
How to Use GenAI With OKRs (Without Letting It Think for You) (cwo)18491
how-tos, ai, okr, prioritization, processes
Default Styles for “h1” Elements Are Changing (zco/mdn)18490
html, css, headings, browsers
Exploring TypeScript: TS 5.8 Edition (rau)18489
books, typescript, javascript
Significant Performance Improvements With Edge 13418488
edge, browsers
Tailwind’s “@apply” Feature Is Better Than It Sounds (zel/css)18487
tailwind, sass, mixins, comparisons
Stop Writing If–Else Trees: Use the State Pattern Instead18486
programming, software-design-patterns, conditionals
7 UI/UX Principles Every Dev Should Know18485
design, user-experience, principles
Why Do AI Company Logos Look Like Buttholes?18484
design, logos, comparisons
Using “currentColor” in 2025 (chr/fro)18483
css, colors
Preventing N+1 Issues Globally in Laravel Using Auto Eager Loading (ami)18482
laravel, php
No Code Is Dead. Long Live Vibe Coding. (auc)18481
low-and-no-code, vibe-coding
Mastering Default Values in JavaScript With the Nullish Coalescing (“??”) Operator18480
javascript, operators
Developer Ecosystem 2025 (jet)18479
surveys, code-editors, tooling, ai
Automated WCAG Testing Is Grrreat! (aar)18478
accessibility, wcag, testing, automation
5 Ways to Reduce HTML File Size on Your Website (deb)18477
html, minification, compression, performance, optimization
VS Code Agent Mode Just Changed Everything (bur/vsc)18476
videos, vs-code, code-editors, ai
Deploy Angular and Next.js Apps With App Hosting, Now GA (fir)18475
firebase, hosting, deploying, angular, nextjs, web-apps
Two Decades of Git: A Conversation With Creator Linus Torvalds (tor)18474
videos, interviews, git, history
Be the Node You Want to See in the Network (sur)18473
network
Just Say the Word—Try Our New AI Website Builder for Free (nee/wor)18472
wordpress, ai, tooling
Secure a Vue App With OpenID Connect and the BFF Pattern (due)18471
vuejs, security, authentication, backend-for-frontend
Zero-Config Debugging With Deno and OpenTelemetry (lca/den)18470
debugging, deno, opentelemetry, logging, tracing, metrics, observability
What It Means to Shift Left on Accessibility and How to Do It Right (lul)18469
accessibility, dei, design, culture, processes, collaboration, project-management, content-strategy, quality, training
To “light-dark()” or Not to “light-dark()” (web)18468
videos, css, functions, dark-mode
Thin Fonts Are a Usability Nightmare—and Finally, Designers Are Waking Up (web)18467
fonts, typography, usability, accessibility, design
The Untold Story of Git18466
videos, git, svn, cvs, version-control, history
The “min()” and “max()” Functions (kev)18465
css, functions
Stretching Google’s Prefetching (paw)18464
signed-exchanges, experiments, chrome, google, browsers
Project IDX Is Now Part of Firebase Studio (fir)18463
firebase, project-idx
Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil+)18462
podcasts, interviews, wordpress, apis, html, dom
How to Build a Multi-Tenant SaaS Application With Next.js18461
how-tos, nextjs, authorization, state-management, zustand
History of the Web: Chris Lilley (svg+/iga)18460
videos, interviews, web-platform, history
Event Versioning Strategies for Event-Driven Architectures (the)18459
architecture, events
Custom Progress Element Using the “attr()” Function (css/fro)18458
css, functions, progress-indicators, gradients
CSS Naked Day 2025 (mey)18457
awareness-days, css
CSS Carousels (geo/css)18456
css, carousels
Comparison Tables: 5 Scenarios When Not to Use Them18455
videos, information-design, tables, usability
Automated Accessibility Testing: Strengths and Limits18454
accessibility, testing, automation, comparisons
ARIA in HTML (sco+/w3c)18453
standards, accessibility, aria, html
10 Hard Truths Every Dev Must Learn in 202518452
career, tips-and-tricks, programming
Better Typography With “text-wrap: pretty” (jen/web)18451
typography, css, webkit, browser-engines, browsers, safari
Your Frontend, Backend, and Database—Now in One Cloudflare Worker18450
cloudflare, tooling
Background Image Opacity in CSS (jim)18449
css, backgrounds, images, transparency+opacity
Use “shape()” for Responsive Clipping (nom)18448
css, functions, shapes, clipping, responsive-design
Strings Are a Leaky Abstraction for HTML (joe)18447
html, strings
Engineering Managers Hold the Key to Effective Team Collaboration18446
engineering-management, collaboration, processes
Why I Value Firebreak Sprints for Managing Technical Debt (tre)18445
technical-debt, maintenance, processes
Using ARIA Landmarks for Better Navigation18444
navigation, keyboard-navigation, aria, accessibility
Top 5 CSS Navigation Menu Mistakes (zor/css)18443
navigation, css, mistakes, usability
React Server Confusion (ano)18442
react, components, vite, fastify
React Reconciliation: The Hidden Engine Behind Your Components18441
react, dom, components
How to Select a UX Metric18440
how-tos, user-experience, metrics, best-practices
CSS Naked Day (car)18439
awareness-days, css
CSS Naked Day 2025 (fyr)18438
css, awareness-days
10 Things You Should Know as a Next.js Developer (That No One Tells You) (pri)18437
nextjs
Creating a Software Engineering Culture18436
culture, leadership, engineering-management
UX Localization: Adapting Experiences to Users Worldwide (uxm)18435
user-experience, localization, testing
Designing AI for Cultural Diversity (uxm)18434
design, ai, dei, culture
Design for the AI Age18433
design, ai
A11y 101: 1.4.4 Resize Text (nat)18432
introductions, accessibility, wcag, resizing
How Israel’s War in Gaza Changed Big Tech (mid)18431
microsoft, google, amazon, palantir, oracle, vercel, legal
The Precise Language of Good Management18430
engineering-management, communication
Some Features That Every JavaScript Developer Should Know in 202518429
javascript, arrays, promises, prototypes, variables
Dropping Support for Twitter/X (fro)18428
frontend-dogma, twitter+x, social-media
A Note About WCAG Conformance Levels (dec)18427
accessibility, wcag, compliance
Making Node.js Downloads Reliable (nod)18426
nodejs, reliability, refactoring, case-studies
WebAIM Million Results Show That Shopping Sites Have Worst Accessibility (cer)18425
webaim, metrics, accessibility, ecommerce
Tweaking Text Level Styles, Reprised (aar)18424
html, css, accessibility, support, browsers, screen-readers
Hiding Elements That Require JavaScript Without JavaScript (0xd)18423
javascript, css, html
Cover Flow With Modern CSS: Scroll-Driven Animations in Action (add)18422
css, animations, transforms, scrolling, effects, history
The Future of Redwood Launches Today (red)18421
redwoodjs
The Blissful Zen of a Good Side Project (col)18420
learning, creativity
The Best Programmers I Know (mre)18419
career, programming, culture
Teaching Code in the AI Era: Why Fundamentals Still Matter (ali)18418
training, ai, programming, vibe-coding, security, scalability, performance, quality, testing, documentation
Open-Source Is Just That (val)18417
foss, community, culture
Lessons Learned From My First Dive Into WebAssembly18416
lessons, webassembly
Introducing Bulk Suppressions (esl)18415
eslint
How to Track and Analyze Your AI Traffic (lou/ahr)18414
how-tos, traffic, ai, analytics, google
The Importance of Alt Text for Images18413
alt-text, images, accessibility, dei, compliance, legal, seo, user-experience
Software Architecture for Developers (dic)18412
architecture, software-design
Overengineered Anchor Links18411
links, effects, techniques
First Look at the Modern “attr()” (sha)18410
css, functions, attributes, feature-detection
CSS-Only Glitch Effect18409
css, html, effects
CSS Bursts With Conic Gradients (chr/fro)18408
css, gradients, examples, effects
Making “:visited” More Private18407
css, selectors, privacy, chrome, browsers
Debugging JavaScript Memory Leaks (jar/bun)18406
javascript, memory, debugging, dev-tools, chrome, browsers, bun
Four Rules for How Design Influences Technology18405
design, product-management, examples
TypeSpec 1.0-RC: Design Faster Today, Scale Easier Tomorrow18404
apis, tooling
Google, Amazon, and Microsoft Allegedly Complicit in War Crimes Amid Israel’s War in Gaza (bus)18403
google, amazon, microsoft, ai, legal
Mastering Cross-Framework State Management in Micro-Frontends (ele/des)18402
guest-posts, architecture, frameworks, state-management, micro-frontends, scalability, strategies
How I Found My Own Path as an Introverted Engineering Manager18401
engineering-management, career
Your AI UX Intern18400
videos, ai, user-experience, concepts
SMIL On? (geo/css)18399
smil, browsers, support
Robust Accessibility and Artificial Intelligence (AI) (ger)18398
accessibility, ai
Digital Accessibility Is a Civil Right (kar)18397
accessibility, legal, ada, wcag, economics
Building a Drupal to Storyblok Migration Tool: An Engineering Perspective (edo/sma)18396
migrating, tooling, drupal
Automated vs. AI vs. Manual Testing—Text Alternatives (dec)18395
accessibility, testing, automation, ai, comparisons
AI and Accessibility: Opportunities and Challenges for Content Creators18394
accessibility, ai, content
A Guide to Alt Text Across Popular Tools (pop)18393
guides, alt-text, accessibility, images, tooling
New in Chrome 135 (rac)18392
release-notes, chrome, browsers
Firefox Release Notes [Firefox 137.0] (moz)18391
release-notes, firefox, browsers
What’s the Difference Between WCAG, the EAA, and EN 301 549? (tpg)18390
accessibility, wcag, eaa, en-301-549, legal, standards, comparisons
How GenAIs Build Diverging Color Schemes18389
design, colors, color-palettes, ai, gemini
Prioritizing Accessibility Bugs for Maximum Impact (civ)18388
accessibility, prioritization, wcag, bugs
React 19’s New Hooks: With Practical Examples (let)18387
react, hooks, javascript, examples
Stop Using Jenkins in 2025 (oso)18386
jenkins, github-actions, ci-cd, security
Micro-Scrum (j9t)18385
agile, scrum, processes, simplicity
Implementing Multi-Brand Theming With Style Dictionary (stu)18384
theming, branding, design-tokens, tooling
A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript18383
npm, dependencies, history, javascript
Node.js Test CI Security Incident (nod)18382
nodejs, security, retrospectives
WebKit Features in Safari 18.4 (jen+/web)18381
release-notes, safari, browsers, webkit
New to the Web Platform in March (rac)18380
release-notes, web-platform, browsers, firefox, safari, chrome
How Does Chrome Prioritize Image Requests? (deb)18379
chrome, browsers, images, performance
How AI Agents Are Quietly Transforming Frontend Development18378
ai, ai-agents, processes, developer-experience, collaboration
Static PHP Builds via GitHub Actions (jos)18377
php, github-actions
The WebAIM Million: The 2025 Report on the Accessibility of the Top 1,000,000 Home Pages (web)18376
studies, research, accessibility, homepages, metrics
12-Factor Agents—Principles for Building Reliable LLM Applications18375
ai, principles, reliability
In Defense of Ruthless Managers (sea)18374
engineering-management, culture
You Don’t Know Git (eth/ndc)18373
videos, git, command-line
There Is No Vibe Engineering18372
vibe-coding, programming, software-design
Testing Tools for Accessibility Enhancement II18371
videos, accessibility, testing, tooling
State of Drupal Presentation (dri)18370
drupal
Poisoning Well (hey)18369
ai, crawling, robotstxt, content
Design Isn’t Dead—You Sound Dumb18368
design, user-experience, ai
Resolving Invalid Custom Tailwind Classname ESLint Warning (ama)18367
tailwind, css, eslint
My Favorite Tools for Web Accessibility Testing (ale)18366
accessibility, testing, tooling, link-lists
Minimal CSS-Only Blurry Image Placeholders (kal)18365
images, placeholders, backgrounds, css, techniques
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)18364
deno, oracle, javascript, legal, history
Browser Choice Is an Accessibility Consideration (bee)18363
browsers, accessibility, chromium
Breaking Down Circular Dependencies in JavaScript18362
javascript, dependencies
Could JavaScript Have Synchronous “await”? (rau)18361
javascript, asynchronicity
React Email 4.018360
react, email, tooling
Mastering Typography in Design Systems With Semantic Tokens and Responsive Scaling18359
typography, design-systems, design-tokens, semantics, responsive-design, scaling
Meet llms.txt, a Proposed Standard for AI Website Content Crawling (sea)18358
ai, crawling, scraping, llmstxt, robotstxt
Robots Refresher: Future-Proof Robots Exclusion Protocol (met)18357
robotstxt
Markup Languages (j9t)18356
overviews, link-lists, sgml, html, xml, xhtml, hdml, dhtml, mathml, wml, chtml
Item Flow: A New Unified Concept for Layout (sar+/web)18355
css, layout, grids, flexbox, masonry
Interop 2025—Which Browser Features to Get Acquainted With This Year and Why You Should Care (uti/iod)18354
interoperability, support, browsers, web-platform
How to Set Up TypeScript With Node.js and Express (log)18353
how-tos, typescript, nodejs, express
How to Easily Reproduce a Flaky Test in Playwright (cha)18352
how-tos, playwright, testing, flakiness
Expanding CSS Shadow Effects (pre/fro)18351
css, shadows, effects
Automated Visual Regression Testing With Playwright (css)18350
regressions, testing, automation, playwright, javascript
Scrum Not Working? Try It as Is Before You Modify It (ste)18349
scrum, agile, processes
Website Hijack Campaign Now Impacting 150,000 Sites (gad)18348
security
5 GitHub Actions Every Maintainer Needs to Know (kli)18347
github-actions, github, tooling, automation, maintenance
Online Tracking Is Out of Control—Privacy Badger Can Help You Fight Back (eff)18346
privacy, tooling, browser-extensions, eff
Mind the WCAG Automation Gap (ste)18345
accessibility, automation, wcag
If It Works, It’s Right (bel/pic)18344
css
How to Write Blog Posts That Developers Read (mtl)18343
how-tos, writing, blogging
How to Conduct an Accessibility Audit: A Step-by-Step Guide18342
how-tos, guides, accessibility, auditing, processes
Direct Access vs. Sequential Access: Why Direct Is Better (nng)18341
videos, usability
What’s New in WebGPU (Chrome 135)18340
release-notes, webgpu, chrome, browsers
JavaScript’s Missing Link: Wasp Offers Full Stack Solution18339
wasp, javascript, frameworks, history
What’s the Future of Platform Engineering? (ma1+)18338
videos, platform-engineering, outlooks, ai
Jo Minney on Website Usability Testing for WordPress Projects (jom+)18337
podcasts, interviews, wordpress, usability, testing
Malware Found on npm Infecting Local Package With Reverse Shell (rev)18336
npm, dependencies, security
Eleventy—Use Passthrough File Copy to Add Assets (w3t)18335
eleventy, configuration
AI Won’t Take Your Job—but Someone Who Uses It Better Than You Will (cwo)18334
ai, career, tooling, learning
[“a:focus-visible”] (ada)18333
css, focus, links
React Query API Design: Lessons Learned (tkd)18332
videos, lessons, react, apis, state-management, data-fetching, tanstack
Land Ahoy: Leaving the Sea of Nodes18331
v8, javascript-engines, javascript, compiling
You Should Know This Before Choosing Next.js (edu)18330
nextjs, vercel, frameworks
The Case for “Old School” CSS (hui)18329
css, drupal, twig
“input type="number"” (kev)18328
html, forms
Artificial Intelligence Needs Community Intelligence (all)18327
videos, ai, community
A11y 101: 1.4.3 Contrast (Minimum) (nat)18326
introductions, accessibility, wcag, contrast, colors, apca
War Story: The Hardest Bug I Ever Debugged (jak)18325
debugging, javascript, v8, chrome, browsers, bugs
Is Vibe Coding Agile or Merely a Hype? (scr)18324
processes, ai, vibe-coding, agile
UX or PX? Why Naming Matters18323
user-experience, naming
The “<select>” Element Can Now Be Customized With CSS (arg)18322
forms, css
Support Logical Shorthands in CSS (geo/css)18321
css, logical-properties, shorthands
Mission jQuery Zero: How FreeAgent Removed jQuery From Our Application (fre)18320
refactoring, jquery, technical-debt, maintenance
Layered Text Headers (chr/fro)18319
typography, css, svg, shadows
Expressing Japanese Grammar Through TypeScript Type System18318
typescript, types, localization
“aria-label” Is a Letdown (thi/wag)18317
accessibility, aria, labels, html
When Do Retry, Backoff, and Jitter Work?18316
dev-ops, concepts
Whose Design Process?18315
design, ai, creativity, processes
Directives: A Core Feature of the Angular Toolkit18314
angular, extensibility
Grid First, Flex Third (fim)18313
css, layout, grids, flexbox
AI Is the Future of Accessibility (kar)18312
accessibility, ai, outlooks
Collecting Code Coverage in Node.js (nod)18311
nodejs, code-coverage
Is Vite Faster Than Turbopack?18310
nextjs, webpack, turbopack, vite, rollup, rolldown, bundling, performance, comparisons
UI Algorithms: A Tiny Undo Stack (jul)18309
javascript, algorithms, functionality, undo-redo
How Navigation Should Work for Keyboard Users (tem)18308
navigation, keyboard-navigation, focus, accessibility
Holographic Masks (hej)18307
code-pens, css, gradients, blend-modes, effects
Don’t Use Scores From Automatic Tools in Your Accessibility Statement (cer)18306
accessibility, documentation, compliance, tooling
How to Create Quality Content (Follow Our 5-Level Framework) (tim/ahr)18305
how-tos, content, microcontent, seo, sem
Cracking the Code of Vibe Coding18304
programming, processes, ai, vibe-coding, craft, technical-debt, design-debt
Cursor, “Vibe Coding,” and Manus: The UX Revolution That AI Needs18303
ai, chatgpt, cursor, history, vibe-coding, user-experience
This Is the Optimal Team Size That Improves Performance by 400%18302
engineering-management, productivity
The Software Engineering Identity Crisis (cod)18301
career, craft, ai, vibe-coding
Revisiting CSS “border-image” (mal/css)18300
css, borders, images, data-urls
Previewing Content Changes in Your Work With “document.designMode” (sma)18299
browsers, dev-tools, javascript, content, design
Mitigating Browser Fingerprinting in Web Specifications (npd+/w3c)18298
standards, privacy, fingerprinting, browsers, w3c
JavaScript Basics for a Senior Dev18297
fundamentals, concepts, javascript, examples
Create an HTML Dialog When You Click an Image (cas)18296
html, images, modals
Where Frontend Dogma Gets Its News From (j9t)18295
cross-posts, frontend-dogma, community, link-lists
Five Things Vibe Coders Should Know (From a Software Engineer)18294
vibe-coding, security, sanitization, rate-limiting
Web Accessibility Requirements in the EU (mar)18293
accessibility, eaa, legal, compliance, history, metrics
How WebAssembly Components Can Replace JavaScript SDKs (sac)18292
webassembly, components, javascript
One Thing “@scope” Can Do Is Reduce Concerns About Source Order (chr/fro)18291
css, scope, source-order
Carousels With CSS (arg)18290
css, carousels, scrolling
The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom)18289
html, attributes, browsers, support, web-platform
SSR Deep Dive for React Developers18288
deep-dives, server-side-rendering, react, javascript
Testing Design Systems in 2025 (blv)18287
design-systems, testing, storybook, vitest
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead18286
fundamentals, javascript, frameworks, react, vuejs, angular, svelte, solidjs
Revisiting Fluid Type (ric+/odd)18285
videos, interviews, typography, fonts, responsive-design
Quick Reminder That “:is()” and “:where()” Are Basically the Same With One Key Difference (geo/css)18284
css, selectors, cascade
My Thoughts on Asynchronous Accessibility APIs (jcs)18283
accessibility, asynchronicity, apis
Keyword Research for SEO in 2025: Step-By-Step Tutorial18282
videos, keywords, seo, google, tooling
Cowardly Defaults and Courageous Overrides With Modern CSS (tyl/clo)18281
css, presentational-html, cascade
Composite vs. Simple Tokens18280
design-tokens, comparisons, terminology, maintainability
Generate Growing Images Using Gemini API18279
images, ai, gemini, apis
Minding the Gaps: A New Way to Draw Separators in CSS (pat)18278
css, borders
Introducing Motion for Vue (cit)18277
introductions, animations, tooling, vuejs
Why UI Automation Is Insufficient as an Accessibility API for the Web (jcs)18276
accessibility, automation, microsoft
Vibe Coding and CHOP: What You Need to Know About AI-Driven Development (big/gra)18275
ai, vibe-coding, processes, tooling
Understanding the European Accessibility Act (EAA) (tin/tet)18274
eaa, legal, accessibility
The Bare Minimum You Need to Enable View Transitions on Your Website (ami)18273
html, css, view-transitions, minimalism
Style Legend (ada)18272
forms, css
Quick Accessibility Wins That Are Easy to Implement (kev)18271
videos, accessibility, html, semantics, alt-text, images, contrast, colors, keyboard-navigation, focus, skip-links
Not All AI-Assisted Programming Is Vibe Coding (but Vibe Coding Rocks) (sim)18270
programming, processes, ai, vibe-coding
Node.js TSC Votes to Stop Distributing Corepack (sar/soc)18269
nodejs, corepack
Naming Things in Design Systems—and Why It’s the Worst (pjo)18268
design-systems, naming, components
GitHub Suffers a Cascading Supply Chain Attack Compromising CI/CD Secrets (inf)18267
github, security, ci-cd
How to Think About Baseline and Polyfills (mal)18266
how-tos, support, browsers, web-platform, polyfills
Designing Design Systems: A Framework for Names, Terms, and Definitions18265
design-systems, naming, documentation, processes
Twenty Twenty-Five Theme: The Ultimate Guide (abr)18264
guides, wordpress, themes
Self Gap (sha)18263
css, flexbox, layout
Reducing CSS Complexity With the “:is()” Pseudo-Class (cfe)18262
css, selectors, complexity
Polite Is Often Better Than Being Alerted (oze)18261
accessibility, aria, screen-readers
Past and Present Futures of User Interface Design18260
design, desktop, history, outlooks
Next.js vs. TanStack18259
nextjs, tanstack, comparisons
Downtime vs. Slowtime: Which Costs You More? (tam/spe)18258
performance, economics, branding
A Deep Dive Into the Inline Background Overlap Problem (ana/fro)18257
deep-dives, css, svg, filters, backgrounds
Is React Accessible? That’s the Wrong Question18256
accessibility, react, jsx, semantics, html
Styling Counters in CSS (mon/css)18255
overviews, css, lists, counters
But How to Get to That European Cloud? (ber)18254
cloud-computing, politics, foss
A Review of HTML Linters18253
overviews, html, linting, conformance, tooling, link-lists, comparisons
What Are MCPs? A Beginner’s Guide to the Future of AI and Automation18252
guides, ai, mcp, architecture, automation
Bulk Actions: 3 Design Guidelines (nng)18251
videos, guidelines, design, usability
Web Components vs. Framework Components: What’s the Difference? (sma)18250
web-components, components, frameworks, html, comparisons
Please Stop Externalizing Your Costs Directly Into My Face (sir)18249
ai, crawling, traffic, economics
Leveraging 3 Types of User Feedback to Create Better User Experiences (uxm)18248
user-experience, testing
Explaining UX Design Through the Lens of Construction (uxm)18247
user-experience, design, processes, concepts
Breadcrumbs Are Dead in Web Design (web)18246
design-patterns, navigation, breadcrumbs
A11y 101: 1.4.2 Audio Control (nat)18245
introductions, accessibility, wcag, multimedia
Web Scraping With Cheerio in 2025 (api)18244
guides, scraping, tooling
Let’s Knock Down Social Media’s Walled Gardens (tim/fin)18243
web, social-media
Maintaining Screenshot Quality and Color Profile in Figma (max)18242
figma, screenshots, images, quality, colors
“Classless.css” Framework18241
frameworks, css
Accessibility Requires Clear Responsibilities or It Will Fail (cer)18240
accessibility, processes, culture
10 Uses for Variables Beyond Light and Dark Mode (ali)18239
figma, variables, dark-mode
Coding vs. Vibe Coding18238
processes, ai, vibe-coding, programming, comparisons
The Hidden Burden of Architectural Decision Fatigue (and How to Fix It)18237
architecture, documentation
System Design Roadmap for Beginners18236
architecture, system-design, concepts
Why the Latest JavaScript Frameworks Are a Waste of Time18235
frameworks, javascript, react, angular
Popping Preconceived Popover Ponderings (sco)18234
accessibility, html, pop-overs
Designers, Your Excuse Is Gone. Stunning, Animated, and Accessible. Yes, You Can! (bov)18233
design, accessibility
ADA Compliance vs. WCAG Conformance18232
accessibility, ada, wcag, compliance, comparisons, legal
State of Vue.js Report 202518231
surveys, vuejs, metrics, frameworks
How to Get Deep Traces in Your Node.js Backend With OTel and Deno (den)18230
how-tos, observability, tracing, nodejs, deno, tooling
How GitHub Engineers Learn New Codebases (bri)18229
github, learning, documentation
Accelerating Large-Scale Test Migration With LLMs18228
testing, migrating, ai, case-studies
“Intl.DurationFormat”: Format Time Durations With Locale Support (tre)18227
javascript, localization
How to Prevent WordPress SQL Injection Attacks (sma)18226
how-tos, wordpress, sql, databases, security
Browse No More (sta)18225
browsing, searching, ai, web, user-experience
How WebAssembly Crushes Technical Debt18224
webassembly, technical-debt, metrics
Connect Claude Code to a GitHub MCP Server (mat)18223
github, claude, ai, mcp
Support for CSS and Baseline Has Shipped in ESLint (mal)18222
eslint, css, browsers, support, web-platform
A Perplexing JavaScript Parsing Puzzle (hil)18221
javascript, parsing, history
Nobody Should Be a “Content Creator” (cod)18220
content, social-media, ai, career
“:in-range” Pseudo-Class (kev)18219
css, selectors, forms
Create a Fun Quick Text Flip Effect (kev)18218
videos, css, effects
Chilled Out Text Underlines (chr/fro)18217
css, links, colors
A 10× Faster TypeScript (ahe)18216
videos, typescript
What’s Missing With AI-Generated Code? Refactoring18215
surveys, studies, research, ai, productivity, quality, maintenance, refactoring
On JavaScript Closures (With Examples of Interview Questions) (mar)18214
guest-posts, javascript, closures, variables, examples, interviewing
Retrieval-Augmented Generation With Node.js, Podman AI Lab, and React18213
rag, ai, nodejs, podman, react
Why Microsoft Is Rewriting Their TypeScript Compiler in Go (imp)18212
microsoft, typescript, compiling, go
View Transitions Applied: Smoothly Animating a “border-radius” With a View Transition (bra)18211
css, animations, view-transitions, borders
DOJ Pushes for Google to Sell Chrome to Break Search Monopoly18210
google, search, legal, chrome, browsers
Design Systems Report 2025 (zer)18209
surveys, studies, research, design-systems, metrics
Automated Tools Can Ensure Full Accessibility Compliance18208
accessibility, compliance, tooling, automation
Angular Hacks Every Developer Should Know18207
angular
Ten Years Ago Today I Coined the Shorthand “js;dr” for “JavaScript Required; Didn’t Read” (tan)18206
javascript, support, terminology
Lazarus Strikes npm Again With New Wave of Malicious Packages (soc)18205
npm, dependencies, security
Future of CSS: “select” Styling Without the Hacks18204
css, selectors, forms, html
CSS System Colors (ant)18203
css, colors
Content Churn in Google Doubled Over Five Years (moz)18202
google, search, content, seo, metrics
A11y 101: 1.4.1 Use of Color (nat)18201
introductions, accessibility, wcag, colors
Here’s How Chrome Could Lose the Browser War18200
chrome, browsers, browser-wars, history
The Hype and Risks of Vibe Coding18199
trends, design, processes, ai, vibe-coding
Relative Colors (sha)18198
css, colors, functions, contrast
Is Cursor Better Than VS Code With Copilot? Absolutely and It’s Not Close18197
code-editors, cursor, vs-code, github-copilot, ai, comparisons
How to Handle “Urgent Request” in Scrum18196
how-tos, scrum, agile, project-management, prioritization
WAI a Day (yat)18195
websites, accessibility, link-lists
Devs: Draw Your Line (rem)18194
privacy, ethics, career
Updates on CVE for End-of-Life Versions (raf/nod)18193
nodejs, security
What Is the OWASP Top 10 and How Can Your Team Benchmark Security? (jet)18192
owasp, security, vulnerabilities, qodana
Prompt Engineering for Web Development18191
ai, prompting, examples
Coding With AI: How to Do It Well and What This Means (chr)18190
how-tos, ai, processes
DeepSeek and HTML (j9t)18189
ai, deepseek, html, minimalism, conformance
Introducing “command” and “commandfor” (kei)18188
introductions, html, attributes
Standards for ANSI Escape Codes (b0r)18187
escaping, encoding
Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb)18186
performance, html, css, data-urls, compression, base64
Great Software Design Looks Underwhelming (sea)18185
software-design, simplicity
10 Hidden Gems in Angular That You Should Use18184
angular, functions
Why Do We Have a “Cache-Control” Request Header? (css)18183
caching, http-headers, http
Usability Testing With Disabled Users Is a Good Investment (nic)18182
testing, usability, accessibility
Top 10 Common Accessibility Issues in Websites18181
accessibility
Implementing “aria-describedby” for Web Accessibility (flo/a11)18180
accessibility, aria, forms, labels, html
Creating Animated Accordions With the “details” Element and Modern CSS (ste/bui)18179
html, css, disclosure-widgets, accordions, animations, transitions
“aria-label” Requires a Valid Role (cfe)18178
accessibility, aria
The Angular Language Server: Understanding IDE Integration Approaches (nik/jet)18177
angular, code-editors, vs-code, neovim, webstorm
Making the Fediverse More Accessible With Claude 3.7 Sonnet18176
fediverse, bluesky, social-media, ai, claude
Delaying the Shipping of CSS “@function” From Chrome 136 to 139 (arg)18175
chrome, browsers, css
Node Just Added TypeScript Support. What Does That Mean for Deno? (tin/den)18174
typescript, nodejs, deno
From Designing Things to Designing Change18173
design, principles, collaboration
How to Fix Largest Contentful Paint Issues With Subpart Analysis (mat/sma)18172
how-tos, performance, web-vitals, metrics
In Tech, What Matters and What Is Dangerous (ham)18171
security, community, foss, open-web
Your Best Engineers Could Be Your Biggest Communication Liability (and How to Fix It)18170
communication, collaboration
On Ethics in Web Development (With a Brief Overview of Ethical Theories) (j9t)18169
overviews, ethics
Maybe Don’t Use Custom Properties in Shorthand Properties (mat)18168
css, shorthands, custom-properties
JavaScript Best Practice: Use “return await”18167
javascript, asynchronicity, best-practices
How to Protect Your Web Applications From XSS (tor/w3c)18166
how-tos, web-apps, security, xss
Defending Tailwind (don)18165
tailwind, presentational-html, naming, productivity, maintainability, scalability
Cool Native HTML Elements You Should Already Be Using (hrr)18164
html, modals, disclosure-widgets, forms, progress-indicators
From “You Will Fail” to 15,000 GitHub Stars: The Story of Wasp, a “Laravel for JS” Full-Stack Framework18163
wasp, history
Is Biome Ready to Replace Prettier and ESLint?18162
formatting, linting, tooling, biome, prettier, eslint
Our Favorite DevTools Features of 2025 (deb)18161
dev-tools, browsers, chrome, edge
How to Troubleshoot Node.js Images in OpenShift18160
how-tos, nodejs, docker, debugging, tooling
5 Questions to Ask Your Manager to 10× Your Impact at Work (cod)18159
career, productivity, prioritization, communication, culture
Accessible Solutions Benefit Everyone: Here’s How (nng)18158
videos, design, accessibility, examples
Super Crispy SVG Icons (ale)18157
svg, images, icons, optimization
How ECMAScript Engines Optimize Your Variables (boa)18156
ecmascript, variables, optimization
Grouping Selection List Items Together With CSS Grid (pre/css)18155
html, lists, forms, css, grids, layout
Don’t Use Fake Bold or Italic in Social Media (aar)18154
social-media, unicode, screen-readers, pronunciation, accessibility
Automatically Generate Changelogs With Git (dan)18153
git, documentation, automation
An Aura of Accessibility (tpg)18152
accessibility, zooming, reflow, wcag
Firefox 136 Launches With Vertical Tabs, but One Requested Feature Is Still Missing18151
firefox, browsers
Agentic AI Is the New Web App, and Your AI Strategy Must Evolve18150
ai, outlooks
Myth: Technical Debt Is the Developers Problem18149
myths, technical-debt, processes, scrum, agile
Unlock Exciting Use Cases With the Document Picture-in-Picture API (jad)18148
html, apis
The Professional Standing of Frontend Developers (mar)18147
guest-posts, career, learning, html, css, javascript, communication, collaboration, community, ai
Ethical Foundations in Modern Software Development (fra)18146
fundamentals, principles, ethics, foss, ai
View Transitions Applied: Dealing With the Snapshot Containing Block (bra)18145
css, view-transitions
Using and Styling the “details” Element (geo/css)18144
html, css, disclosure-widgets, examples
Underrated Angular Features (arm/dan)18143
angular
Truth, Lies, and Progress Bars (tyl/clo)18142
design, progress-indicators
Tailwind UI Is Now Tailwind Plus (ada/tai)18141
tailwind
SEO Is the Worst It’s Ever Been (and It’s Still Your Best Marketing Channel) (ahr)18140
seo, sem, marketing, ai, outlooks
Reservoir Sampling (sam)18139
algorithms, randomness, visualization
Building Websites With LLMS (jim)18138
html, css, view-transitions
JavaScript (htt)18137
web-almanac, studies, research, metrics, javascript, performance, bundling, transpiling, web-workers, libraries, web-components
UX Analytics: How to Measure Your User Experience the Right Way (uxm)18136
how-tos, user-experience, metrics, accessibility, performance, tooling
I Finally Understand What FAANG Wants in a Candidate18135
interviewing, facebook+meta, amazon, apple, netflix, google
10 Best AI Code Review Tools and How They Work18134
ai, code-reviews, tooling, comparisons, link-lists
Everything I Was Lied to About Node.js Came True With Elixir18133
nodejs, concurrency, memory, performance
License to Kill: Coding With Cursor AI Agents18132
cursor, code-editors, ai, ai-agents
Dark Mode: Essential, Not a Preference18131
dark-mode, accessibility
AI in the Workplace: A Productivity Boost, Not a Replacement18130
ai, productivity, career
One Kilobyte to Copilot: My Journey Through Programming History18129
programming, ai, history
Who Is Free Software For? (tan)18128
foss, licensing
The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks (sma)18127
wordpress, theming, tooling, minimalism
Secure UX: Building Cybersecurity and Privacy Into the UX Lifecycle (uxm)18126
user-experience, processes, security
Other Causes of Signed Exchanges Errors (paw)18125
signed-exchanges, errors, debugging, performance, cloudflare, google
Functions in CSS?! (mon/css)18124
css, functions
CSS Meets Voxel Art: Building a Rendering Engine With Stacked Grids (cod)18123
css, html, art
A11y 101: 1.3.5 Identify Input Purpose (nat)18122
introductions, accessibility, wcag, forms
7 Best Practices of File Upload With JavaScript and React18121
file-handling, javascript, react, best-practices
My Sales Pitch for TypeScript (rau)18120
typescript
Update on QUIC (jas/nod)18119
nodejs, quic, tls, protocols, support
“I’m Not a Designer But…” (ada)18118
design, usability, forms, ecommerce
Values (yat)18117
accessibility, ai, community, culture
Image Comparison Slider in 6 Lines of JavaScript18116
sliders, images, javascript
Be Wary of Accessibility Guarantees From Anyone (aar)18115
accessibility, automation
AX, DX, UX (jim)18114
agent-experience, developer-experience, user-experience, comparisons
Leverage on Redux to Execute Your Tests 100× Times Faster18113
react, redux, testing, performance, examples
What’s New in Svelte: March 2025 (dre/sve)18112
release-notes, svelte, sveltekit
Mozilla Updates Firefox Terms Again After Backlash Over Broad Data License Language (the)18111
firefox, mozilla, browsers, licensing
Learn Zod So You Can Trust Your Data and Your Types (did)18110
libraries, types, typescript, examples
I Quit My FAANG Job Because It’ll Be Automated by the End of 2025 (jas)18109
career, ai
New to the Web Platform in February (rac)18108
release-notes, web-platform, browsers, firefox, chrome, safari
Chrome on Android Edge-to-Edge Migration Guide (bra)18107
guides, chrome, browsers, mobile
When Config Becomes the Code: The Trap of Over-Abstracting Logic (max)18106
configuration, debugging, low-and-no-code
Building APIs With Next.js (lee)18105
nextjs, apis
Views on Views (hdv)18104
accessibility, wcag, terminology
There’s No Such Thing as “Menubar Navigation” (tem)18103
accessibility, navigation, html
Testing Tools for Accessibility Enhancement18102
videos, accessibility, testing, tooling
JavaScript Fatigue Strikes Back (all)18101
javascript, react, frameworks, libraries, tooling
Custom Property Fallbacks (mat/fro)18100
css, custom-properties
When to Use Lists for Better Accessibility18099
accessibility, html, lists
What Is TypeScript? An Overview for JavaScript Programmers (rau)18098
overviews, typescript, javascript, comparisons
How to Reduce Web Application Bundle Size? (ant)18097
how-tos, web-apps, bundling, javascript, tooling
Using AI in the Browser for Typo Rewriting (ray)18096
chrome, browsers, ai, apis, content
Advanced Network Analysis With Chrome DevTools (jec)18095
videos, dev-tools, chrome, browsers, performance, network, caching
New to Web Development? Run Your Own Website (j9t)18094
career, training, indieweb
Is the Button Focusable? (mat)18093
accessibility, buttons, focus, quizzes
5 Tips to Do Less and Better Work With AI (pro)18092
ai, productivity, automation, writing, prompting
Next.js 15.218091
release-notes, nextjs
The Browser’s Native “Magnetic Snap” Effect: Demystifying the Anchor Positioning Powerhouse18090
translations, css, anchor-positioning
Firefox: Mozilla Confirms Support for Classic Extensions and Manifest V3 Add-Ons18089
firefox, mozilla, browsers, browser-extensions
Google’s Principles for Measuring Developer Productivity18088
google, principles, productivity, studies, research
The Fallacy of Balance: Challenging the Notion of Security and Accessibility as Opposing Objectives (deq)18087
videos, accessibility, security
The Six Cs of Accessibility18086
accessibility
8 Best Things About Working in UX (nng)18085
videos, user-experience, career
What It Really Takes: Building an Accessibility-First Corporate Culture (deq)18084
videos, accessibility, culture, strategies
The Existential Challenge of Design System Team Morale (pjo)18083
design-systems, processes, culture
Open-Source Is Where Dreams Go to Die (tre)18082
foss, culture, community, economics
Examples of Why the Web Needs Anchored Popovers (chr/fro)18081
design, pop-overs, examples
Kimi AI Tutorial 2025—Tips and Tricks18080
videos, kimi, ai, tips-and-tricks
Browsers: A Snapshot (bry)18079
browsers, browser-extensions, chromium, edge, firefox, brave, safari
Intent to Experiment for Longer (kiz)18078
chrome, browsers, css, functions, conditionals
@11ty/image-color (zac)18077
packages, npm, images, colors
Turbocharging V8 With Mutable Heap Numbers18076
v8, javascript-engines, javascript, performance, randomness
2024 Web Almanac: Uncovering Global Accessibility Insights With axe (mgi/deq)18075
videos, accessibility, web-almanac, studies, research, metrics, axe
5 Questions for Jeremy Keith (ada+/fro)18074
interviews, web, web-platform, interoperability, mobile
Why I Like Designing in the Browser (tyl/clo)18073
design, processes, browsers
Justified Text, JS “moveBefore” Method, Performance Optimization (zor/css)18072
videos, css, typography, javascript, performance, optimization
How to Use “attr()” in CSS for Columns, Colors, and Font-Size (chr/fro)18071
how-tos, css, functions, layout, colors, typography
CSS Snapshot 2024 (tab+/w3c)18070
css, standards
Better Anchor Positioning With “position-area” (jam/odd)18069
css, anchor-positioning
Accessibility Maturity Models (deq)18068
videos, accessibility
11 Practical Tips to Make Code Reviews Easier as a Developer18067
code-reviews, tips-and-tricks, ai, principles, linting, formatting, quality, collaboration
Best Practices for Cognitive Accessibility in Web Design (a11)18066
accessibility, wcag, best-practices
Top 10 Front-End Dev Trends for 2025 (bhu)18065
trends, ai, low-and-no-code, css, edge-computing, frameworks, dark-mode, sustainability, webauthn, interaction-design, voice
Solved by Style Observer: “Element.matchContainer()” (bra)18064
css, javascript
Web Scraping With Playwright18063
scraping, playwright, typescript, youtube, functionality
Trusting AI With My Images Wasn’t Easy (dri)18062
ai, images, alt-text, accessibility, automation, tooling
The Figma Dilemma: Too Many Cooks, Too Few Decisions (web)18061
design, figma, collaboration
Subverting Control With Weak References (jlo)18060
programming, javascript
Strong Opinions on URL Design (val)18059
urls, user-experience
Simple Interactive CLI App With Node.js (rwi)18058
tutorials, nodejs, command-line
Overlay Timeline (ove)18057
websites, overlays, accessibility, history, link-lists
Common Dataviz Accessibility Issues (fos/sma)18056
videos, accessibility, visualization
Avoiding Tokens (don)18055
design-systems, design-tokens
Applying the Web Dev Mindset to Dealing With Life Challenges (css)18054
career
A11y 101: 1.3.4 Orientation (nat)18053
introductions, accessibility, wcag, design
It Is No Longer Safe to Move Our Governments and Societies to US Clouds (ber)18052
cloud-computing, security, privacy, legal
Speeding Up the JavaScript Ecosystem—Rust and JavaScript Plugins (mar)18051
javascript, performance, rust, plugins
Skip Links: What, Why, and How (tem)18050
accessibility, skip-links, keyboard-navigation, wcag
1.4.10: Adversarial Conformance (aar)18049
accessibility, wcag, compliance
Top Benefits of Choosing Node.js for High-Performance Applications18048
nodejs, performance, native
You Need TDD if You Use AI (lor)18047
ai, testing, processes
How to Do Visual Regression Testing in Vue With Vitest? (ale)18046
how-tos, testing, regressions, vuejs, vitest
Stop Your Angular Apps From Leaking Memory (cod)18045
videos, angular, memory
In Defense of Text Labels (chr)18044
labels, icons, images, usability, design
Clean Code in JavaScript: A Comprehensive Guide18043
guides, javascript, principles, conventions, variables, objects, functions, comments, testing, quality
Introduction to Frontend Development18042
introductions, html, css, javascript, frameworks, libraries, tooling, career, trends
A Guide to AI Prototyping for Product Designers18041
guides, design, prototyping, ai, product-management
The Effort Paradox in AI Design18040
design, product-management, history
Why We Ditched Next.js and Never Looked Back (tdj)18039
nextjs
Everything You Need to Know About Invoker Commands (kei/web)18038
videos, html, pop-overs
“ruby-align” Is Baseline Newly Available18037
ruby-markup, html, css, browsers, support, web-platform
UX Is Dead, Long Live UX (nng)18036
user-experience, ai, economics
Web Accessibility Lawsuit Moves Forward Against the State of Louisiana (lfl)18035
accessibility, legal, ada
Toe Dipping Into View Transitions (geo/css)18034
css, view-transitions
Fixing “rowspan=0” on Tables on WebKit (kar)18033
html, tables, webkit, browser-engines, browsers
Debugging Mutable Subresources: A Detective Story (paw)18032
signed-exchanges, caching, debugging
Accessible Design Checklist (lau/pen)18031
accessibility, design, checklists
10 Open-Source Documentation Frameworks to Check Out18030
foss, documentation, tooling, link-lists, zola
10 Practical Bash Commands to Simplify Complex Tasks (ski)18029
shells, command-line, productivity
3 Best Practices for Multi-Language Support in Frontend Development (ele/des)18028
guest-posts, internationalization, localization, automation, ai
What I Wish I Knew as a Junior Developer (cod)18027
career, lessons
Google Just Confirmed the AI Reality Many Programmers Are Desperately Trying to Deny (tar)18026
programming, ai, productivity, google, github-copilot, code-editors, cursor
TC39 Advances 3 Proposals to Stage 4: RegExp Escaping, Float16Array, and Redeclarable Global Eval Vars (sar/soc)18025
standards, ecmascript, javascript, regex, escaping, arrays, math
Intro to Datastar (and Craft CMS) (cra)18024
videos, introductions, tooling
Digital Accessibility and the Cost of Exclusion (deq)18023
accessibility, economics, ethics
Debugging CSS Anchor Positioning (tab+/odd)18022
videos, interviews, css, anchor-positioning, debugging
CSS-Only Syntax Highlighting (aar)18021
css, syntax-highlighting
Tracing of Node.js for Better Visibility and Performance With N|Solid (nod)18020
nodejs, tracing, tooling, nsolid
Demystifying MIME Types: Basics, Use Cases, Best Practices (mar)18019
guest-posts, mime-types, fundamentals, best-practices, performance, servers, apache, nginx, email
Flutter Is at a Critical Inflection Point18018
flutter
Why You Shouldn’t Use AI to Write Documentation (lur/zer)18017
documentation, writing, ai
Human-Centered Design Through AI-Assisted Usability Testing: Reality or Fiction? (sma)18016
design, usability, testing, ai
Documenting Web Components With Storybook18015
documentation, design-systems, web-components, storybook, examples
Breakpoint-Free CSS Grid Layouts (kev)18014
videos, css, grids, layout, functions
20 Years of AJAX: The Technology That Revolutionized Web Development18013
ajax, javascript, history, data-fetching
Static vs. Dynamic Content: Which Should Developers Favor?18012
content, client-side-rendering, server-side-rendering, performance, frameworks, comparisons
A Really (Really) Long but Authentic History of Design Evolution in India18011
design, culture, history
How I Review Design Work (ted)18010
design, consistency, creativity, complexity, processes
Tim Frick on Web Sustainability and Building a Greener Digital World18009
interviews, design, content, hosting, sustainability
Meeting European Accessibility Act (EAA) Standards: A Developer’s Checklist18008
accessibility, checklists, eaa, legal
CSS “@function” + CSS “if()” = 🤯 (bra)18007
css, functions, conditionals, custom-properties, dark-mode