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 that they be respected. Hide

Frontend Dogma

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

→ 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#
[Records and Tuples] Proposal Is Withdrawn (ash)17904
ecmascript
Inclusive Dark Mode: Designing Accessible Dark Themes for All Users (sma)17903
accessibility, design, dark-mode
Firefox 137.0.2 Is a Big Bug Fix and Security Update Release17902
firefox, mozilla, browsers
Advanced React in the Wild (add)17901
react, nextjs, performance, case-studies
Hako17900
javascript-engines
TLS Certificate Lifetimes Will Officially Reduce to 47 Days17899
tls, certificates, security
The Post-Developer Era (jos)17898
ai, code-editors, tooling, outlooks, career
Next Level CSS Styling for Cursors (val/css)17897
css, javascript, cursors
Getting Specific About CSS Specificity (kat)17896
css, selectors, cascade
Float16Array in JavaScript (tre)17895
javascript, arrays
Accessible Forms: Tips and Techniques17894
accessibility, forms, labels, keyboard-navigation, errors, testing, tips-and-tricks, techniques
A11y 101: 1.4.5 Images of Text (nat)17893
introductions, accessibility, wcag, images, alt-text
14 Web Performance Tips for 2025 (sia)17892
performance, web-vitals, culture, tips-and-tricks
10 Figma Hacks I Wish I’d Known Earlier (and You Should Know Now)17891
figma
Deploying TypeScript: Recent Advances and Possible Future Directions (rau)17890
typescript, deploying
LLMs Can’t Stop Making Up Software Dependencies and Sabotaging Everything (tho/the)17889
ai, dependencies, security, slop
Is “Ethical AI” an Oxymoron? (hdv)17888
ai, ethics, licensing, sustainability
How to Hire (hvp)17887
how-tos, hiring, engineering-management, career
A Flowing WebGL Gradient, Deconstructed17886
webgl, gradients, javascript, math
7 React Patterns That Made Me a Better Front-End Developer17885
react, hooks, props, software-design-patterns
Tooltip Should Not Start an Accessible Name17884
accessibility, tooltips
The Case for Web Components With Lit17883
web-components, lit, typescript, micro-frontends
The Case for Angular17882
angular, typescript
Never Lose a “z-index” Battle Again (mat)17881
css, positioning
How to Use GenAI With OKRs (Without Letting It Think for You) (cwo)17880
how-tos, ai, okr, prioritization, processes
Default Styles for “h1” Elements Are Changing (zco/mdn)17879
html, css, headings, browsers
Tailwind’s “@apply” Feature Is Better Than It Sounds (zel/css)17878
tailwind, sass, mixins, comparisons
Significant Performance Improvements With Edge 13417877
edge, microsoft, browsers
Stop Writing If–Else Trees: Use the State Pattern Instead17876
programming, software-design-patterns, conditionals
7 UI/UX Principles Every Dev Should Know17875
design, user-experience, principles
Why Do AI Company Logos Look Like Buttholes?17874
design, logos, comparisons
Using “currentColor” in 2025 (chr/fro)17873
css, colors
Preventing N+1 Issues Globally in Laravel Using Auto Eager Loading (ami)17872
laravel, php
No Code Is Dead. Long Live Vibe Coding. (auc)17871
low-and-no-code, vibe-coding
Mastering Default Values in JavaScript With the Nullish Coalescing (“??”) Operator17870
javascript, operators
Exploring TypeScript: TS 5.8 Edition (rau)17869
books, typescript, javascript
Developer Ecosystem 2025 (jet)17868
surveys, code-editors, tooling, ai
Automated WCAG Testing Is Grrreat! (aar)17867
accessibility, wcag, testing, automation
5 Ways to Reduce HTML File Size on Your Website (deb)17866
html, minification, compression, performance, optimization
Two Decades of Git: A Conversation With Creator Linus Torvalds (tor)17865
videos, interviews, git, history
Be the Node You Want to See in the Network (sur)17864
network
Just Say the Word—Try Our New AI Website Builder for Free (nee/wor)17863
wordpress, ai, tooling
Secure a Vue App With OpenID Connect and the BFF Pattern (due)17862
vuejs, security, authentication, backend-for-frontend
Zero-Config Debugging With Deno and OpenTelemetry (lca/den)17861
debugging, deno, opentelemetry, logging, tracing, metrics, observability
What It Means to Shift Left on Accessibility and How to Do It Right (lul)17860
accessibility, dei, design, culture, processes, collaboration, project-management, content-strategy, quality, training
VS Code Agent Mode Just Changed Everything (bur/vsc)17859
videos, vs-code, microsoft, code-editors, ai
To “light-dark()” or Not to “light-dark()” (web)17858
videos, css, functions, dark-mode
Thin Fonts Are a Usability Nightmare—and Finally, Designers Are Waking Up (web)17857
fonts, typography, usability, accessibility, design
The Untold Story of Git17856
videos, git, svn, cvs, version-control, history
The “min()” and “max()” Functions (kev)17855
css, functions
Stretching Google’s Prefetching (paw)17854
signed-exchanges, experiments, chrome, google, browsers
Project IDX Is Now Part of Firebase Studio (fir)17853
firebase, project-idx
Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil+)17852
podcasts, interviews, wordpress, apis, html, dom
How to Build a Multi-Tenant SaaS Application With Next.js17851
how-tos, nextjs, authorization, state-management, zustand
History of the Web: Chris Lilley (svg+/iga)17850
videos, interviews, web-platform, history
Event Versioning Strategies for Event-Driven Architectures (the)17849
architecture, events
Deploy Angular and Next.js Apps With App Hosting, Now GA (fir)17848
google, firebase, hosting, deploying, angular, nextjs, web-apps
Custom Progress Element Using the “attr()” Function (css/fro)17847
css, functions, progress-indicators, gradients
CSS Naked Day 2025 (mey)17846
awareness-days, css
CSS Carousels (geo/css)17845
css, carousels
Comparison Tables: 5 Scenarios When Not to Use Them17844
videos, information-design, tables, usability
Automated Accessibility Testing: Strengths and Limits17843
accessibility, testing, automation, comparisons
ARIA in HTML (sco+/w3c)17842
standards, accessibility, aria, html
10 Hard Truths Every Dev Must Learn in 202517841
career, tips-and-tricks, programming
Your Frontend, Backend, and Database—Now in One Cloudflare Worker17840
cloudflare, tooling
Background Image Opacity in CSS (jim)17839
css, backgrounds, images, transparency+opacity
Use “shape()” for Responsive Clipping (nom)17838
css, functions, shapes, clipping, responsive-design
Strings Are a Leaky Abstraction for HTML (joe)17837
html, strings
Engineering Managers Hold the Key to Effective Team Collaboration17836
engineering-management, collaboration, processes
Why I Value Firebreak Sprints for Managing Technical Debt (tre)17835
technical-debt, maintenance, processes
Using ARIA Landmarks for Better Navigation17834
navigation, keyboard-navigation, aria, accessibility
Top 5 CSS Navigation Menu Mistakes (zor/css)17833
navigation, css, mistakes, usability
React Server Confusion (ano)17832
react, components, vite, fastify
React Reconciliation: The Hidden Engine Behind Your Components17831
react, dom, components
How to Select a UX Metric17830
how-tos, user-experience, metrics, best-practices
CSS Naked Day (car)17829
awareness-days, css
CSS Naked Day 2025 (fyr)17828
css, awareness-days
Better Typography With “text-wrap: pretty” (jen/web)17827
typography, css, webkit, browser-engines, browsers, safari, apple
10 Things You Should Know as a Next.js Developer (That No One Tells You) (pri)17826
nextjs
Creating a Software Engineering Culture17825
culture, leadership, engineering-management
UX Localization: Adapting Experiences to Users Worldwide (uxm)17824
user-experience, localization, testing
Designing AI for Cultural Diversity (uxm)17823
design, ai, dei, culture
Design for the AI Age17822
design, ai
A11y 101: 1.4.4 Resize Text (nat)17821
introductions, accessibility, wcag, resizing
How Israel’s War in Gaza Changed Big Tech (mid)17820
microsoft, google, amazon, palantir, oracle, vercel, legal
The Precise Language of Good Management17819
engineering-management, communication
Some Features That Every JavaScript Developer Should Know in 202517818
javascript, arrays, promises, prototypes, variables
Dropping Support for Twitter/X (fro)17817
frontend-dogma, twitter+x, social-media
A Note About WCAG Conformance Levels (dec)17816
accessibility, wcag, compliance
Making Node.js Downloads Reliable (nod)17815
nodejs, reliability, refactoring, case-studies
WebAIM Million Results Show That Shopping Sites Have Worst Accessibility (cer)17814
webaim, metrics, accessibility, ecommerce
Tweaking Text Level Styles, Reprised (aar)17813
html, css, accessibility, support, browsers, screen-readers
Hiding Elements That Require JavaScript Without JavaScript (0xd)17812
javascript, css, html
Cover Flow With Modern CSS: Scroll-Driven Animations in Action (add)17811
css, animations, transforms, scrolling, effects, history
The Future of Redwood Launches Today (red)17810
redwoodjs
The Blissful Zen of a Good Side Project (col)17809
learning, creativity
The Best Programmers I Know (mre)17808
career, programming, culture
Teaching Code in the AI Era: Why Fundamentals Still Matter (ali)17807
training, ai, programming, vibe-coding, security, scalability, performance, quality, testing, documentation
Open-Source Is Just That (val)17806
foss, community, culture
Lessons Learned From My First Dive Into WebAssembly17805
lessons, webassembly
Introducing Bulk Suppressions (esl)17804
eslint
How to Track and Analyze Your AI Traffic (lou/ahr)17803
how-tos, traffic, ai, analytics, google
The Importance of Alt Text for Images17802
alt-text, images, accessibility, dei, compliance, legal, seo, user-experience
Software Architecture for Developers (dic)17801
architecture, software-design
Overengineered Anchor Links17800
links, effects, techniques
First Look at the Modern “attr()” (sha)17799
css, functions, attributes, feature-detection
CSS-Only Glitch Effect17798
css, html, effects
CSS Bursts With Conic Gradients (chr/fro)17797
css, gradients, examples, effects
Four Rules for How Design Influences Technology17796
design, product-management, examples
Making “:visited” More Private17795
css, selectors, privacy, chrome, google, browsers
TypeSpec 1.0-RC: Design Faster Today, Scale Easier Tomorrow17794
apis, tooling
Google, Amazon, and Microsoft Allegedly Complicit in War Crimes Amid Israel’s War in Gaza (bus)17793
google, amazon, microsoft, ai, legal
Mastering Cross-Framework State Management in Micro-Frontends (ele/des)17792
guest-posts, architecture, frameworks, state-management, micro-frontends, scalability, strategies
How I Found My Own Path as an Introverted Engineering Manager17791
engineering-management, career
Your AI UX Intern17790
videos, ai, user-experience, concepts
SMIL On? (geo/css)17789
smil, browsers, support
Robust Accessibility and Artificial Intelligence (AI) (ger)17788
accessibility, ai
Digital Accessibility Is a Civil Right (kar)17787
accessibility, legal, ada, wcag, economics
Debugging JavaScript Memory Leaks (jar/bun)17786
javascript, memory, debugging, dev-tools, chrome, google, browsers, bun
Building a Drupal to Storyblok Migration Tool: An Engineering Perspective (edo/sma)17785
migrating, tooling, drupal
Automated vs. AI vs. Manual Testing—Text Alternatives (dec)17784
accessibility, testing, automation, ai, comparisons
AI and Accessibility: Opportunities and Challenges for Content Creators17783
accessibility, ai, content
A Guide to Alt Text Across Popular Tools (pop)17782
guides, alt-text, accessibility, images, tooling
What’s the Difference Between WCAG, the EAA, and EN 301 549? (tpg)17781
accessibility, wcag, eaa, en-301-549, legal, standards, comparisons
How GenAIs Build Diverging Color Schemes17780
design, colors, color-palettes, ai, gemini
New in Chrome 135 (rac)17779
release-notes, chrome, google, browsers
Prioritizing Accessibility Bugs for Maximum Impact (civ)17778
accessibility, prioritization, wcag, bugs
React 19’s New Hooks: With Practical Examples (let)17777
react, hooks, javascript, examples
Stop Using Jenkins in 2025 (oso)17776
jenkins, github-actions, ci-cd, security
Firefox Release Notes [Firefox 137.0] (moz)17775
release-notes, firefox, mozilla, browsers
Micro-Scrum (j9t)17774
agile, scrum, processes, simplicity
Implementing Multi-Brand Theming With Style Dictionary (stu)17773
theming, branding, design-tokens, tooling
A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript17772
npm, dependencies, history, javascript
How AI Agents Are Quietly Transforming Frontend Development17771
ai, ai-agents, processes, developer-experience, collaboration
Static PHP Builds via GitHub Actions (jos)17770
php, github-actions
The WebAIM Million: The 2025 Report on the Accessibility of the Top 1,000,000 Home Pages (web)17769
studies, research, accessibility, homepages, metrics
12-Factor Agents—Principles for Building Reliable LLM Applications17768
ai, principles, reliability
New to the Web Platform in March (rac)17767
release-notes, web-platform, browsers, firefox, mozilla, safari, apple, chrome, google
In Defense of Ruthless Managers (sea)17766
engineering-management, culture
You Don’t Know Git (eth/ndc)17765
videos, git, command-line
WebKit Features in Safari 18.4 (jen+/web)17764
release-notes, safari, apple, browsers, webkit
There Is No Vibe Engineering17763
vibe-coding, programming, software-design
Testing Tools for Accessibility Enhancement II17762
videos, accessibility, testing, tooling
State of Drupal Presentation (dri)17761
drupal
Poisoning Well (hey)17760
ai, crawling, robotstxt, content
Node.js Test CI Security Incident (nod)17759
nodejs, security, retrospectives
How Does Chrome Prioritize Image Requests? (deb)17758
chrome, google, browsers, images, performance
Design Isn’t Dead—You Sound Dumb17757
design, user-experience, ai
Resolving Invalid Custom Tailwind Classname ESLint Warning (ama)17756
tailwind, css, eslint
My Favorite Tools for Web Accessibility Testing (ale)17755
accessibility, testing, tooling, link-lists
Minimal CSS-Only Blurry Image Placeholders (kal)17754
images, placeholders, backgrounds, css, techniques
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)17753
deno, oracle, javascript, legal, history
Browser Choice Is an Accessibility Consideration (bee)17752
browsers, accessibility, chromium
Breaking Down Circular Dependencies in JavaScript17751
javascript, dependencies
Mastering Typography in Design Systems With Semantic Tokens and Responsive Scaling17750
typography, design-systems, design-tokens, semantics, responsive-design, scaling
Meet llms.txt, a Proposed Standard for AI Website Content Crawling (sea)17749
ai, crawling, scraping, llmstxt, robotstxt
Robots Refresher: Future-Proof Robots Exclusion Protocol (met)17748
robotstxt
React Email 4.017747
react, email, tooling
Markup Languages (j9t)17746
overviews, link-lists, sgml, html, xml, xhtml, hdml, dhtml, mathml, wml, chtml
Item Flow: A New Unified Concept for Layout (sar+/web)17745
css, layout, grids, flexbox, masonry
Interop 2025—Which Browser Features to Get Acquainted With This Year and Why You Should Care (uti/iod)17744
interoperability, support, browsers, web-platform
How to Set Up TypeScript With Node.js and Express (log)17743
how-tos, typescript, nodejs, express
How to Easily Reproduce a Flaky Test in Playwright (cha)17742
how-tos, playwright, testing, flakiness
Expanding CSS Shadow Effects (pre/fro)17741
css, shadows, effects
Could JavaScript Have Synchronous “await”? (rau)17740
javascript, asynchronicity
Automated Visual Regression Testing With Playwright (css)17739
regressions, testing, automation, playwright, javascript
Scrum Not Working? Try It as Is Before You Modify It (ste)17738
scrum, agile, processes
Website Hijack Campaign Now Impacting 150,000 Sites (gad)17737
security
5 GitHub Actions Every Maintainer Needs to Know (kli)17736
github-actions, github, tooling, automation, maintenance
Online Tracking Is Out of Control—Privacy Badger Can Help You Fight Back (eff)17735
privacy, tooling, browser-extensions, eff
Mind the WCAG Automation Gap (ste)17734
accessibility, automation, wcag
If It Works, It’s Right (bel/pic)17733
css
How to Write Blog Posts That Developers Read (mtl)17732
how-tos, writing, blogging
How to Conduct an Accessibility Audit: A Step-by-Step Guide17731
how-tos, guides, accessibility, auditing, processes
JavaScript’s Missing Link: Wasp Offers Full Stack Solution17730
wasp, javascript, frameworks, history
What’s the Future of Platform Engineering? (ma1+)17729
videos, platform-engineering, outlooks, ai
What’s New in WebGPU (Chrome 135)17728
release-notes, webgpu, chrome, google, browsers
Jo Minney on Website Usability Testing for WordPress Projects (jom+)17727
podcasts, interviews, wordpress, usability, testing
Direct Access vs. Sequential Access: Why Direct Is Better (nng)17726
videos, usability
Malware Found on npm Infecting Local Package With Reverse Shell (rev)17725
npm, dependencies, security
Eleventy—Use Passthrough File Copy to Add Assets (w3t)17724
eleventy, configuration
AI Won’t Take Your Job—but Someone Who Uses It Better Than You Will (cwo)17723
ai, career, tooling, learning
[“a:focus-visible”] (ada)17722
css, focus, links
Land Ahoy: Leaving the Sea of Nodes17721
v8, javascript-engines, javascript, compiling
You Should Know This Before Choosing Next.js (edu)17720
nextjs, vercel, frameworks
The Case for “Old School” CSS (hui)17719
css, drupal, twig
React Query API Design: Lessons Learned (tkd)17718
videos, lessons, react, apis, state-management, data-fetching, tanstack
“input type="number"” (kev)17717
html, forms
Artificial Intelligence Needs Community Intelligence (all)17716
videos, ai, community
A11y 101: 1.4.3 Contrast (Minimum) (nat)17715
introductions, accessibility, wcag, contrast, colors, apca
Is Vibe Coding Agile or Merely a Hype? (scr)17714
processes, ai, vibe-coding, agile
UX or PX? Why Naming Matters17713
user-experience, naming
The “<select>” Element Can Now Be Customized With CSS (arg)17712
forms, css
War Story: The Hardest Bug I Ever Debugged (jak)17711
debugging, javascript, google, v8, chrome, browsers, bugs
Support Logical Shorthands in CSS (geo/css)17710
css, logical-properties, shorthands
Mission jQuery Zero: How FreeAgent Removed jQuery From Our Application (fre)17709
refactoring, jquery, technical-debt, maintenance
Layered Text Headers (chr/fro)17708
typography, css, svg, shadows
Expressing Japanese Grammar Through TypeScript Type System17707
typescript, types, localization
“aria-label” Is a Letdown (thi/wag)17706
accessibility, aria, labels, html
When Do Retry, Backoff, and Jitter Work?17705
dev-ops, concepts
Whose Design Process?17704
design, ai, creativity, processes
Directives: A Core Feature of the Angular Toolkit17703
angular, extensibility
Grid First, Flex Third (fim)17702
css, layout, grids, flexbox
AI Is the Future of Accessibility (kar)17701
accessibility, ai, outlooks
Is Vite Faster Than Turbopack?17700
nextjs, webpack, turbopack, vite, rollup, rolldown, bundling, performance, comparisons
Collecting Code Coverage in Node.js (nod)17699
nodejs, code-coverage
UI Algorithms: A Tiny Undo Stack (jul)17698
javascript, algorithms, functionality, undo-redo
How Navigation Should Work for Keyboard Users (tem)17697
navigation, keyboard-navigation, focus, accessibility
Holographic Masks (hej)17696
code-pens, css, gradients, blend-modes, effects
Don’t Use Scores From Automatic Tools in Your Accessibility Statement (cer)17695
accessibility, documentation, compliance, tooling
Cracking the Code of Vibe Coding17694
programming, processes, ai, vibe-coding, craft, technical-debt, design-debt
Cursor, “Vibe Coding,” and Manus: The UX Revolution That AI Needs17693
ai, chatgpt, cursor, history, vibe-coding, user-experience
This Is the Optimal Team Size That Improves Performance by 400%17692
engineering-management, productivity
The Software Engineering Identity Crisis (cod)17691
career, craft, ai, vibe-coding
Revisiting CSS “border-image” (mal/css)17690
css, borders, images, data-urls
Previewing Content Changes in Your Work With “document.designMode” (sma)17689
browsers, dev-tools, javascript, content, design
Mitigating Browser Fingerprinting in Web Specifications (npd+/w3c)17688
standards, privacy, fingerprinting, browsers, w3c
JavaScript Basics for a Senior Dev17687
fundamentals, concepts, javascript, examples
How to Create Quality Content (Follow Our 5-Level Framework) (ahr)17686
how-tos, content, microcontent, seo, sem
Create an HTML Dialog When You Click an Image (cas)17685
html, images, modals
Where Frontend Dogma Gets Its News From (j9t)17684
cross-posts, frontend-dogma, community, link-lists
Five Things Vibe Coders Should Know (From a Software Engineer)17683
vibe-coding, security, sanitization, rate-limiting
Web Accessibility Requirements in the EU (mar)17682
accessibility, eaa, legal, compliance, history, metrics
How WebAssembly Components Can Replace JavaScript SDKs (sac)17681
webassembly, components, javascript
One Thing “@scope” Can Do Is Reduce Concerns About Source Order (chr/fro)17680
css, scope, source-order
Carousels With CSS (arg)17679
css, carousels, scrolling
The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom)17678
html, attributes, browsers, support, web-platform
SSR Deep Dive for React Developers17677
deep-dives, server-side-rendering, react, javascript
Testing Design Systems in 2025 (blv)17676
design-systems, testing, storybook, vitest
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead17675
fundamentals, javascript, frameworks, react, vuejs, angular, svelte, solidjs
Revisiting Fluid Type (ric+/odd)17674
videos, interviews, typography, fonts, responsive-design
Quick Reminder That “:is()” and “:where()” Are Basically the Same With One Key Difference (geo/css)17673
css, selectors, cascade
My Thoughts on Asynchronous Accessibility APIs (jcs)17672
accessibility, asynchronicity, apis
Keyword Research for SEO in 2025: Step-By-Step Tutorial17671
videos, keywords, seo, google, tooling
Cowardly Defaults and Courageous Overrides With Modern CSS (tyl/clo)17670
css, presentational-html, cascade
Composite vs. Simple Tokens17669
design-tokens, comparisons, terminology, maintainability
Generate Growing Images Using Gemini API17668
images, ai, gemini, apis
Minding the Gaps: A New Way to Draw Separators in CSS (pat)17667
css, borders
Introducing Motion for Vue (cit)17666
introductions, animations, tooling, vuejs
Why UI Automation Is Insufficient as an Accessibility API for the Web (jcs)17665
accessibility, automation, microsoft
Vibe Coding and CHOP: What You Need to Know About AI-Driven Development (big/gra)17664
ai, vibe-coding, processes, tooling
Understanding the European Accessibility Act (EAA) (tin/tet)17663
eaa, legal, accessibility
The Bare Minimum You Need to Enable View Transitions on Your Website (ami)17662
html, css, view-transitions, minimalism
Style Legend (ada)17661
forms, css
Quick Accessibility Wins That Are Easy to Implement (kev)17660
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)17659
programming, processes, ai, vibe-coding
Node.js TSC Votes to Stop Distributing Corepack (sar/soc)17658
nodejs, corepack
Naming Things in Design Systems—and Why It’s the Worst (pjo)17657
design-systems, naming, components
GitHub Suffers a Cascading Supply Chain Attack Compromising CI/CD Secrets (inf)17656
github, security, ci-cd
How to Think About Baseline and Polyfills (mal)17655
how-tos, support, browsers, web-platform, polyfills
Designing Design Systems: A Framework for Names, Terms, and Definitions17654
design-systems, naming, documentation, processes
Twenty Twenty-Five Theme: The Ultimate Guide (abr)17653
guides, wordpress, themes
Self Gap (sha)17652
css, flexbox, layout
Reducing CSS Complexity With the “:is()” Pseudo-Class (cfe)17651
css, selectors, complexity
Polite Is Often Better Than Being Alerted (oze)17650
accessibility, aria, screen-readers
Past and Present Futures of User Interface Design17649
design, desktop, history, outlooks
Next.js vs. TanStack17648
nextjs, tanstack, comparisons
Downtime vs. Slowtime: Which Costs You More? (tam/spe)17647
performance, economics, branding
A Deep Dive Into the Inline Background Overlap Problem (ana/fro)17646
deep-dives, css, svg, filters, backgrounds
Styling Counters in CSS (mon/css)17645
overviews, css, lists, counters
But How to Get to That European Cloud? (ber)17644
cloud-computing, politics, foss
A Review of HTML Linters17643
overviews, html, linting, conformance, tooling, link-lists, comparisons
What Are MCPs? A Beginner’s Guide to the Future of AI and Automation17642
guides, ai, mcp, architecture, automation
Bulk Actions: 3 Design Guidelines (nng)17641
videos, guidelines, design, usability
Web Components vs. Framework Components: What’s the Difference? (sma)17640
web-components, components, frameworks, html, comparisons
Please Stop Externalizing Your Costs Directly Into My Face (sir)17639
ai, crawling, traffic, economics
Leveraging 3 Types of User Feedback to Create Better User Experiences (uxm)17638
user-experience, testing
Is React Accessible? That’s the Wrong Question17637
accessibility, react, jsx, semantics, html
Explaining UX Design Through the Lens of Construction (uxm)17636
user-experience, design, processes, concepts
Breadcrumbs Are Dead in Web Design (web)17635
design-patterns, navigation, breadcrumbs
A11y 101: 1.4.2 Audio Control (nat)17634
introductions, accessibility, wcag, multimedia
Web Scraping With Cheerio in 2025 (api)17633
guides, scraping, tooling
Let’s Knock Down Social Media’s Walled Gardens (tim/fin)17632
web, social-media
Maintaining Screenshot Quality and Color Profile in Figma (max)17631
figma, screenshots, images, quality, colors
“Classless.css” Framework17630
frameworks, css
Accessibility Requires Clear Responsibilities or It Will Fail (cer)17629
accessibility, processes, culture
10 Uses for Variables Beyond Light and Dark Mode (ali)17628
figma, variables, dark-mode
Coding vs. Vibe Coding17627
processes, ai, vibe-coding, programming, comparisons
The Hidden Burden of Architectural Decision Fatigue (and How to Fix It)17626
architecture, documentation
System Design Roadmap for Beginners17625
architecture, system-design, concepts
Why the Latest JavaScript Frameworks Are a Waste of Time17624
frameworks, javascript, react, angular
Popping Preconceived Popover Ponderings (sco)17623
accessibility, html, pop-overs
Designers, Your Excuse Is Gone. Stunning, Animated, and Accessible. Yes, You Can! (bov)17622
design, accessibility
State of Vue.js Report 202517621
surveys, vuejs, metrics, frameworks
How to Get Deep Traces in Your Node.js Backend With OTel and Deno (den)17620
how-tos, observability, tracing, nodejs, deno, tooling
How GitHub Engineers Learn New Codebases (bri)17619
github, learning, documentation
Accelerating Large-Scale Test Migration With LLMs17618
testing, migrating, ai, case-studies
“Intl.DurationFormat”: Format Time Durations With Locale Support (tre)17617
javascript, localization
How to Prevent WordPress SQL Injection Attacks (sma)17616
how-tos, wordpress, sql, databases, security
Browse No More (sta)17615
browsing, searching, ai, web, user-experience
ADA Compliance vs. WCAG Conformance17614
accessibility, ada, wcag, compliance, comparisons, legal
Support for CSS and Baseline Has Shipped in ESLint (mal)17613
eslint, css, browsers, support, web-platform
Connect Claude Code to a GitHub MCP Server (mat)17612
github, claude, anthropic, ai, mcp
How WebAssembly Crushes Technical Debt17611
webassembly, technical-debt, metrics
A Perplexing JavaScript Parsing Puzzle (hil)17610
javascript, parsing, history
Nobody Should Be a “Content Creator” (cod)17609
content, social-media, ai, career
“:in-range” Pseudo-Class (kev)17608
css, selectors, forms
Create a Fun Quick Text Flip Effect (kev)17607
videos, css, effects
Chilled Out Text Underlines (chr/fro)17606
css, links, colors
What’s Missing With AI-Generated Code? Refactoring17605
surveys, studies, research, ai, productivity, quality, maintenance, refactoring
On JavaScript Closures (With Examples of Interview Questions) (mar)17604
guest-posts, javascript, closures, variables, examples, interviewing
Retrieval-Augmented Generation With Node.js, Podman AI Lab, and React17603
rag, ai, nodejs, podman, react
Why Microsoft Is Rewriting Their TypeScript Compiler in Go (imp)17602
microsoft, typescript, compiling, go
View Transitions Applied: Smoothly Animating a “border-radius” With a View Transition (bra)17601
css, animations, view-transitions, borders
A 10× Faster TypeScript17600
videos, typescript
DOJ Pushes for Google to Sell Chrome to Break Search Monopoly17599
google, search, legal, chrome, browsers
Design Systems Report 2025 (zer)17598
surveys, studies, research, design-systems, metrics
Automated Tools Can Ensure Full Accessibility Compliance17597
accessibility, compliance, tooling, automation
Angular Hacks Every Developer Should Know17596
angular
Ten Years Ago Today I Coined the Shorthand “js;dr” for “JavaScript Required; Didn’t Read” (tan)17595
javascript, support, terminology
Lazarus Strikes npm Again With New Wave of Malicious Packages (soc)17594
npm, dependencies, security
Future of CSS: “select” Styling Without the Hacks17593
css, selectors, forms, html
CSS System Colors (ant)17592
css, colors
Content Churn in Google Doubled Over Five Years (moz)17591
google, search, content, seo, metrics
A11y 101: 1.4.1 Use of Color (nat)17590
introductions, accessibility, wcag, colors
The Hype and Risks of Vibe Coding17589
trends, design, processes, ai, vibe-coding
Here’s How Chrome Could Lose the Browser War17588
chrome, google, browsers, browser-wars, history
Relative Colors (sha)17587
css, colors, functions, contrast
How to Handle “Urgent Request” in Scrum17586
how-tos, scrum, agile, project-management, prioritization
Is Cursor Better Than VS Code With Copilot? Absolutely and It’s Not Close17585
code-editors, cursor, vs-code, microsoft, github-copilot, ai, comparisons
WAI a Day (yat)17584
websites, accessibility, link-lists
Devs: Draw Your Line (rem)17583
privacy, ethics, career
Prompt Engineering for Web Development17582
ai, prompting, examples
Coding With AI: How to Do It Well and What This Means (chr)17581
how-tos, ai, processes
DeepSeek and HTML (j9t)17580
ai, deepseek, html, minimalism, conformance
Introducing “command” and “commandfor” (kei)17579
introductions, html, attributes
Standards for ANSI Escape Codes (b0r)17578
escaping, encoding
Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb)17577
performance, html, css, data-urls, compression, base64
Great Software Design Looks Underwhelming (sea)17576
software-design, simplicity
10 Hidden Gems in Angular That You Should Use17575
angular, functions
Why Do We Have a “Cache-Control” Request Header? (css)17574
caching, http-headers, http
What Is the OWASP Top 10 and How Can Your Team Benchmark Security? (jet)17573
owasp, security, vulnerabilities, qodana, jetbrains
Usability Testing With Disabled Users Is a Good Investment (nic)17572
testing, usability, accessibility
Updates on CVE for End-of-Life Versions (raf/nod)17571
nodejs, security
Top 10 Common Accessibility Issues in Websites17570
accessibility
Implementing “aria-describedby” for Web Accessibility (flo/a11)17569
accessibility, aria, forms, labels, html
Creating Animated Accordions With the “details” Element and Modern CSS (ste/bui)17568
html, css, disclosure-widgets, accordions, animations, transitions
“aria-label” Requires a Valid Role (cfe)17567
accessibility, aria
Making the Fediverse More Accessible With Claude 3.7 Sonnet17566
fediverse, bluesky, social-media, ai, claude, anthropic
Node Just Added TypeScript Support. What Does That Mean for Deno? (tin/den)17565
typescript, nodejs, deno
From Designing Things to Designing Change17564
design, principles, collaboration
How to Fix Largest Contentful Paint Issues With Subpart Analysis (mat/sma)17563
how-tos, performance, web-vitals, metrics
Delaying the Shipping of CSS “@function” From Chrome 136 to 139 (arg)17562
chrome, google, browsers, css
In Tech, What Matters and What Is Dangerous (ham)17561
security, community, foss, open-web
Your Best Engineers Could Be Your Biggest Communication Liability (and How to Fix It)17560
communication, collaboration
The Angular Language Server: Understanding IDE Integration Approaches (nik/jet)17559
angular, code-editors, vs-code, microsoft, neovim, webstorm, jetbrains
On Ethics in Web Development (With a Brief Overview of Ethical Theories) (j9t)17558
overviews, ethics
Maybe Don’t Use Custom Properties in Shorthand Properties (mat)17557
css, shorthands, custom-properties
JavaScript Best Practice: Use “return await”17556
javascript, asynchronicity, best-practices
How to Protect Your Web Applications From XSS (tor/w3c)17555
how-tos, web-apps, security, xss
Defending Tailwind (don)17554
tailwind, presentational-html, naming, productivity, maintainability, scalability
Cool Native HTML Elements You Should Already Be Using (hrr)17553
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 Framework17552
wasp, history
Our Favorite DevTools Features of 2025 (deb)17551
dev-tools, browsers, chrome, google, edge, microsoft
How to Troubleshoot Node.js Images in OpenShift17550
how-tos, nodejs, docker, debugging, tooling
5 Questions to Ask Your Manager to 10× Your Impact at Work (cod)17549
career, productivity, prioritization, communication, culture
Is Biome Ready to Replace Prettier and ESLint?17548
formatting, linting, tooling, biome, prettier, eslint
Accessible Solutions Benefit Everyone: Here’s How (nng)17547
videos, design, accessibility, examples
Super Crispy SVG Icons (ale)17546
svg, images, icons, optimization
How ECMAScript Engines Optimize Your Variables (boa)17545
ecmascript, variables, optimization
Grouping Selection List Items Together With CSS Grid (pre/css)17544
html, lists, forms, css, grids, layout
Don’t Use Fake Bold or Italic in Social Media (aar)17543
social-media, unicode, screen-readers, pronunciation, accessibility
Automatically Generate Changelogs With Git (dan)17542
git, documentation, automation
An Aura of Accessibility (tpg)17541
accessibility, zooming, reflow, wcag
Agentic AI Is the New Web App, and Your AI Strategy Must Evolve17540
ai, outlooks
Myth: Technical Debt Is the Developers Problem17539
myths, technical-debt, processes, scrum, agile
Firefox 136 Launches With Vertical Tabs, but One Requested Feature Is Still Missing17538
firefox, mozilla, browsers
Unlock Exciting Use Cases With the Document Picture-in-Picture API (jad)17537
html, apis
The Professional Standing of Frontend Developers (mar)17536
guest-posts, career, learning, html, css, javascript, communication, collaboration, community, ai
Ethical Foundations in Modern Software Development (fra)17535
fundamentals, principles, ethics, foss, ai
View Transitions Applied: Dealing With the Snapshot Containing Block (bra)17534
css, view-transitions
Using and Styling the “details” Element (geo/css)17533
html, css, disclosure-widgets, examples
Underrated Angular Features (arm/dan)17532
angular
Truth, Lies, and Progress Bars (tyl/clo)17531
design, progress-indicators
Tailwind UI Is Now Tailwind Plus (ada/tai)17530
tailwind
SEO Is the Worst It’s Ever Been (and It’s Still Your Best Marketing Channel) (ahr)17529
seo, sem, marketing, ai, outlooks
Reservoir Sampling (sam)17528
algorithms, randomness, visualization
Building Websites With LLMS (jim)17527
html, css, view-transitions
UX Analytics: How to Measure Your User Experience the Right Way (uxm)17526
how-tos, user-experience, metrics, accessibility, performance, tooling
I Finally Understand What FAANG Wants in a Candidate17525
interviewing, facebook+meta, amazon, apple, netflix, google
10 Best AI Code Review Tools and How They Work17524
ai, code-reviews, tooling, comparisons, link-lists
Everything I Was Lied to About Node.js Came True With Elixir17523
nodejs, concurrency, memory, performance
License to Kill: Coding With Cursor AI Agents17522
cursor, code-editors, ai, ai-agents
Dark Mode: Essential, Not a Preference17521
dark-mode, accessibility
AI in the Workplace: A Productivity Boost, Not a Replacement17520
ai, productivity, career
One Kilobyte to Copilot: My Journey Through Programming History17519
programming, ai, history
Who Is Free Software For? (tan)17518
foss, licensing
The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks (sma)17517
wordpress, theming, tooling, minimalism
Secure UX: Building Cybersecurity and Privacy Into the UX Lifecycle (uxm)17516
user-experience, processes, security
Other Causes of Signed Exchanges Errors (paw)17515
signed-exchanges, errors, debugging, performance, cloudflare, google
JavaScript (htt)17514
web-almanac, studies, research, metrics, javascript, performance, bundling, transpiling, web-workers, libraries, web-components
Functions in CSS?! (mon/css)17513
css, functions
CSS Meets Voxel Art: Building a Rendering Engine With Stacked Grids (cod)17512
css, html, art
A11y 101: 1.3.5 Identify Input Purpose (nat)17511
introductions, accessibility, wcag, forms
7 Best Practices of File Upload With JavaScript and React17510
file-handling, javascript, react, best-practices
“I’m Not a Designer But…” (ada)17509
design, usability, forms, ecommerce
Values (yat)17508
accessibility, ai, community, culture
Update on QUIC (jas/nod)17507
nodejs, quic, tls, protocols, support
My Sales Pitch for TypeScript (rau)17506
typescript
Image Comparison Slider in 6 Lines of JavaScript17505
sliders, images, javascript
Be Wary of Accessibility Guarantees From Anyone (aar)17504
accessibility, automation
AX, DX, UX (jim)17503
agent-experience, developer-experience, user-experience, comparisons
Leverage on Redux to Execute Your Tests 100× Times Faster17502
react, redux, testing, performance, examples
What’s New in Svelte: March 2025 (dre/sve)17501
release-notes, svelte, sveltekit
Mozilla Updates Firefox Terms Again After Backlash Over Broad Data License Language (the)17500
firefox, mozilla, browsers, licensing
Learn Zod So You Can Trust Your Data and Your Types (did)17499
libraries, types, typescript, examples
I Quit My FAANG Job Because It’ll Be Automated by the End of 2025 (jas)17498
career, ai
Chrome on Android Edge-to-Edge Migration Guide (bra)17497
guides, chrome, google, browsers, mobile
New to the Web Platform in February (rac)17496
release-notes, web-platform, browsers, firefox, mozilla, chrome, google, safari, apple
When Config Becomes the Code: The Trap of Over-Abstracting Logic (max)17495
configuration, debugging, low-and-no-code
Building APIs With Next.js (lee)17494
nextjs, apis
Views on Views (hdv)17493
accessibility, wcag, terminology
There’s No Such Thing as “Menubar Navigation” (tem)17492
accessibility, navigation, html
Testing Tools for Accessibility Enhancement17491
videos, accessibility, testing, tooling
JavaScript Fatigue Strikes Back (all)17490
javascript, react, frameworks, libraries, tooling
Custom Property Fallbacks (mat/fro)17489
css, custom-properties
Advanced Network Analysis With Chrome DevTools (jec)17488
videos, dev-tools, chrome, google, browsers, performance, network, caching
New to Web Development? Run Your Own Website (j9t)17487
career, training, indieweb
When to Use Lists for Better Accessibility17486
accessibility, html, lists
What Is TypeScript? An Overview for JavaScript Programmers (rau)17485
overviews, typescript, javascript, comparisons
Using AI in the Browser for Typo Rewriting (ray)17484
chrome, google, browsers, ai, apis, content
Is the Button Focusable? (mat)17483
accessibility, buttons, focus, quizzes
How to Reduce Web Application Bundle Size? (ant)17482
how-tos, web-apps, bundling, javascript, tooling
Firefox: Mozilla Confirms Support for Classic Extensions and Manifest V3 Add-Ons17481
firefox, mozilla, browsers, browser-extensions
Google’s Principles for Measuring Developer Productivity17480
google, principles, productivity, studies, research
The Fallacy of Balance: Challenging the Notion of Security and Accessibility as Opposing Objectives (deq)17479
videos, accessibility, security
Next.js 15.217478
release-notes, nextjs
The Six Cs of Accessibility17477
accessibility
8 Best Things About Working in UX (nng)17476
videos, user-experience, career
What It Really Takes: Building an Accessibility-First Corporate Culture (deq)17475
videos, accessibility, culture, strategies
The Existential Challenge of Design System Team Morale (pjo)17474
design-systems, processes, culture
Open-Source Is Where Dreams Go to Die (tre)17473
foss, culture, community, economics
Examples of Why the Web Needs Anchored Popovers (chr/fro)17472
design, pop-overs, examples
5 Tips to Do Less and Better Work With AI (pro)17471
ai, productivity, automation, writing, prompting
@11ty/image-color (zac)17470
packages, npm, images, colors
Turbocharging V8 With Mutable Heap Numbers17469
v8, javascript-engines, javascript, performance, randomness
2024 Web Almanac: Uncovering Global Accessibility Insights With axe (mgi/deq)17468
videos, accessibility, web-almanac, studies, research, metrics, axe
5 Questions for Jeremy Keith (ada+/fro)17467
interviews, web, web-platform, interoperability, mobile
Why I Like Designing in the Browser (tyl/clo)17466
design, processes, browsers
Justified Text, JS “moveBefore” Method, Performance Optimization (zor/css)17465
videos, css, typography, javascript, performance, optimization
Intent to Experiment for Longer (kiz)17464
chrome, google, browsers, css, functions, conditionals
How to Use “attr()” in CSS for Columns, Colors, and Font-Size (chr/fro)17463
how-tos, css, functions, layout, colors, typography
CSS Snapshot 2024 (tab+/w3c)17462
css, standards
Browsers: A Snapshot (bry)17461
browsers, browser-extensions, chromium, edge, microsoft, firefox, mozilla, brave, safari, apple
Better Anchor Positioning With “position-area” (jam/odd)17460
css, anchor-positioning
Accessibility Maturity Models (deq)17459
videos, accessibility
Best Practices for Cognitive Accessibility in Web Design (a11)17458
accessibility, wcag, best-practices
Top 10 Front-End Dev Trends for 2025 (bhu)17457
trends, ai, low-and-no-code, css, edge-computing, frameworks, dark-mode, sustainability, webauthn, interaction-design, voice
Solved by Style Observer: “Element.matchContainer()” (bra)17456
css, javascript
Web Scraping With Playwright17455
scraping, playwright, typescript, youtube, functionality
Trusting AI With My Images Wasn’t Easy (dri)17454
ai, images, alt-text, accessibility, automation, tooling
The Figma Dilemma: Too Many Cooks, Too Few Decisions (web)17453
design, figma, collaboration
Subverting Control With Weak References (jlo)17452
programming, javascript
Strong Opinions on URL Design (val)17451
urls, user-experience
Simple Interactive CLI App With Node.js (rwi)17450
tutorials, nodejs, command-line
Overlay Timeline (ove)17449
websites, overlays, accessibility, history, link-lists
Common Dataviz Accessibility Issues (fos/sma)17448
videos, accessibility, visualization
Avoiding Tokens (don)17447
design-systems, design-tokens
Applying the Web Dev Mindset to Dealing With Life Challenges (css)17446
career
A11y 101: 1.3.4 Orientation (nat)17445
introductions, accessibility, wcag, design
11 Practical Tips to Make Code Reviews Easier as a Developer17444
code-reviews, tips-and-tricks, ai, principles, linting, formatting, quality, collaboration
It Is No Longer Safe to Move Our Governments and Societies to US Clouds (ber)17443
cloud-computing, security, privacy, legal
Speeding Up the JavaScript Ecosystem—Rust and JavaScript Plugins (mar)17442
javascript, performance, rust, plugins
Skip Links: What, Why, and How (tem)17441
accessibility, skip-links, keyboard-navigation, wcag
1.4.10: Adversarial Conformance (aar)17440
accessibility, wcag, compliance
You Need TDD if You Use AI (lor)17439
ai, testing, processes
How to Do Visual Regression Testing in Vue With Vitest? (ale)17438
how-tos, testing, regressions, vuejs, vitest
Top Benefits of Choosing Node.js for High-Performance Applications17437
nodejs, performance, native
Stop Your Angular Apps From Leaking Memory (cod)17436
videos, angular, memory
In Defense of Text Labels (chr)17435
labels, icons, images, usability, design
Clean Code in JavaScript: A Comprehensive Guide17434
guides, javascript, principles, conventions, variables, objects, functions, comments, testing, quality
Introduction to Frontend Development17433
introductions, html, css, javascript, frameworks, libraries, tooling, career, trends
A Guide to AI Prototyping for Product Designers17432
guides, design, prototyping, ai, product-management
The Effort Paradox in AI Design17431
design, product-management, history
Why We Ditched Next.js and Never Looked Back (tdj)17430
nextjs
Everything You Need to Know About Invoker Commands (kei/web)17429
videos, html, pop-overs
“ruby-align” Is Baseline Newly Available17428
ruby-markup, html, css, browsers, support, web-platform
UX Is Dead, Long Live UX (nng)17427
user-experience, ai, economics
Web Accessibility Lawsuit Moves Forward Against the State of Louisiana (lfl)17426
accessibility, legal, ada
Toe Dipping Into View Transitions (geo/css)17425
css, view-transitions
Fixing “rowspan=0” on Tables on WebKit (kar)17424
html, tables, webkit, browser-engines, browsers
Debugging Mutable Subresources: A Detective Story (paw)17423
signed-exchanges, caching, debugging
Accessible Design Checklist (lau/pen)17422
accessibility, design, checklists
10 Open-Source Documentation Frameworks to Check Out17421
foss, documentation, tooling, link-lists, zola
10 Practical Bash Commands to Simplify Complex Tasks (ski)17420
shells, command-line, productivity
3 Best Practices for Multi-Language Support in Frontend Development (ele/des)17419
guest-posts, internationalization, localization, automation, ai
What I Wish I Knew as a Junior Developer (cod)17418
career, lessons
Google Just Confirmed the AI Reality Many Programmers Are Desperately Trying to Deny (tar)17417
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)17416
standards, ecmascript, javascript, regex, escaping, arrays, math
Intro to Datastar (and Craft CMS) (cra)17415
videos, introductions, tooling
Digital Accessibility and the Cost of Exclusion (deq)17414
accessibility, economics, ethics
Debugging CSS Anchor Positioning (tab+/odd)17413
videos, interviews, css, anchor-positioning, debugging
Tracing of Node.js for Better Visibility and Performance With N|Solid (nod)17412
nodejs, tracing, tooling, nsolid
Demystifying MIME Types: Basics, Use Cases, Best Practices (mar)17411
guest-posts, mime-types, fundamentals, best-practices, performance, servers, apache, nginx, email
Flutter Is at a Critical Inflection Point17410
flutter
Why You Shouldn’t Use AI to Write Documentation (lur/zer)17409
documentation, writing, ai
Human-Centered Design Through AI-Assisted Usability Testing: Reality or Fiction? (sma)17408
design, usability, testing, ai
Documenting Web Components With Storybook17407
documentation, design-systems, web-components, storybook, examples
Breakpoint-Free CSS Grid Layouts (kev)17406
videos, css, grids, layout, functions
20 Years of AJAX: The Technology That Revolutionized Web Development17405
ajax, javascript, history, data-fetching