Life is about deciding who we are: Join us and decide to be for environmental protection, free education and generous social security, human rights and international law, and, of course, action against oppression and violence (starting with helping the people of occupied Palestine 🇵🇸)! Hide

Frontend Dogma

“2025” News Archive (6)

Entry (Sources) and Additional TopicsDate#
The Case for “Old School” CSS (hui)783
css, drupal, twig
You Should Know This Before Choosing Next.js (edu)782
nextjs, vercel, frameworks
Land Ahoy: Leaving the Sea of Nodes781
v8, javascript-engines, javascript, compiling
“aria-label” Is a Letdown (thi/wag)780
accessibility, aria, labels, html
Expressing Japanese Grammar Through TypeScript Type System779
typescript, types, localization
Is Vibe Coding Agile or Merely a Hype? (scr)778
processes, ai, vibe-coding, agile
Layered Text Headers (chr/fro)777
typography, css, svg, shadows
Mission jQuery Zero: How FreeAgent Removed jQuery From Our Application (fre)776
refactoring, jquery, technical-debt, maintenance
Support Logical Shorthands in CSS (geo/css)775
css, logical-properties, shorthands
UX or PX? Why Naming Matters (uxd)774
user-experience, naming
War Story: The Hardest Bug I Ever Debugged (jak)773
debugging, javascript, google, v8, chrome, browsers, bugs
The “<select>” Element Can Now Be Customized With CSS (arg)772
forms, css
AI Is the Future of Accessibility (kar)771
accessibility, ai, outlooks
Grid First, Flex Third (fim)770
css, layout, grids, flexbox
When Do Retry, Backoff, and Jitter Work? (the)769
dev-ops, concepts
Whose Design Process? (uxd)768
design, ai, creativity, processes
Directives: A Core Feature of the Angular Toolkit767
angular, extensibility
Don’t Use Scores From Automatic Tools in Your Accessibility Statement (cer)766
accessibility, documentation, compliance, tooling
Holographic Masks (hej)765
code-pens, css, gradients, blend-modes, effects
How Navigation Should Work for Keyboard Users (tem)764
navigation, keyboard-navigation, focus, accessibility
UI Algorithms: A Tiny Undo Stack (jul)763
javascript, algorithms, functionality, undo-redo
Collecting Code Coverage in Node.js (nod)762
nodejs, code-coverage
Is Vite Faster Than Turbopack?761
nextjs, webpack, turbopack, vite, rollup, rolldown, bundling, performance, comparisons
Create an HTML Dialog When You Click an Image (cas)760
html, images, modals
How to Create Quality Content (Follow Our 5-Level Framework) (ahr)759
how-tos, content, microcontent, seo, sem
JavaScript Basics for a Senior Dev758
fundamentals, concepts, javascript, examples
Mitigating Browser Fingerprinting in Web Specifications (npd+/w3c)757
standards, privacy, fingerprinting, browsers, w3c
Previewing Content Changes in Your Work With “document.designMode” (sma)756
browsers, dev-tools, javascript, content, design
Revisiting CSS “border-image” (mal/css)755
css, borders, images, data-urls
The Software Engineering Identity Crisis (cod)754
career, craft, ai, vibe-coding
This Is the Optimal Team Size That Improves Performance by 400%753
engineering-management, productivity
Cracking the Code of Vibe Coding (uxd)752
programming, processes, ai, vibe-coding, craft, technical-debt, design-debt
Cursor, “Vibe Coding,” and Manus: The UX Revolution That AI Needs (uxd)751
ai, chatgpt, cursor, history, vibe-coding, user-experience
Composite vs. Simple Tokens750
design-tokens, comparisons, terminology, maintainability
Cowardly Defaults and Courageous Overrides With Modern CSS (tyl/clo)749
css, presentational-html, cascade
How WebAssembly Components Can Replace JavaScript SDKs (sac)748
webassembly, components, javascript
Keyword Research for SEO in 2025: Step-By-Step Tutorial747
videos, keywords, seo, google, tooling
My Thoughts on Asynchronous Accessibility APIs (jcs)746
accessibility, asynchronicity, apis
Quick Reminder That “:is()” and “:where()” Are Basically the Same With One Key Difference (geo/css)745
css, selectors, cascade
Revisiting Fluid Type (ric+/odd)744
videos, interviews, typography, fonts, responsive-design
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead743
fundamentals, javascript, frameworks, react, vuejs, angular, svelte, solidjs
Testing Design Systems in 2025 (blv)742
design-systems, testing, storybook, vitest
Web Accessibility Requirements in the EU (mar/uxd)741
accessibility, eaa, legal, compliance, history, metrics
SSR Deep Dive for React Developers740
deep-dives, server-side-rendering, react, javascript
Where Frontend Dogma Gets Its News From (j9t)739
cross-posts, frontend-dogma, community, link-lists
The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom)738
html, attributes, browsers, support, web-platform
Carousels With CSS (arg)737
css, carousels, scrolling
Five Things Vibe Coders Should Know (From a Software Engineer) (uxd)736
vibe-coding, security, sanitization, rate-limiting
One Thing “@scope” Can Do Is Reduce Concerns About Source Order (chr/fro)735
css, scope, source-order
GitHub Suffers a Cascading Supply Chain Attack Compromising CI/CD Secrets (inf)734
github, security, ci-cd
Naming Things in Design Systems—and Why It’s the Worst (pjo)733
design-systems, naming, components
Node.js TSC Votes to Stop Distributing Corepack (sar/soc)732
nodejs, corepack
Not All AI-Assisted Programming Is Vibe Coding (but Vibe Coding Rocks) (sim)731
programming, processes, ai, vibe-coding
Quick Accessibility Wins That Are Easy to Implement (kev)730
videos, accessibility, html, semantics, alt-text, images, contrast, colors, keyboard-navigation, focus, skip-links
Style Legend (ada)729
forms, css
The Bare Minimum You Need to Enable View Transitions on Your Website (ami)728
html, css, view-transitions, minimalism
Understanding the European Accessibility Act (EAA) (tin/tet)727
eaa, legal, accessibility
Vibe Coding and CHOP: What You Need to Know About AI-Driven Development (big/gra)726
ai, vibe-coding, processes, tooling
Why UI Automation Is Insufficient as an Accessibility API for the Web (jcs)725
accessibility, automation, microsoft
Generate Growing Images Using Gemini API724
images, ai, gemini, apis
Introducing Motion for Vue (cit)723
introductions, animations, tooling, vuejs
Minding the Gaps: A New Way to Draw Separators in CSS (pat)722
css, borders
A Deep Dive Into the Inline Background Overlap Problem (ana/fro)721
deep-dives, css, svg, filters, backgrounds
Downtime vs. Slowtime: Which Costs You More? (tam/spe)720
performance, economics, branding
Next.js vs. TanStack719
nextjs, tanstack, comparisons
Past and Present Futures of User Interface Design718
design, desktop, history, outlooks
Polite Is Often Better Than Being Alerted (oze)717
accessibility, aria, screen-readers
Reducing CSS Complexity With the “:is()” Pseudo-Class (cfe)716
css, selectors, complexity
Self Gap (sha)715
css, flexbox, layout
Twenty Twenty-Five Theme: The Ultimate Guide (abr)714
guides, wordpress, themes
Designing Design Systems: A Framework for Names, Terms, and Definitions713
design-systems, naming, documentation, processes
How to Think About Baseline and Polyfills (mal)712
how-tos, support, browsers, web-platform, polyfills
A11y 101: 1.4.2 Audio Control (nat)711
introductions, accessibility, wcag, multimedia
Breadcrumbs Are Dead in Web Design (web)710
design-patterns, navigation, breadcrumbs
But How to Get to That European Cloud? (ber)709
cloud-computing, policies, foss
Explaining UX Design Through the Lens of Construction (uxm)708
user-experience, design, processes, concepts
Is React Accessible? That’s the Wrong Question707
accessibility, react, jsx, semantics, html
Leveraging 3 Types of User Feedback to Create Better User Experiences (uxm)706
user-experience, testing
Please Stop Externalizing Your Costs Directly Into My Face (sir)705
ai, crawling, traffic, economics
Web Components vs. Framework Components: What’s the Difference? (sma)704
web-components, components, frameworks, html, comparisons
Bulk Actions: 3 Design Guidelines (nng)703
videos, guidelines, design, usability
What Are MCPs? A Beginner’s Guide to the Future of AI and Automation702
guides, ai, mcp, architecture, automation
Styling Counters in CSS (mon/css)701
overviews, css, lists
A Review of HTML Linters700
overviews, html, linting, conformance, tooling, link-lists, comparisons
10 Uses for Variables Beyond Light and Dark Mode (ali)699
figma, variables, dark-mode
Accessibility Requires Clear Responsibilities or It Will Fail (cer)698
accessibility, processes, culture
“Classless.css” Framework697
frameworks, css
Maintaining Screenshot Quality and Color Profile in Figma (max)696
figma, screenshots, images, quality, colors
Let’s Knock Down Social Media’s Walled Gardens (tim/fin)695
web, social-media
Web Scraping With Cheerio in 2025 (api)694
guides, scraping, tooling
Coding vs. Vibe Coding693
processes, ai, vibe-coding, programming, comparisons
Designers, Your Excuse Is Gone. Stunning, Animated, and Accessible. Yes, You Can! (bov)692
design, accessibility
Popping Preconceived Popover Ponderings (sco)691
accessibility, html, pop-overs
Why the Latest JavaScript Frameworks Are a Waste of Time690
frameworks, javascript, react, angular
System Design Roadmap for Beginners689
architecture, system-design, concepts
The Hidden Burden of Architectural Decision Fatigue (and How to Fix It)688
architecture, documentation
ADA Compliance vs. WCAG Conformance687
accessibility, ada, wcag, compliance, comparisons, legal
Browse No More (sta)686
browsing, searching, ai, web, user-experience
How to Get Deep Traces in Your Node.js Backend With OTel and Deno (den)685
how-tos, observability, tracing, nodejs, deno, tooling
How to Prevent WordPress SQL Injection Attacks (sma)684
how-tos, wordpress, sql, databases, security
“Intl.DurationFormat”: Format Time Durations With Locale Support (tre)683
javascript, localization
State of Vue.js Report 2025682
surveys, vuejs, metrics, frameworks
Accelerating Large-Scale Test Migration With LLMs681
testing, migrating, ai, case-studies
How GitHub Engineers Learn New Codebases (bri)680
github, learning, documentation
Chilled Out Text Underlines (chr/fro)679
css, links, colors
Create a Fun Quick Text Flip Effect (kev)678
videos, css, effects
“:in-range” Pseudo-Class (kev)677
css, selectors, forms
Nobody Should Be a “Content Creator” (cod)676
content, social-media, ai, career
A Perplexing JavaScript Parsing Puzzle (hil)675
javascript, parsing, history
How WebAssembly Crushes Technical Debt674
webassembly, technical-debt, metrics
Connect Claude Code to a GitHub MCP Server (mat)673
github, claude, anthropic, ai, mcp
Support for CSS and Baseline Has Shipped in ESLint (mal)672
eslint, css, browsers, support, web-platform
A 10× Faster TypeScript671
videos, typescript
What’s Missing With AI-Generated Code? Refactoring (ste/the)670
surveys, studies, research, ai, productivity, quality, maintenance, refactoring
Retrieval-Augmented Generation With Node.js, Podman AI Lab, and React669
ai, nodejs, podman, react
View Transitions Applied: Smoothly Animating a “border-radius” With a View Transition (bra)668
css, animations, view-transitions, borders
Why Microsoft Is Rewriting Their TypeScript Compiler in Go (imp)667
microsoft, typescript, compiling, go
On JavaScript Closures (With Examples of Interview Questions) (mar)666
guest-posts, javascript, closures, variables, examples, interviewing
A11y 101: 1.4.1 Use of Color (nat)665
introductions, accessibility, wcag, colors
Content Churn in Google Doubled Over Five Years (moz)664
google, search, content, seo, metrics
CSS System Colors (ant)663
css, colors
Design Systems Report 2025 (zer)662
surveys, studies, research, design-systems, metrics
DOJ Pushes for Google to Sell Chrome to Break Search Monopoly661
google, search, legal, chrome, browsers
Future of CSS: “select” Styling Without the Hacks660
css, selectors, forms, html
Lazarus Strikes npm Again With New Wave of Malicious Packages (soc)659
npm, dependencies, security
Ten Years Ago Today I Coined the Shorthand “js;dr” for “JavaScript Required; Didn’t Read” (tan)658
javascript, support, terminology
Angular Hacks Every Developer Should Know657
angular
Automated Tools Can Ensure Full Accessibility Compliance656
accessibility, compliance, tooling, automation
Relative Colors (sha)655
css, colors, functions, contrast
The Hype and Risks of Vibe Coding (uxd)654
trends, design, processes, ai, vibe-coding
Here’s How Chrome Could Lose the Browser War653
chrome, google, browsers, browser-wars, history
Devs: Draw Your Line (rem)652
privacy, ethics, career
How to Handle “Urgent Request” in Scrum651
how-tos, scrum, agile, project-management, prioritization
WAI a Day (yat)650
websites, accessibility, link-lists
Is Cursor Better Than VS Code With Copilot? Absolutely and It’s Not Close649
code-editors, cursor, vs-code, microsoft, github-copilot, ai, comparisons
“aria-label” Requires a Valid Role (cfe)648
accessibility, aria
Creating Animated Accordions With the “details” Element and Modern CSS (ste/bui)647
html, css, disclosure-widgets, accordions, animations, transitions
DeepSeek and HTML (j9t)646
ai, html, minimalism, conformance
Implementing “aria-describedby” for Web Accessibility (flo/a11)645
accessibility, aria, forms, labels, html
Prompt Engineering for Web Development644
ai, prompting, examples
Top 10 Common Accessibility Issues in Websites643
accessibility
Updates on CVE for End-of-Life Versions (raf/nod)642
nodejs, security
Usability Testing With Disabled Users Is a Good Investment (nic)641
testing, usability, accessibility
What Is the OWASP Top 10 and How Can Your Team Benchmark Security? (jet)640
owasp, security, vulnerabilities, qodana, jetbrains
Why Do We Have a “Cache-Control” Request Header? (css)639
caching, http-headers, http
10 Hidden Gems in Angular That You Should Use638
angular, functions
Great Software Design Looks Underwhelming (sea)637
software-design, simplicity
Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb)636
performance, html, css, data-urls, compression, base64
Standards for ANSI Escape Codes (b0r)635
escaping, encoding
Introducing “command” and “commandfor” (kei)634
introductions, html, attributes
Cool Native HTML Elements You Should Already Be Using (hrr)633
html, modals, disclosure-widgets, forms, progress-indicators
Defending Tailwind (don)632
tailwind, presentational-html, naming, productivity, maintainability, scalability
How to Fix Largest Contentful Paint Issues With Subpart Analysis (sma)631
how-tos, performance, web-vitals, metrics
How to Protect Your Web Applications From XSS (tor/w3c)630
how-tos, web-apps, security, xss
JavaScript Best Practice: Use “return await”629
javascript, asynchronicity, best-practices
Making the Fediverse More Accessible With Claude 3.7 Sonnet (jud/the)628
fediverse, bluesky, social-media, ai, claude, anthropic
Maybe Don’t Use Custom Properties in Shorthand Properties (mat)627
css, shorthands, custom-properties
Node Just Added TypeScript Support. What Does That Mean for Deno? (tin/den)626
typescript, nodejs, deno
On Ethics in Web Development (With a Brief Overview of Ethical Theories) (j9t)625
overviews, ethics
The Angular Language Server: Understanding IDE Integration Approaches (nik/jet)624
angular, code-editors, vs-code, microsoft, neovim, webstorm, jetbrains
Your Best Engineers Could Be Your Biggest Communication Liability (and How to Fix It)623
communication, collaboration
In Tech, What Matters and What Is Dangerous (ham)622
security, community, foss, open-web
From Designing Things to Designing Change (uxd)621
design, principles, collaboration
Delaying the Shipping of CSS “@function” From Chrome 136 to 139 (arg)620
chrome, google, browsers, css
An Aura of Accessibility (tpg)619
accessibility, zooming, reflow, wcag
Automatically Generate Changelogs With Git (dan)618
git, documentation, automation
Don’t Use Fake Bold or Italic in Social Media (aar)617
social-media, unicode, screen-readers, pronunciation, accessibility
From “You Will Fail” to 15,000 GitHub Stars: The Story of Wasp, a “Laravel for JS” Full-Stack Framework616
wasp, history
Grouping Selection List Items Together With CSS Grid (pre/css)615
html, lists, forms, css, grids, layout
How ECMAScript Engines Optimize Your Variables (boa)614
ecmascript, variables, optimization
Our Favorite DevTools Features of 2025 (deb)613
dev-tools, browsers, chrome, google, edge, microsoft
Super Crispy SVG Icons (ale)612
svg, images, icons, optimization
Accessible Solutions Benefit Everyone: Here’s How (nng)611
videos, design, accessibility, examples
Is Biome Ready to Replace Prettier and ESLint?610
formatting, linting, tooling, biome, prettier, eslint
5 Questions to Ask Your Manager to 10× Your Impact at Work (cod)609
career, productivity, prioritization, communication, culture
How to Troubleshoot Node.js Images in OpenShift608
how-tos, nodejs, docker, debugging, tooling
Agentic AI Is the New Web App, and Your AI Strategy Must Evolve (the)607
ai, outlooks
Building Websites With LLMS (jim)606
html, css, view-transitions
Firefox 136 Launches With Vertical Tabs, but One Requested Feature Is Still Missing605
firefox, mozilla, browsers
Reservoir Sampling (sam)604
algorithms, randomness, visualization
SEO Is the Worst It’s Ever Been (and It’s Still Your Best Marketing Channel) (ahr)603
seo, sem, marketing, ai, outlooks
Tailwind UI Is Now Tailwind Plus (ada/tai)602
tailwind
Truth, Lies, and Progress Bars (tyl/clo)601
design, progress-indicators
Underrated Angular Features (arm/dan)600
angular
Using and Styling the “details” Element (geo/css)599
html, css, disclosure-widgets, examples
View Transitions Applied: Dealing With the Snapshot Containing Block (bra)598
css, view-transitions
Ethical Foundations in Modern Software Development (fra)597
fundamentals, principles, ethics, foss, ai
The Professional Standing of Frontend Developers (mar)596
guest-posts, career, learning, html, css, javascript, communication, collaboration, community, ai
Myth: Technical Debt Is the Developers Problem595
myths, technical-debt, processes, scrum, agile
Unlock Exciting Use Cases With the Document Picture-in-Picture API (jad)594
html, apis
10 Best AI Code Review Tools and How They Work593
ai, code-reviews, tooling, comparisons, link-lists
7 Best Practices of File Upload With JavaScript and React592
file-handling, javascript, react, best-practices
A11y 101: 1.3.5 Identify Input Purpose (nat)591
introductions, accessibility, wcag, forms
CSS Meets Voxel Art: Building a Rendering Engine With Stacked Grids (cod)590
css, html, art
Everything I Was Lied to About Node.js Came True With Elixir589
nodejs, concurrency, memory, performance
Functions in CSS?! (mon/css)588
css, functions
JavaScript (htt)587
web-almanac, studies, research, metrics, javascript, performance, bundling, transpiling, web-workers, libraries, web-components
Other Causes of Signed Exchanges Errors (paw)586
signed-exchanges, errors, debugging, performance, cloudflare, google
Secure UX: Building Cybersecurity and Privacy Into the UX Lifecycle (uxm)585
user-experience, processes, security
The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks (sma)584
wordpress, theming, tooling, minimalism
UX Analytics: How to Measure Your User Experience the Right Way (uxm)583
how-tos, user-experience, metrics, accessibility, performance, tooling
Who Is Free Software For? (tan)582
foss, licensing
One Kilobyte to Copilot: My Journey Through Programming History581
programming, ai, history
AI in the Workplace: A Productivity Boost, Not a Replacement580
ai, productivity, career
Dark Mode: Essential, Not a Preference579
dark-mode, accessibility
I Finally Understand What FAANG Wants in a Candidate (uxd)578
interviewing, facebook+meta, amazon, apple, netflix, google
License to Kill: Coding With Cursor AI Agents577
cursor, code-editors, ai, ai-agents
AX, DX, UX (jim)576
agent-experience, developer-experience, user-experience, comparisons
Be Wary of Accessibility Guarantees From Anyone (aar)575
accessibility, automation
Image Comparison Slider in 6 Lines of JavaScript574
sliders, images, javascript
My Sales Pitch for TypeScript (rau)573
typescript
Update on QUIC (jas/nod)572
nodejs, quic, tls, protocols, support
Values (yat)571
accessibility, ai, community, culture
“I’m Not a Designer But…” (ada)570
design, usability, forms, ecommerce
I Quit My FAANG Job Because It’ll Be Automated by the End of 2025 (jas)569
career, ai
Learn Zod So You Can Trust Your Data and Your Types (did)568
libraries, types, typescript, examples
Mozilla Updates Firefox Terms Again After Backlash Over Broad Data License Language (the)567
firefox, mozilla, browsers, licensing
What’s New in Svelte: March 2025 (dre/sve)566
release-notes, svelte, sveltekit
Leverage on Redux to Execute Your Tests 100× Times Faster565
react, redux, testing, performance, examples
Custom Property Fallbacks (mat/fro)564
css, custom-properties
JavaScript Fatigue Strikes Back (all)563
javascript, react, frameworks, libraries, tooling
Testing Tools for Accessibility Enhancement562
videos, accessibility, testing, tooling
There’s No Such Thing as “Menubar Navigation” (tem)561
accessibility, navigation, html
Views on Views (hdv)560
accessibility, wcag, terminology
Building APIs With Next.js (lee)559
nextjs, apis
When Config Becomes the Code: The Trap of Over-Abstracting Logic (max)558
configuration, debugging, low-and-no-code
New to the Web Platform in February (rac)557
release-notes, web-platform, browsers, firefox, mozilla, chrome, google, safari, apple
Chrome on Android Edge-to-Edge Migration Guide (bra)556
guides, chrome, google, browsers, mobile
How to Reduce Web Application Bundle Size? (ant)555
how-tos, web-apps, bundling, javascript, tooling
Is the Button Focusable? (mat)554
accessibility, buttons, focus, quizzes
Using AI in the Browser for Typo Rewriting (ray)553
chrome, google, browsers, ai, apis, content
What Is TypeScript? An Overview for JavaScript Programmers (rau)552
overviews, typescript, javascript, comparisons
When to Use Lists for Better Accessibility551
accessibility, html, lists
New to Web Development? Run Your Own Website (j9t)550
career, training, indieweb
Advanced Network Analysis With Chrome DevTools (jec)549
videos, dev-tools, chrome, google, browsers, performance, network, caching
5 Tips to Do Less and Better Work With AI (pro)548
ai, productivity, automation, writing, prompting
Examples of Why the Web Needs Anchored Popovers (chr/fro)547
design, pop-overs, examples
Firefox: Mozilla Confirms Support for Classic Extensions and Manifest V3 Add-Ons546
firefox, mozilla, browsers, browser-extensions
Google’s Principles for Measuring Developer Productivity545
google, principles, productivity, studies, research
Open-Source Is Where Dreams Go to Die (tre)544
foss, culture, community, economics
The Existential Challenge of Design System Team Morale (pjo)543
design-systems, processes, culture
The Fallacy of Balance: Challenging the Notion of Security and Accessibility as Opposing Objectives (deq)542
videos, accessibility, security
What It Really Takes: Building an Accessibility-First Corporate Culture (deq)541
videos, accessibility, culture, strategies
8 Best Things About Working in UX (nng)540
videos, user-experience, career
The Six Cs of Accessibility539
accessibility
Next.js 15.2538
release-notes, nextjs
Accessibility Maturity Models (deq)537
videos, accessibility
Better Anchor Positioning With “position-area” (jam/odd)536
css, anchor-positioning
Browsers: A Snapshot (bry)535
browsers, browser-extensions, chromium, edge, microsoft, firefox, mozilla, brave, safari, apple
CSS Snapshot 2024 (tab+/w3c)534
css, standards
How to Use “attr()” in CSS for Columns, Colors, and Font-Size (chr/fro)533
how-tos, css, functions, layout, colors, typography
Intent to Experiment for Longer (kiz)532
chrome, google, browsers, css, functions, conditionals
Justified Text, JS “moveBefore” Method, Performance Optimization (zor/css)531
videos, css, typography, javascript, performance, optimization
Why I Like Designing in the Browser (tyl/clo)530
design, processes, browsers
5 Questions for Jeremy Keith (ada+/fro)529
interviews, web, web-platform, interoperability, mobile
2024 Web Almanac: Uncovering Global Accessibility Insights With axe (mgi/deq)528
videos, accessibility, web-almanac, studies, research, metrics, axe
Turbocharging V8 With Mutable Heap Numbers527
v8, javascript-engines, javascript, performance, randomness
@11ty/image-color (zac)526
packages, npm, images, colors
11 Practical Tips to Make Code Reviews Easier as a Developer525
code-reviews, tips-and-tricks, ai, principles, linting, formatting, quality, collaboration
A11y 101: 1.3.4 Orientation (nat)524
introductions, accessibility, wcag, design
Applying the Web Dev Mindset to Dealing With Life Challenges (css)523
career
Avoiding Tokens (don)522
design-systems, design-tokens
Best Practices for Cognitive Accessibility in Web Design (a11)521
accessibility, wcag, best-practices
Common Dataviz Accessibility Issues (fos/sma)520
videos, accessibility, visualization
Overlay Timeline (ove)519
websites, overlays, accessibility, history, link-lists
Simple Interactive CLI App With Node.js (rwi)518
tutorials, nodejs, command-line
Strong Opinions on URL Design (val)517
urls, user-experience
Subverting Control With Weak References (jlo)516
programming, javascript
The Figma Dilemma: Too Many Cooks, Too Few Decisions (web)515
design, figma, collaboration
Trusting AI With My Images Wasn’t Easy (dri)514
ai, images, alt-text, accessibility, automation, tooling
Web Scraping With Playwright513
scraping, playwright, typescript, youtube, functionality
Solved by Style Observer: “Element.matchContainer()” (bra)512
css, javascript
Top 10 Front-End Dev Trends for 2025 (bhu)511
trends, ai, low-and-no-code, css, edge-computing, frameworks, dark-mode, sustainability, webauthn, interaction-design, voice
1.4.10: Adversarial Conformance (aar)510
accessibility, wcag, compliance
Skip Links: What, Why, and How (tem)509
accessibility, skip-links, keyboard-navigation, wcag
Speeding Up the JavaScript Ecosystem—Rust and JavaScript Plugins (mar)508
javascript, performance, rust, plugins
It Is No Longer Safe to Move Our Governments and Societies to US Clouds (ber)507
cloud-computing, security, privacy, legal
Clean Code in JavaScript: A Comprehensive Guide506
guides, javascript, principles, conventions, variables, objects, functions, comments, testing, quality
In Defense of Text Labels (chr)505
labels, icons, images, usability, design
Stop Your Angular Apps From Leaking Memory (cod)504
videos, angular, memory
Top Benefits of Choosing Node.js for High-Performance Applications503
nodejs, performance, native
How to Do Visual Regression Testing in Vue With Vitest? (ale)502
how-tos, testing, regressions, vuejs, vitest
You Need TDD if You Use AI (lor)501
ai, testing, processes
10 Open-Source Documentation Frameworks to Check Out500
foss, documentation, tooling, link-lists, zola
Accessible Design Checklist (lau/pen)499
accessibility, design, checklists
Debugging Mutable Subresources: A Detective Story (paw)498
signed-exchanges, caching, debugging
Fixing “rowspan=0” on Tables on WebKit (kar)497
html, tables, webkit, browser-engines, browsers
Introduction to Frontend Development (the)496
introductions, html, css, javascript, frameworks, libraries, tooling, career, trends
Toe Dipping Into View Transitions (geo/css)495
css, view-transitions
Web Accessibility Lawsuit Moves Forward Against the State of Louisiana (lfl)494
accessibility, legal, ada
Why We Ditched Next.js and Never Looked Back (tdj)493
nextjs
The Effort Paradox in AI Design (uxd)492
design, product-management, history
A Guide to AI Prototyping for Product Designers (uxd)491
guides, design, prototyping, ai, product-management
UX Is Dead, Long Live UX (nng)490
user-experience, ai, economics
“ruby-align” Is Baseline Newly Available489
ruby-markup, html, css, browsers, support, web-platform
Everything You Need to Know About Invoker Commands (kei/web)488
videos, html, pop-overs
Debugging CSS Anchor Positioning (tab+/odd)487
videos, interviews, css, anchor-positioning, debugging
Digital Accessibility and the Cost of Exclusion (deq)486
accessibility, economics, ethics
Intro to Datastar (and Craft CMS) (cra)485
videos, introductions, tooling
TC39 Advances 3 Proposals to Stage 4: RegExp Escaping, Float16Array, and Redeclarable Global Eval Vars (sar/soc)484
standards, ecmascript, javascript, regex, escaping, arrays, math
Google Just Confirmed the AI Reality Many Programmers Are Desperately Trying to Deny (tar)483
programming, ai, productivity, google, github-copilot, code-editors, cursor
What I Wish I Knew as a Junior Developer (cod)482
career, lessons
3 Best Practices for Multi-Language Support in Frontend Development (ele/des)481
guest-posts, internationalization, localization, automation, ai
10 Practical Bash Commands to Simplify Complex Tasks (ski)480
shells, command-line, productivity
20 Years of AJAX: The Technology That Revolutionized Web Development479
ajax, javascript, history, data-fetching
Breakpoint-Free CSS Grid Layouts (kev)478
videos, css, grids, layout, functions
Documenting Web Components With Storybook477
documentation, design-systems, web-components, storybook, examples
Human-Centered Design Through AI-Assisted Usability Testing: Reality or Fiction? (sma)476
design, usability, testing, ai
Tracing of Node.js for Better Visibility and Performance With N|Solid (nod)475
nodejs, tracing, tooling
Why You Shouldn’t Use AI to Write Documentation (lur/zer)474
documentation, writing, ai
Flutter Is at a Critical Inflection Point473
flutter
Demystifying MIME Types: Basics, Use Cases, Best Practices (mar)472
guest-posts, mime-types, fundamentals, best-practices, performance, servers, apache, nginx, email
A Color Input That Also Shows the Value (chr/fro)471
forms, colors, web-components
AI Killed the Tech Interview. Now What?470
interviewing, hiring, ai, career, outlooks
Basic Design Patterns469
software-design, software-design-patterns
CDEs Aren’t Just for Developers: How QA, Tech Writers, and Designers Benefit Too (jet)468
code-editors, jetbrains, case-studies
Decoding CSS Selectors: “:has(:not)” vs. “:not(:has)” (pol)467
css, selectors, comparisons
ESLint Now Officially Supports Linting of CSS (nza/esl)466
eslint, css, linting
How OWASP Helps You Secure Your Full-Stack Web Applications (eri/sma)465
security, owasp, monitoring, authentication, vulnerabilities, configuration, csrf, cryptography, authorization
Meeting European Accessibility Act (EAA) Standards: A Developer’s Checklist464
accessibility, checklists, eaa, legal
Navigating the Web Platform (pat)463
web-platform, documentation, browsers, standards, link-lists, cheat-sheets
Static vs. Dynamic Content: Which Should Developers Favor? (the)462
content, client-side-rendering, server-side-rendering, performance, frameworks, comparisons
These (Still) Aren’t the SCs You’re Looking For (pat)461
videos, wcag, accessibility, compliance
Tim Frick on Web Sustainability and Building a Greener Digital World460
interviews, design, content, hosting, sustainability
TypeScript in a Node.js Project (rwi)459
typescript, nodejs, configuration
How I Review Design Work (ted/uxd)458
design, consistency, creativity, complexity, processes
CSS-Only Click Handlers You Might Not Be Using, but You Should457
css, selectors
A Really (Really) Long but Authentic History of Design Evolution in India (uxd)456
design, culture, history
CSS “@function” + CSS “if()” = 🤯 (bra)455
css, functions, conditionals, custom-properties, dark-mode
10 Awesome CSS Text Effects for Your Next Project (pau)454
css, effects, code-pens
10 Common Web Development Mistakes to Avoid Right Now453
mistakes, mobile, performance, accessibility, seo, navigation, security, analytics, testing
Accessible UX Design: 6 Advanced Techniques to Elevate Your Process (a11)452
design, user-experience, accessibility, principles, techniques, processes
Aspect Ratio Changes With CSS View Transitions (jim)451
css, view-transitions, aspect-ratio
Getting the Relationship Between UX Design and Business Strategy Right (uxm)450
design, user-experience, product-management, strategies, economics, collaboration, business-relations
How to Build a Design System? Rolling It Out and Driving Adoption449
how-tos, design-systems, advocacy
React Libraries for 2025 (rwi)448
react, libraries, tooling, link-lists
Rethinking Find-in-Page Accessibility: Making Hidden Text Work for Everyone (sch)447
accessibility, search, hiding, browsers, html
The “attr()” Function in CSS Now Supports Types (ami)446
css, functions, attributes, types
The Dark Side of UX: Lessons From OnlyFans’ Addictive Design (web)445
lessons, design, dark-patterns, ethics, user-experience, case-studies
The Difference Between Zoom and Scale (css)444
css, zooming, transforms, tips-and-tricks
Top Lawyers in 16 States Push Back on Anti-DEIA Executive Orders (lfl)443
dei, accessibility, legal
Interaction Design Demands More Than Visual Creativity (uxd)442
design, interaction-design, design-systems, creativity
It’s Right There in the Back of the Book (hom)441
accessibility, html, semantics
Implementing a Dissolve Effect With Shaders and Particles in Three.js (cod)440
effects, threejs
Five Things AI Will Not Change (met)439
ai, outlooks
Generic LLM Chatbot Attestation (aar)438
ai, processes
How to Use Chrome’s Developer Tools (deb)437
how-tos, chrome, google, browsers, dev-tools
The New “withAttributes” Method for Relationships and Scopes in Laravel (ami)436
laravel, php
The “:not” Selector in Use (cit)435
css, selectors
Top 5 Uses of WebAssembly for Web Developers (the)434
webassembly, performance, migrating, ecommerce, dev-tools
How to Move the First Element to the End in JavaScript433
how-tos, javascript
10 Secret Git Commands That Will Save You 5+ Hours Every Week432
git, command-line
Advice to New Engineering Managers (tre)431
engineering-management, leadership, culture
Create Contextual Console Loggers (pat/dev)430
console, javascript, debugging, dev-tools, browsers, edge, microsoft, chrome, google
5 Ways to Increase the Quality of Your Design System Documentation429
design-systems, documentation, quality
Common Accessibility Challenges When Navigating Tables428
accessibility, tables, images, keyboard-navigation
Does WebPerf Matter to Your SEO Ranking? (tod/per)427
videos, performance, seo, keywords
How Do We Know What Components to Work On? (lur/zer)426
design-systems, components, prioritization
Love at First Slide! Creating a Carousel Purely Out of CSS (uti)425
css, scrolling, carousels, functionality
Rainbow Selection in CSS (chr/fro)424
css, selectors, effects
Sunsetting “Create React App” (mat+/rea)423
react
The Great AI UI Unification (mgs)422
ai, usability, chatgpt, openai
The Hardest Working Font in Manhattan (mwi)421
fonts, typography, history
We Were Wrong About GPUs (fly)420
cloud-computing, edge-computing, ai, docker, containerization, developer-experience
Comcast: A New Standard for Internet Energy Efficiency419
web, network, infrastructure, sustainability
2025: 10 Free Must-Know Websites for Every Developer418
productivity, creativity, link-lists
Don’t Start Testing Accessibility With a Screen Reader (eri)417
accessibility, testing, screen-readers, keyboard-navigation
How to Test and Measure Content in UX (vit/sma)416
how-tos, user-experience, design, content, testing, analytics
Interop 2025 (pat)415
interoperability, web-platform, browsers, support
Using the “step” and “pattern” Attributes to Make Number Inputs More Useful (cas/pic)414
html, forms
Which HTML Element Are You?413
quizzes, html
Launching Interop 2025 (moz)412
interoperability, web-platform, browsers, support
When an Engineering Manager Marries a Product Manager: Planning, Roadmaps, and Bug Fixes (cod)411
engineering-management, product-management, career, collaboration, processes
Interop 2025: Another Year of Web Platform Improvements (rac)410
interoperability, web-platform, browsers, support
Faux Containers in CSS Grids (tyl/clo)409
css, grids, layout
How to Improve Webpage Speed: Tips and Best Practices408
how-tos, performance, optimization, tips-and-tricks, best-practices, redirecting, fonts, images, testing, tooling, webpagetest
Style Observer: JS to Observe CSS Property Changes, for Reals (lea)407
tooling, libraries, css, javascript
Tech Continues to Be Political (mia)406
community, dei, ethics, policies, ai, career
Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t)405
frameworks, javascript, html, conformance, comparisons, link-lists
Time to First Byte: Beyond Server Response Time (sma)404
performance, optimization, redirecting, content-delivery
Why Emojis Are the Ultimate User Interface (web)403
emoji, user-experience, design
Reimagining Fluid Typography (mia/odd)402
typography, css, responsive-design, liquid-design
State of React 2024 [Results] (sac+/dev)401
surveys, metrics, react
Better Text Rendering in Chromium-Based Browsers on Windows (pat)400
typography, rendering, browser-engines, browsers, chromium, windows, microsoft
State of AI 2025 (sac/dev)399
surveys, ai
12 Web Accessibility Tips to Make Your Site More User-Friendly398
accessibility, tips-and-tricks, contrast, alt-text, keyboard-navigation, navigation, captions, labels, skip-links, microcontent
How to Start a React Project (rwi)397
how-tos, react
Simplify Nested Code (kei)396
programming, nesting, conditionals, simplicity
Structuring Design Tokens for Interactive States395
design-tokens
The Mystery of Mutable Subresources in Signed Exchanges (paw)394
authentication, signed-exchanges, caching, ruby-on-rails, nextjs, compression, http-headers, http
Web Components Toolkit (stu)393
websites, web-components
“Create React App” Officially Deprecated Amid React 19 Compatibility Issues (sar/soc)392
react, vite, migrating, single-page-apps, deprecation
Don’t Put Your Team in a Bubble391
agile, scrum, product-management, engineering-management
How to Refactor Code With GitHub Copilot390
how-tos, refactoring, ai, github-copilot, github
Designing Accessible Website Navigation: Best Practices for Inclusive UX389
accessibility, design, user-experience, navigation
Exploring Routes Rendering Modes in Angular (mai)388
angular, routing
How I Created a Popular WordPress Theme and Coined the Term “Hero Section” (Without Realizing It) (sma)387
wordpress, themes, terminology, history
How to Write Cypress Tests That Don’t Suck (ato)386
how-tos, testing, cypress
Optimizing Images for Web Performance (tod/fro)385
images, performance, optimization, jpeg, png, webp, avif, html, caching
Organizing Design System Component Patterns With CSS Cascade Layers (mrt/css)384
design-systems, components, css, cascade
Website Accessibility Testing Methods That Work (a11)383
accessibility, testing, processes
Control Scope Creep Before It Controls You382
project-management, processes
Micro Frontends With Angular and Native Federation (man/ang)381
angular, micro-frontends
Microsoft Study Finds AI Makes Human Cognition “Atrophied and Unprepared” (ema/404)380
studies, research, microsoft, ai, career, learning
Engineers Who Won’t Commit (sea)379
career, processes
10 Must Read Microservices Architecture Books for Experienced Developers378
books, microservices, architecture
Think JavaScript Is Slow? Here’s How JIT (Just in Time) Compilation Makes It 100× Faster Instantly377
javascript, compiling, performance
Designing for AI Engineers: UI Patterns You Need to Know (eve/uxd)376
design, design-patterns, principles, processes, ai
How I Migrated From WordPress to Astro (its)375
migrating, wordpress, astro
Tightening Every Bolt (bag)374
videos, processes, code-reviews, testing, security
TypeScript: The “satisfies” Operator (rau)373
typescript, operators
Beware the Faux Bold (and How to Fix It) (ric)372
typography, fonts, css
Beyond DX: Developers Must Now Learn Agent Experience (AX) (ric/the)371
code-editors, ai, agent-experience, developer-experience
Here Is Why Microsoft’s “Uninstall Edge” Page Offers No Instructions to Remove the Browser370
edge, microsoft, browsers
Taking RWD to the Extreme (sma)369
responsive-design, intrinsic-design, html, css
Three Approaches to the “&” (Ampersand) Selector in CSS (pre/fro)368
css, nesting
Preload Fonts on Your Website for Better Core Web Vitals (deb)367
performance, preloading, fonts, hints, web-vitals
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra)366
css, javascript, view-transitions, performance
6 Questions for Eric Eggert (yat+/fro)365
interviews, accessibility, eaa, legal
The Popover API Is Now Baseline Newly Available364
pop-overs, apis, browsers, support, web-platform
63% of Websites Receive AI Traffic (New Study of 3,000 Sites) (lou/ahr)363
traffic, ai, metrics
GitHub Copilot Brings Mockups to Life by Generating Code From Images (web)362
github-copilot, ai, images, design
How to Bring Structure and Clarity to Design System Components361
how-tos, design-systems, components, documentation, conventions, information-architecture
How to Build a Design System? Bridging the Gap Between Design and Development360
how-tos, design-systems, documentation
Read-Only Accessibility in TypeScript (rau)359
typescript
The Jetbrains Platform Gets a New Community Space (kle/jet)358
jetbrains, community
What I Learned From Migrating a Vue Project From Vuex to Pinia (mic/pic)357
migrating, vuejs, state-management, lessons
Which Rich Text Editor Framework Should You Choose in 2025? (aur/liv)356
tooling, comparisons, link-lists
My Experience as a Designer Working at Bit355
design, career
Definition Layers Within Semantic Tokens (ikn)354
design-tokens, semantics
Activism Matters for Tech Development and #FOSS Paths (inf)353
foss, fediverse, sustainability, advocacy
How to Build a Landing Page in 6 Easy Steps (sem)352
how-tos, landing-pages
How to Declare Your Page’s Language (pop)351
how-tos, html, internationalization
HTML and CSS for a One-Time Password Input (chr/fro)350
html, css, forms, passwords
Move on to ESM-Only (ant)349
esm, modules, nodejs, support, javascript, typescript
On Generative AI Security (sch)348
ai, security, lessons, microsoft
The Problem With Indirections (dan)347
programming, variables, functions, presentational-html, state-management
Using “at()” Method in JavaScript to Get the Last Item From an Array (ama)346
javascript, arrays
DORA, SPACE, DevEx, DX Core 4 (j9t)345
engineering-management, productivity, culture, metrics
The State of PHP 2024 [Results] (jet)344
surveys, metrics, php, laravel, wordpress, symfony, phpstorm, jetbrains, vs-code, microsoft, sublime-text, code-editors
Optimizing the Critical Rendering Path (deb)343
performance, optimization, critical-path
Some Terminal Frustrations (b0r)342
command-line, shells
10 Digital Accessibility Mistakes to Avoid341
accessibility, mistakes, alt-text, images, contrast, colors, keyboard-navigation, aria, semantics, headings, labels, forms, pop-ups, testing
A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl/clo)340
html, forms, lists, css
Angular: The Documentary339
videos, angularjs, angular, history
Build a Link Blog (xua)338
blogging, links
Firefox 135 Launches With New Translation Languages, New Tab Layout, Security, and Privacy Improvements337
firefox, mozilla, browsers
How I Learned to Code With My Voice (whi)336
voice, code-editors, tooling
How to Gif (2025 Edition) (oll)335
how-tos, images, multimedia, gif, png, webp, avif, jpeg-xl
Integrations: From Simple Data Transfer to Modern Composable Architectures (edo/sma)334
architecture, web-services, apis, rest, graphql, webhooks, headless, content-management
Internet of Agents333
web, agent-experience, ai
Live CSS Colors: What You Can Safely Use (jar/van)332
css, colors, functions
Oracle Justified Its JavaScript Trademark With Node.js—Now It Wants That Ignored (tin/den)331
oracle, javascript, nodejs, deno, legal
Reasons Not to Refactor (tho)330
technical-debt, refactoring, processes, prioritization
The End of Programming as We Know It (tim/ore)329
programming, processes, ai, career, history, outlooks
Tutorial: Publishing ESM-Based npm Packages With TypeScript (rau)328
tutorials, dependencies, npm, typescript
Understanding the Trade-Offs of Using Tailwind CSS (mon/mea)327
tailwind, presentational-html, css
Using Padding to Space an Input and Label (dar)326
html, forms, labels, spacing, css
Which VoiceOver? (aar)325
accessibility, voiceover, screen-readers, unix-like, apple
How I Use LLMs as a Staff Engineer (sea)324
ai, processes
Introducing Fusion: Write PHP Inside Vue and React Components (eri/lar)323
introductions, tooling, php, vuejs, react, components
How to Favicon in 2025: Three Files That Fit Most Needs (sit/evi)322
how-tos, images, favicons
Alt Text Accessibility: Balancing AI and Human Oversight (tec+/equ)321
podcasts, accessibility, images, multimedia, alt-text, ai, quality
AI and Accessibility: The Good, the Bad, and the Bollocks (tin/rem)320
videos, accessibility, ai
Change “font-weight” Based on the User’s Screen DPI319
css, typography, pixel-density
Compiling CSS With Vite and Lightning CSS (mrt/css)318
css, compiling, vite, lightning-css
Developer Philosophy (qnt)317
technical-debt, refactoring, quality, processes
Extending the Cursor (kyl)316
design, interaction-design, cursors, examples
Fast and Smooth Third-Party Web Fonts (sco)315
fonts, embed-code, performance, css, javascript
Generating Image Descriptions and Alt-Text With AI (dri)314
images, alt-text, accessibility, ai, quality
How to Manage Old Content on a News Website (moz)313
how-tos, content, content-management, maintenance, prioritization, redirecting, seo
How to Perform Comprehensive ADA Testing (a11)312
how-tos, testing, processes, ada, legal, compliance, accessibility
Introducing the JSR Open Governance Board (tin+/den)311
introductions, jsr, javascript, typescript, community
Notes on the “Code Editors With AI” Landscape (chr/fro)310
ai, code-editors, plugins, github-copilot, cursor, project-idx, google, jetbrains
Smarter, Faster, Human: The Future of Design Systems With AI (uxm)309
design-systems, ai, outlooks
There Are a Lot of Ways to Break Up Long Tasks in JavaScript (mac)308
javascript, web-workers, performance
Typecasting and Viewport Transitions in CSS With “tan(atan2())” (mon/css)307
css, transitions, animations, functions, math
Before You Buy an Accessibility Audit (cer)306
accessibility, auditing, training, testing, culture
Combining “currentColor” With Relative Color Syntax (oll)305
css, colors
The Systemic Failure of Implementing CSS Principles304
css, principles, history, maintainability, consistency, modules, craft
The Paradox of UX Personalization (uxd)303
user-experience, personalization, ai
Demo: Running TypeScript Directly in Node.js (rau)302
typescript, nodejs
How to Write a Good Design Document (gra)301
how-tos, writing, documentation, software-design
OKLCH, Explained for Designers300
design, colors, oklch
We Can’t Keep Simply Repeating This Mess (inf)299
processes, sustainability
React Is Just “document.createElement()” With Good Marketing, and I Can Prove It298
react, typescript, tailwind
CSS “scrollbar-color” and “scrollbar-gutter” Are Baseline Newly Available (bra)297
css, scrolling, browsers, support, web-platform
Effective Steps for Conducting a Thorough ADA Audit (a11)296
accessibility, processes, ada, legal, compliance, auditing
Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet)295
fundamentals, forms, html, aria
How to Set Up an Accessible Page Structure and Navigation (pop)294
how-tos, accessibility, html, navigation
Microsoft Improves Text Contrast for All Windows Chromium Browsers (ser/ble)293
contrast, colors, browsers, chromium, microsoft, windows
Understanding CORS Errors in Signed Exchanges (paw)292
security, cors, errors, signed-exchanges
WCAG Colour Contrast: What Does the 4.5:1 Ratio Actually Mean? (the)291
accessibility, wcag, contrast, colors
Our Coding Obsession Is Pushing Kids Out of Tech290
career
AI Transparency Framework (uxd)289
ai, policies, processes
The Myth of “Fully Accessible” (sor/uxd)288
accessibility, myths
The Politics of Accessibility287
accessibility, history, advocacy
Why Next.js Leads the Future of Web Development in 2025286
nextjs
Accessibility Beyond Compliance: A Driver for Innovation and UX285
accessibility, compliance, user-experience
CSS Nesting: Use With Caution (bel/pic)284
css, nesting