News and Tools for Frontend Developers
Articles and videos and books, people and projects and processes, tools and tips and tricks from the world of frontend development.
(Stay up-to-date on all topics by RSS feed, on Mastodon, and through other channels.)
- Feature Detect Style Queries Support in CSS (by/via) · · css, feature-detection, container-queries, support, user-agents
- An Introduction to WebAssembly (by+/via) · · videos, introductions, webassembly
- ESLint Now Officially Supports Linting of JSON and Markdown (by/via) · · release-notes, eslint, linting, json, markdown
- cpx—the npx Counterpart of the PHP Ecosystem (by) · · php, dependencies
- Benchmarking the Performance of CSS “@ property” (by/via) · · css, performance, at-rules
- Interview With Björn Ottosson, Creator of the Oklab Color Space (by+/via) · · interviews, colors, design
- Unleash JavaScript’s Potential With Functional Programming (by) · · javascript, programming, comparisons
- Web Components Are Not Framework Components—and That’s Okay (by) · · web-components, web-platform, frameworks
- Web Components vs. State-Based UI (by) · · web-components, state-management, comparisons
- Eleventy v3.0.0: Possums ❤️ ESM (by/via) · · release-notes, eleventy
- An Interesting HTML Parser Conundrum (by) · · html, parsing
- What’s the Difference Between HTML’s Dialog Element and Popovers? (by/via) · · html, modals, pop-overs, comparisons
- The Reality of Balancing Pregnancy in Developer Relations (by) · · career, developer-relations
- Release Notes for Safari Technology Preview 204 (by/via) · · release-notes, safari, apple, user-agents
- Why Gumroad Didn’t Choose htmx (by/via) · · htmx, case-studies
- Understanding Cultural Norms to Design Inclusive User Experiences (via) · · design, user-experience, culture, dei
- The “bdi” Element (by) · · html, semantics, internationalization
- New to the Web Platform in September (by/via) · · release-notes, web-platform, user-agents, chrome, google, firefox, mozilla, safari, apple
- 4 Tips for Unlocking the Benefits of Svelte in Frontend Development (by/via) · · guest-posts, svelte, sveltekit
- How to Learn HTML: 46 Great Sites, Courses, and Books (All Free) · · how-tos, learning, courses, books, html, link-lists
- Solved by CSS Scroll-Driven Animations: Hide a Header When Scrolling Down, Show It Again When Scrolling Up (by/via) · · css, scrolling, animations, techniques
- Matt Mullenweg Announces Temporary Lifting of WP Engine Ban (via) · · wordpress, wp-engine
- Web Components Are Okay (by) · · web-components
- POSSE: Reclaiming Social Media in a Fragmented World (by) · · social-media, indieweb
- Untrained Engineering Managers (by) · · engineering-management, culture, career, training
- NIST Recommends Some Common-Sense Password Rules (by) · · security, passwords, guidelines
- “img sizes=auto” for Native Lazy Loading (by) · · code-pens, html, images, lazy-loading, performance
- A Complete Guide to Session Management in Next.js (via) · · guides, nextjs, authentication, authorization
- Making Maps Accessible to Screen Readers (via) · · accessibility, screen-readers, user-agents, assistive-tech, link-lists
- Catching Up on the WordPress WP Engine Sitch (by/via) · · wordpress, wp-engine
- Web Components Are Not the Future (by) · · web-components, web-platform, frameworks
- 5 Questions for Craig Buckler (by+/via) · · interviews, web-platform, history
- Dynamic Numbering With CSS Counters (by) · · videos, css
- Observing Style Changes (by/via) · · slides, css
- Automattic Sends WP Engine Its Own Cease-and-Desist Over WordPress Trademark Infringement (by/via) · · wordpress, wp-engine, legal
- Will Deno 2.0 Replace Node.js? (by) · · videos, deno, nodejs, comparisons
- I Finally Understand OAuth · · authorization, oauth, security, processes
- Feature Detecting Scroll-Driven Animations With “@ supports”: You Want to Check for “animation-range” Too (by/via) · · css, feature-detection, support, animations, firefox, mozilla, user-agents
- Conway’s Law: The Hidden Force Shaping Your Software Architecture (by) · · principles, architecture, engineering-management
- A Comprehensive Guide to Node.js Addons (by) · · guides, nodejs
- 2000s + 2010s = 10,000 (via) · · frontend-dogma, history
- Error Messages: 4 Guidelines for Effective Communication (by/via) · · videos, errors, guidelines, usability
- Firefox DevTools Newsletter 130 (by/via) · · release-notes, firefox, mozilla, user-agents, dev-tools
- Bad CSS-Dad Jokes II (by) · · css
- Keeping Pixely Images Pixely (and Performant!) (by/via) · · css, images, effects
- Getting Started With CI/CD: A Beginner’s Guide to Automating Your First Pipeline (With Jenkins) · · introductions, ci-cd, jenkins, automation, dev-ops
- Your Accessibility Questions Answered by a Blind Person (via) · · accessibility
- Outdated Docs Are Tech Debt (by) · · documentation, technical-debt, comparisons, processes
- No Authentication Like Button (by) · · buttons, authentication, functionality
- Masonry and Good Defaults (by) · · css, layout
- Angular Routing Essentials: All You Need to Know in One Post (by) · · fundamentals, angular, routing
- Powerful WebStorm Tips and Tricks: Boost Your Productivity · · webstorm, jetbrains, code-editors, tips-and-tricks, productivity
- If You Don’t Write Unit Tests… It’s a Skill Issue (by) · · testing, processes
- Good UX Is Not Just About Minimizing Clicks (by/via) · · user-experience, design, principles, processes
- Pfizer’s Future of Development (by/via) · · visions, prioritization, processes, culture, case-studies
- Fundamentals of Frontend Architecture (by) · · courses, fundamentals, architecture
- A Beginner’s Guide to Using Bluesky for Business Success (via) · · guides, social-media, content-strategy
- Deno 2.0 Release Candidate (by+/via) · · release-notes, deno
- Paying Down Tech Debt: Further Learnings (via) · · technical-debt, processes
- Fake GitHub Site Targeting Developers (by/via) · · security, github
- Code Wins Arguments (by) · · prototyping, processes
- Don’t Sleep on AbortController (by) · · javascript
- Dealing With Rejection After Applying to Hundreds of Jobs (by) · · career, interviewing
- Node.js 20 Upgrade: A Journey Through Unexpected Heap Issues With Kubernetes (by/via) · · nodejs, maintenance, kubernetes, memory
- The Nine Node Pillars (by/via) · · nodejs, principles, dependencies
- Why We Switched From Cypress to Playwright (via) · · cypress, playwright, comparisons, tooling, testing, performance
- Better Vue Components With TypeScript (by) · · vuejs, components, typescript, examples
- SVG Coding Examples: Useful Recipes for Writing Vectors by Hand (via) · · images, svg, examples
- Compile and Run C in JavaScript (by/via) · · compiling, javascript
- What’s New in DevTools: Chrome 127–129 (by+/via) · · videos, chrome, google, user-agents, dev-tools
- A Step-by-Step Guide to Conducting a Web Accessibility Audit (via) · · guides, accessibility, auditing, testing, processes
- Improving Rendering Performance With CSS “content-visibility” (by) · · css, performance, rendering, optimization
- On Ticket Management (by) · · processes, project-management, engineering-management, efficiency
- Introduction to Micro Frontends: An Overview (via) · · introductions, overviews, micro-frontends
- Animate to “height: auto;” (and Other Intrinsic Sizing Keywords) in CSS (by/via) · · css, animations
- The Problem of Knowledge Debt in Tech (by/via) · · documentation, collaboration, version-control
- Clever Polypane Debugging Features I’m Loving (by/via) · · polypane, user-agents, dev-tools, debugging
- Get Ready for Interop 2025: Your Chance to Shape the Web (by/via) · · interoperability, web-platform, user-agents, support
- The Continuing Tragedy of Emoji on the Web (by) · · emoji, unicode, support, user-agents
- CSS Grid Layout Module Level 3 (by+/via) · · css, layout
- Accessibility Preference Settings, Information Architecture, and Internalized Ableism (by) · · accessibility, information-architecture, wcag, apple
- Submit Your Proposals for Interop 2025 (by/via) · · interoperability, web-platform, user-agents, support
- The Real Cost of Meetings: What FAANG Companies Do Differently (by) · · collaboration, processes, efficiency, aws, meta, google, apple
- Rethinking Code Reviews With Stacked PRs (by) · · code-reviews, version-control, git, tooling
- Selecting Previous Siblings (by/via) · · css, selectors
- Optimising for High Latency Environments (by) · · performance, optimization, content-delivery, http, caching
- Why HTML Has Both “<b/i>” and “<strong/em>”? (by) · · html, semantics
- When to Start Blogging? (by) · · blogging
- WebKit Features in Safari 18.0 (by/via) · · safari, apple, user-agents, webkit, release-notes
- Oracle, It’s Time to Free Javascript (by+) · · javascript, licensing, legal
- How to Teach CSS (by/via) · · videos, how-tos, css
- Making Orbit Animations With CSS Custom Properties (by) · · css, custom-properties, animations, effects
- Stop Designing Your Web Application for Millions of Users When You Don’t Even Have 100 (by) · · web-apps, processes, scaling
- What’s the Difference Between Information Architecture and Content Strategy? (by) · · content, content-strategy, information-architecture, terminology, concepts, comparisons
- The Magic Behind Laravel’s New “defer()” Helper (by) · · laravel
- How to Create a Type to Retrieve All Keys of an Object in TypeScript (by) · · how-tos, typescript, objects
- Evolve or Become Irrelevant (by) · · career, learning
- Noisy, Hungry Data Centers Are Catching Communities by Surprise (by/via) · · hosting, sustainability
- Let’s Bring Back Browsing (by) · · web, browsing
- The HTTP QUERY Method (by+/via) · · protocols, http
- Bitwise Operators in JavaScript and When to Use Them (via) · · javascript, operators
- Do You Still Use Git in the Terminal? (by) · · discussions, git, command-line
- Company Culture Happens Outside Management (by) · · culture, engineering-management
- Brief Note on Disclosures in Fieldsets (by) · · accessibility, forms, pop-overs
- The Importance of Title Tags: Tips and Tricks to Optimize for SEO (via) · · html, seo, optimization, tips-and-tricks
- Deceptive Patterns in Copy Are Killing Me (via) · · content, dark-patterns, user-experience
- Two CSS Properties for Trimming Text Box Whitespace (via) · · css
- But Why?? (by) · · slides, accessibility, design-patterns, testing, keyboard-navigation, contrast, colors, zooming
- Good Forms (by) · · forms, best-practices, usability, accessibility, validation
- Introducing TanStack Router (by/via) · · introductions, react, routing, tooling
- Make “git diff” Look Beautiful in the Terminal (by) · · git, command-line
- CSS Values and Units Module Level 5 (by+/via) · · css, units
- Predicting Developer Attrition (by) · · culture, leadership
- Speed Up Your Website With “<link rel=preconnect>” (by) · · performance, hints
- Five Ways to Lazy Load Images for Better Website Performance (by/via) · · performance, lazy-loading, tooling
- When Should You Actually Worry About Tech Debt? (by) · · technical-debt
- Prioritize Accessibility in Procurement for Better CX and EX (by/via) · · accessibility, prioritization, processes
- A Billion New Developers Thanks to AI? (by) · · career, ai, foss, link-lists
- The Folly of Chasing Demographics (by/via) · · videos, accessibility, dei
- The Redmonk Programming Language Rankings: June 2024 (by/via) · · programming, comparisons, javascript, python, java, php, typescript, css, ruby, go, shell, dart
- Understanding the “Why” Around Neurodivergent Inclusive Web Design (by/via) · · videos, accessibility, dei
- 10 Developer Tools to Improve Your Daily Life as a Developer · · tooling, productivity, developer-experience
- State of HTML 2024 (by/via) · · surveys, html
- Reasons I Still Love the Fish Shell (by) · · shell, developer-experience
- A Day in the Life of a DevOps Engineer: Real Stories and Challenges · · career, processes, dev-ops
- Rethinking CSS in JS · · css, javascript, css-in-js, design, design-systems, maintenance, state-management
- Using Controllers for Keyboard Accessibility (by/via) · · videos, accessibility, keyboard-navigation
- Split Effects With No Content Duplication (by/via) · · css, effects, maintainability
- Why Copilot Is Making Programmers Worse at Programming (by) · · ai, github, craft, quality, programming, career
- React 19 Cheat Sheet (by) · · cheat-sheets, react
- Verso Taking Shape as a Servo-Powered Web Browser (by/via) · · user-agents, verso, servo
- Something Went Wrong (by) · · javascript, frameworks, community, developer-experience, user-experience
- Google Is Killing Information Economics on the Internet (by) · · google, ai, economics
- Express.js 5.0 Released After Long Delay, Though Not Yet Default as Project Appeals for Contributors (via) · · express
- 2024: 0.5% of the Global Top 200 Websites Use Valid HTML (by) · · html, conformance, metrics, quality, craft
- Standalone Components Are the Future · · videos, angular, components
- Logical Properties in Size Queries (by/via) · · css, logical-properties, container-queries
- How to Find the Accessible Name of a Button With Google Chrome (by) · · how-tos, accessibility, buttons, chrome, google, user-agents, dev-tools
- WCAG and Accessibility Beyond Naive Misconceptions (by) · · accessibility, wcag, testing, auditing
- What Price? (by) · · ai, sustainability, prioritization
- From Node.js to Deno: How It All Began (by+/via) · · videos, nodejs, deno, javascript, runtimes, history
- Stop Recreating the Wheel: Local Government Organizations Sharing Accessibility Information (by/via) · · podcasts, interviews, accessibility, processes, vpat-acr
- Tips for Reducing Cyclomatic Complexity (by) · · complexity, tips-and-tricks, best-practices, programming
- The Neverending Story (by) · · web-platform, standards, frameworks, libraries, tooling
- Top 10 Angular Architecture Mistakes You Really Want to Avoid (by/via) · · angular, architecture, mistakes
- The Easiest Way to Start Working with OKRs (by) · · okr, processes, prioritization
- Anchor Positioning Quirks (by/via) · · css, anchor-positioning
- Chrome Ends Support for First Input Delay (by/via) · · user-agents, google, chrome, performance, web-vitals, support
- Create a Toggle Switch in React as a Reusable Component (by+/via) · · react, components, toggles, sass, functionality
- How to Build an AI-Driven User Research Repository (via) · · how-tos, user-experience, research, ai
- A Web Component for CodePen Embeds? (by) · · web-components, embed-code, codepen
- GitHub Trick to Find the Commit That Deleted a File (by/via) · · git, github
- Time Travelling CSS With “:target” (via) · · css, selectors
- The Undeniable Utility of CSS “:has” (by) · · css, selectors, examples
- What Does Hydration Mean? (by/via) · · hydration, concepts, javascript, html, dom
- JavaScript Promises in Depth With V8 Engine Internals (by) · · javascript, promises, v8
- More npm Packages on Cloudflare Workers: Combining Polyfills and Native Code to Support Node.js APIs (by+/via) · · cloudflare, nodejs, npm, apis, dependencies
- Ensuring the Staying Power of User Experience in Your Organization (by/via) · · user-experience, processes, culture
- CSS Triggers (by) · · websites, css, rendering
- “setImmediate()” vs. “setTimeout()” in JavaScript (by) · · javascript, comparisons
- Building the Same App Using Various Web Frameworks (by) · · nextjs, sveltekit, frameworks, comparisons
- Manual ’Till It Hurts (by) · · building, simplicity
- The State of ES5 on the Web (by) · · ecmascript, javascript, tooling, support
- Story of a Button (via) · · buttons
- Data Centers Are Eating and Drinking Our Environment (by) · · storage, hosting, sustainability
- Frontend Dev Plus Data Structures and Algorithms: How DSA Can Power Your React App · · algorithms, react
- Simplicity (via) · · simplicity, design
- Gaining Access to Anyone’s Browser Without Them Even Visiting a Website (by) · · arc, user-agents, vulnerabilities, security
- The Secrets of the “delete” Operator in JavaScript (by) · · javascript, operators
- Unrealistic Deadlines in Software Engineering (by) · · project-management, prioritization, quality, engineering-management
- Mobile Accessibility Testing: Enhancing User Experience for All (by/via) · · accessibility, user-experience, testing, mobile
- A Complete Guide to Beginning with TypeScript (by/via) · · guides, typescript, link-lists, learning
- “display: contents” Is Not a CSS Reset (by) · · css, accessibility, resetting
- The Goal Isn’t to Write Less Code (by) · · embed-code, ai, craft
- I Need an Accessible Hero (via) · · accessibility, design-patterns
- Quick Tip: Using “flatMap()” to Extract Data From a Huge Set Without Any Loop (by) · · javascript, arrays, tips-and-tricks
- A Compelling Case for the Comma Operator (by) · · javascript, operators
- UX Design isn’t Dead, You’re Just Confused (via) · · user-experience, design, career
- Design Systems Should Do Less (by/via) · · design-systems, simplicity, components
- caniuse-cli (by) · · packages, npm, support, user-agents, web-platform, command-line
- Look Out, Kids: PHP Is the New JavaScript (by/via) · · php, javascript, laravel, frameworks
- How to Create a Weekly Google Analytics Report That Posts to Slack (by/via) · · how-tos, google, analytics, apis, documentation, functionality
- How to Detect Broken Links With Playwright (by/via) · · how-tos, link-rot, testing, playwright
- Understanding JavaScript Closures With Examples (by) · · javascript, closures, examples
- Bad CSS-Dad Jokes (by) · · css
- JavaScript/Python Array Quick Reference (via) · · javascript, python, arrays, overviews
- Sticky Headers and Full-Height Elements: A Tricky Combination (via) · · css, techniques
- The HTML History and Optimization Cheat Sheet (by) · · html, history, optimization, cheat-sheets
- The Story of Figma: Living Long Enough as a Hero to Become a Villain? (via) · · figma
- CSS Display Contents (by) · · css, layout
- The Helpful Content Update Was Not What You Think (by/via) · · seo, metrics, google
- Inlay Hints Make It Easy to Read Code in VS Code (by) · · code-editors, microsoft, vs-code, developer-experience
- Cleaning and Speeding Up the JS Ecosystem—Journey So Far (by) · · javascript, optimization
- Avoiding Accessibility Barriers With a Checklist for Custom Controls—Opinion (via) · · accessibility, mobile
- Should Form Labels Be Wrapped or Separate? (by/via) · · html, forms, accessibility, user-agents, assistive-tech
- A Release Note for the Web Platform (by) · · web-platform, developer-experience, css, alt-text, ecmascript
- A Complete Guide to Beginning With JavaScript (by/via) · · guides, javascript, link-lists, learning
- Dreaming About Drupal [and] Its Long Term Potential (by) · · drupal, visions
- What’s New in React 19 (by/via) · · react
- Writing Effective Pull Request Descriptions: A Developer’s Guide (by) · · guides, version-control, documentation, code-reviews, collaboration
- Notes on Setting Up a Static Website With AWS (Route 53, S3, ACM) (by) · · aws
- Sanding UI (by) · · forms, usability
- Paying Down Tech Debt (via) · · technical-debt, prioritization, productivity
- Another Stab at Truncated Text (by/via) · · design, accessibility, usability, css
- Under-Engineered Estimated Reading Time Feature (by) · · user-experience, scrolling
- Tackling a System’s Accessibility Without Testing (by+/via) · · accessibility, wcag, case-studies, heuristics
- Scroll-Enhanced Experiences (by/via) · · videos, css, scrolling
- CSS “@ property” and the New Style (by) · · css, at-rules
- Captured Custom Properties (by) · · css, custom-properties
- Skeleton Screens vs. Progress Bars vs. Spinners (by/via) · · videos, user-experience, performance
- What Is React.js? (by) · · videos, transcripts, react
- Backgrounds for the Box Model (and Why It Can Be Useful) (by/via) · · css, box-model, backgrounds
- How to Deploy Node.js to AWS Lambda With OpenTofu and GitHub Actions · · how-tos, deploying, nodejs, aws, serverless, github, tooling, link-lists
- “AggregateError” in JavaScript (by) · · javascript, errors
- Get Window Size in Pure CSS (via) · · css, techniques
- Be Careful When Using Generative Artificial Intelligence to Produce Code (by) · · accessibility, ai, code-generation
- What It Is Like to Work in Meta’s (Facebook’s) Monorepo (by) · · meta, monorepos
- Lazy Loading Isn’t Just Lazy, It’s Late: The Web Deserves Faster · · performance, lazy-loading, web-vitals, angular, spas
- I Want the Read Write Suggest-Edit Accept-Edit Update Web (by) · · web, indieweb
- Semi-Annual Reminder to Learn and Hire for Web Standards (by) · · learning, fundamentals, standards, html, css
- Reducing UX Debt (or Die Trying) (by/via) · · user-experience, design-debt
- How I Created a 3.78 MB Docker Image for a JavaScript Service · · docker, javascript
- Headings (via) · · html, headings, accessibility
- Faster Pages With React (by/via) · · react, performance
- Java Optionals (by/via) · · java
- An Enhancement to Accessible Responsive Tables (by) · · accessibility, tables, responsive-design, javascript
- Understanding Web Storage: LocalStorage, SessionStorage, and Cookies (by) · · storage, cookies, javascript
- A/B Testing 101 (by/via) · · introductions, testing, usability, user-experience
- Supporting AVIF in Google Search (by/via) · · google, searching, avif, images, support
- An SSR Performance Showdown (by) · · server-side-rendering, performance, vuejs, svelte, solidjs, preact, react, comparisons
- Stuck in the Steps? (via) · · design, processes
- Harnessing Copilot and Other Gen-AI Tools to Increase Digital Accessibility Efficiency (by) · · videos, ai, microsoft, tooling, accessibility, alt-text
- Querying the Color Scheme (by) · · css, container-queries, custom-properties, dark-mode
- Why Playwright Is Less Flaky Than Selenium (by) · · testing, playwright, selenium, comparisons
- What the Heck Is ARIA? A Beginner’s Guide to ARIA for Accessibility (by/via) · · videos, guides, aria, html, accessibility
- Drupal 11: New Features to Empower Ambitious Site Builders (via) · · drupal
- HTTP 1 vs. HTTP 2 vs. HTTP 3 (by) · · videos, protocols, http, history, comparisons
- OpenAI Is Shockingly Good at Unminifying Code (by) · · ai, javascript, minification
- Hidden Cost of Frontend Frameworks · · frameworks, dependencies, simplicity
- Python Developers Survey 2023 Results (via) · · surveys, python
- When Regex Goes Wrong (by) · · regex
- Why I Don’t Block AI Scrapers (by) · · ai, scraping, robotstxt
- Paragraphs (by) · · html, accessibility
- CSS Style Observer (by) · · packages, npm, css
- New to the Web Platform in August (by/via) · · release-notes, web-platform, user-agents, google, chrome, mozilla, firefox
- Caching Demystified: Inspect, Clear, and Disable Caches (by/via) · · videos, caching, debugging, dev-tools, chrome, google, user-agents
- Building Better Logins: A UX and Accessibility Guide for Developers (via) · · guides, user-experience, accessibility
- Anchor Positioning (by/via) · · videos, css, anchor-positioning
- The “aside” Element (by) · · html, semantics, accessibility
- The Ultimate Guide to Font Performance Optimization (via) · · guides, fonts, performance, optimization