Frontend Dogma

News and Tools for Frontend Developers (3)

(Stay up-to-date on all topics by RSS feed, on Mastodon, and through other channels.)

  1. Gradient Text With a Drop Shadow (by/via) · · , ,
  2. Angular Routing Essentials: All You Need to Know in One Post (by) · · , ,
  3. Powerful WebStorm Tips and Tricks: Boost Your Productivity · · , , , ,
  4. If You Don’t Write Unit Tests… It’s a Skill Issue (by) · · ,
  5. Good UX Is Not Just About Minimizing Clicks (by/via) · · , , ,
  6. Pfizer’s Future of Development (by/via) · · , , , ,
  7. A Beginner’s Guide to Using Bluesky for Business Success (via) · · , ,
  8. Deno 2.0 Release Candidate (by+/via) · · ,
  9. New Values and Functions in CSS (by) · · ,
  10. Fundamentals of Frontend Architecture (by) · · , ,
  11. Paying Down Tech Debt: Further Learnings (via) · · ,
  12. Fake GitHub Site Targeting Developers (by/via) · · ,
  13. Code Wins Arguments (by) · · ,
  14. Web Components in Action—How to Build a Design System (by) · · , ,
  15. Don’t Sleep on AbortController (by) · ·
  16. Dealing With Rejection After Applying to Hundreds of Jobs (by) · · ,
  17. Node.js 20 Upgrade: A Journey Through Unexpected Heap Issues With Kubernetes (by/via) · · , , ,
  18. The Nine Node Pillars (by/via) · · , ,
  19. Why We Switched From Cypress to Playwright (via) · · , , , , ,
  20. Better Vue Components With TypeScript (by) · · , , ,
  21. SVG Coding Examples: Useful Recipes for Writing Vectors by Hand (via) · · , ,
  22. Compile and Run C in JavaScript (by/via) · · ,
  23. What’s New in DevTools: Chrome 127–129 (by+/via) · · , , , ,
  24. A Step-by-Step Guide to Conducting a Web Accessibility Audit (via) · · , , , ,
  25. Improving Rendering Performance With CSS “content-visibility” (by) · · , , ,
  26. The Real Cost of Meetings: What FAANG Companies Do Differently (by) · · , , , , , ,
  27. CSS Grid Layout Module Level 3 (by+/via) · · , ,
  28. Learn CSS Grid (by+/via) · · , , ,
  29. On Ticket Management (by) · · , , ,
  30. Introduction to Micro Frontends: An Overview (via) · · , ,
  31. Animate to “height: auto;” (and Other Intrinsic Sizing Keywords) in CSS (by/via) · · ,
  32. The Problem of Knowledge Debt in Tech (by/via) · · , ,
  33. Clever Polypane Debugging Features I’m Loving (by/via) · · , , ,
  34. Get Ready for Interop 2025: Your Chance to Shape the Web (by/via) · · , , ,
  35. The Continuing Tragedy of Emoji on the Web (by) · · , , ,
  36. Accessibility Preference Settings, Information Architecture, and Internalized Ableism (by) · · , , ,
  37. Submit Your Proposals for Interop 2025 (by/via) · · , , ,
  38. Oracle, It’s Time to Free JavaScript (by+) · · , ,
  39. Hacking Cars in JavaScript (Running Replay Attacks in the Browser With the HackRF) (by) · · ,
  40. Rethinking Code Reviews With Stacked PRs (by) · · , , ,
  41. Selecting Previous Siblings (by/via) · · ,
  42. Optimising for High Latency Environments (by) · · , , , ,
  43. Why HTML Has Both “<b/i>” and “<strong/em>”? (by) · · ,
  44. When to Start Blogging? (by) · ·
  45. WebKit Features in Safari 18.0 (by/via) · · , , , ,
  46. How to Teach CSS (by/via) · · , ,
  47. Making Orbit Animations With CSS Custom Properties (by) · · , , ,
  48. 10 Mind-Blowing Node.js Features That Make It Unstoppable · ·
  49. Stop Designing Your Web Application for Millions of Users When You Don’t Even Have 100 (by) · · , ,
  50. What’s the Difference Between Information Architecture and Content Strategy? (by) · · , , , , ,
  51. The Magic Behind Laravel’s New “defer()” Helper (by) · ·
  52. How to Create a Type to Retrieve All Keys of an Object in TypeScript (by) · · , ,
  53. Evolve or Become Irrelevant (by) · · ,
  54. Noisy, Hungry Data Centers Are Catching Communities by Surprise (by/via) · · ,
  55. Let’s Bring Back Browsing (by) · · ,
  56. The HTTP QUERY Method (by+/via) · · ,
  57. Bitwise Operators in JavaScript and When to Use Them (via) · · ,
  58. Do You Still Use Git in the Terminal? (by) · · , ,
  59. Company Culture Happens Outside Management (by) · · ,
  60. Brief Note on Disclosures in Fieldsets (by) · · , ,
  61. CSS Values and Units Module Level 5 (by+/via) · · , ,
  62. Two CSS Properties for Trimming Text Box Whitespace (via) · · ,
  63. The Fallacy of Federated Design Systems (by) · · , ,
  64. Predicting Developer Attrition (by) · · , ,
  65. The Importance of Title Tags: Tips and Tricks to Optimize for SEO (via) · · , , ,
  66. Deceptive Patterns in Copy Are Killing Me (via) · · , ,
  67. But Why?? (by) · · , , , , , , ,
  68. Good Forms (by) · · , , , ,
  69. Introducing TanStack Router (by/via) · · , , ,
  70. Make “git diff” Look Beautiful in the Terminal (by) · · ,
  71. State of HTML 2024 (by/via) · · ,
  72. Request for Developer Feedback: Customizable Select (by/via) · · ,
  73. Speed Up Your Website With “<link rel=preconnect>” (by) · · ,
  74. Five Ways to Lazy Load Images for Better Website Performance (by/via) · · , ,
  75. When Should You Actually Worry About Tech Debt? (by) · ·
  76. Prioritize Accessibility in Procurement for Better CX and EX (by/via) · · , ,
  77. A Billion New Developers Thanks to AI? (by) · · , , ,
  78. The Folly of Chasing Demographics (by/via) · · , ,
  79. The Redmonk Programming Language Rankings: June 2024 (by/via) · · , , , , , , , , , , ,
  80. Understanding the “Why” Around Neurodivergent Inclusive Web Design (by/via) · · , ,
  81. 10 Developer Tools to Improve Your Daily Life as a Developer · · , ,
  82. Reasons I Still Love the Fish Shell (by) · · ,
  83. A Day in the Life of a DevOps Engineer: Real Stories and Challenges · · , ,
  84. Rethinking CSS in JS · · , , , , , ,
  85. Using Controllers for Keyboard Accessibility (by/via) · · , ,
  86. Split Effects With No Content Duplication (by/via) · · , ,
  87. 6 Techniques I Use to Create a Great User Experience for Shell Scripts (by) · · , ,
  88. Why Copilot Is Making Programmers Worse at Programming (by) · · , , , , ,
  89. React 19 Cheat Sheet (by) · · ,
  90. Verso Taking Shape as a Servo-Powered Web Browser (by/via) · · , ,
  91. Something Went Wrong (by) · · , , , ,
  92. Google Is Killing Information Economics on the Internet (by) · · , ,
  93. Express.js 5.0 Released After Long Delay, Though Not Yet Default as Project Appeals for Contributors (via) · ·
  94. 2024: 0.5% of the Global Top 200 Websites Use Valid HTML (by) · · , , , ,
  95. Standalone Components Are the Future · · , ,
  96. Logical Properties in Size Queries (by/via) · · , ,
  97. How to Find the Accessible Name of a Button With Google Chrome (by) · · , , , , , ,
  98. The Easiest Way to Start Working With OKRs (by) · · , ,
  99. Designing Design Systems: Supporting Implementation and Adoption (via) · ·
  100. WCAG and Accessibility Beyond Naive Misconceptions (by) · · , , ,
  101. What Price? (by) · · , ,
  102. From Node.js to Deno: How It All Began (by+/via) · · , , , , ,
  103. Stop Recreating the Wheel: Local Government Organizations Sharing Accessibility Information (by/via) · · , , , ,
  104. Tips for Reducing Cyclomatic Complexity (by) · · , , ,
  105. The Neverending Story (by) · · , , , ,
  106. Top 10 Angular Architecture Mistakes You Really Want to Avoid (by/via) · · , ,
  107. Anchor Positioning Quirks (by/via) · · ,
  108. Chrome Ends Support for First Input Delay (by/via) · · , , , , ,
  109. Create a Toggle Switch in React as a Reusable Component (by+/via) · · , , , ,
  110. How to Build an AI-Driven User Research Repository (via) · · , , ,
  111. A Web Component for CodePen Embeds? (by) · · , ,
  112. GitHub Trick to Find the Commit That Deleted a File (by/via) · · ,
  113. Time Travelling CSS With “:target” (via) · · ,
  114. The Undeniable Utility of CSS “:has” (by) · · , ,
  115. What Does Hydration Mean? (by/via) · · , , , ,
  116. JavaScript Promises in Depth With V8 Engine Internals (by) · · , ,
  117. More npm Packages on Cloudflare Workers: Combining Polyfills and Native Code to Support Node.js APIs (by+/via) · · , , , ,
  118. Ensuring the Staying Power of User Experience in Your Organization (by/via) · · , ,
  119. CSS Triggers (by) · · , ,
  120. Going Buildless (by) · · , ,
  121. Frontend Dev Plus Data Structures and Algorithms: How DSA Can Power Your React App · · , ,
  122. “setImmediate()” vs. “setTimeout()” in JavaScript (by) · · ,
  123. Building the Same App Using Various Web Frameworks (by) · · , , ,
  124. Manual ’Till It Hurts (by) · · ,
  125. The State of ES5 on the Web (by) · · , , ,
  126. Story of a Button (via) · ·
  127. Data Centers Are Eating and Drinking Our Environment (by) · · , ,
  128. Simplicity (via) · · ,
  129. Gaining Access to Anyone’s Browser Without Them Even Visiting a Website (by) · · , , ,
  130. The Secrets of the “delete” Operator in JavaScript (by) · · ,
  131. Unrealistic Deadlines in Software Engineering (by) · · , , ,
  132. CSS Cascading and Inheritance Level 6 (by+/via) · · , ,
  133. A Complete Guide to Beginning With TypeScript (by/via) · · , , ,
  134. UX Design Isn’t Dead, You’re Just Confused (via) · · , ,
  135. Mobile Accessibility Testing: Enhancing User Experience for All (by/via) · · , , ,
  136. “display: contents” Is Not a CSS Reset (by) · · , ,
  137. The Goal Isn’t to Write Less Code (by) · · , ,
  138. I Need an Accessible Hero (via) · · ,
  139. Quick Tip: Using “flatMap()” to Extract Data From a Huge Set Without Any Loop (by) · · , ,
  140. A Compelling Case for the Comma Operator (by) · · ,
  141. Design Systems Should Do Less (by/via) · · , ,
  142. caniuse-cli (by) · · , , , , ,
  143. Look Out, Kids: PHP Is the New JavaScript (by/via) · · , , ,
  144. How to Create a Weekly Google Analytics Report That Posts to Slack (by/via) · · , , , , ,
  145. How to Detect Broken Links With Playwright (by/via) · · , , ,
  146. Understanding JavaScript Closures With Examples (by) · · , ,
  147. Good Software Development Habits · · ,
  148. Bad CSS-Dad Jokes (by) · ·
  149. JavaScript/Python Array Quick Reference (via) · · , , ,
  150. Sticky Headers and Full-Height Elements: A Tricky Combination (via) · · ,
  151. The HTML History and Optimization Cheat Sheet (by) · · , , ,
  152. The Story of Figma: Living Long Enough as a Hero to Become a Villain? (via) · ·
  153. CSS Display Contents (by) · · ,
  154. The Helpful Content Update Was Not What You Think (by/via) · · , ,
  155. Inlay Hints Make It Easy to Read Code in VS Code (by) · · , , ,
  156. What’s New in React 19 (by/via) · · ,
  157. Cleaning and Speeding Up the JS Ecosystem—Journey So Far (by) · · ,
  158. Avoiding Accessibility Barriers With a Checklist for Custom Controls—Opinion (via) · · ,
  159. Should Form Labels Be Wrapped or Separate? (by/via) · · , , , ,
  160. A Release Note for the Web Platform (by) · · , , , ,
  161. A Complete Guide to Beginning With JavaScript (by/via) · · , , ,
  162. Dreaming About Drupal [and] Its Long Term Potential (by) · · ,
  163. Writing Effective Pull Request Descriptions: A Developer’s Guide (by) · · , , , ,
  164. Notes on Setting Up a Static Website With AWS (Route 53, S3, ACM) (by) · ·
  165. Thinking About Using AI? (by/via) · · , ,
  166. Quick Guide to Web Typography for Developers (by) · · , , ,
  167. Sanding UI (by) · · ,
  168. Paying Down Tech Debt (via) · · , ,
  169. Another Stab at Truncated Text (by/via) · · , , ,
  170. Under-Engineered Estimated Reading Time Feature (by) · · ,
  171. Tackling a System’s Accessibility Without Testing (by+/via) · · , , ,
  172. How to Deploy Node.js to AWS Lambda With OpenTofu and GitHub Actions · · , , , , , , ,
  173. HTML Whitespace Is Broken (by) · · ,
  174. What Is React.js? (by) · · ,
  175. Scroll-Enhanced Experiences (by/via) · · , ,
  176. CSS “@ property” and the New Style (by) · · ,
  177. Captured Custom Properties (by) · · ,
  178. Skeleton Screens vs. Progress Bars vs. Spinners (by/via) · · , ,
  179. Backgrounds for the Box Model (and Why It Can Be Useful) (by/via) · · , ,
  180. “AggregateError” in JavaScript (by) · · ,
  181. What It Is Like to Work in Meta’s (Facebook’s) Monorepo (by) · · ,
  182. Lazy Loading Isn’t Just Lazy, It’s Late: The Web Deserves Faster · · , , , ,
  183. Get Window Size in Pure CSS (via) · · ,
  184. Be Careful When Using Generative Artificial Intelligence to Produce Code (by) · · , ,
  185. I Want the Read Write Suggest-Edit Accept-Edit Update Web (by) · · ,
  186. Semi-Annual Reminder to Learn and Hire for Web Standards (by) · · , , , ,
  187. Reducing UX Debt (or Die Trying) (by/via) · · ,
  188. How I Created a 3.78 MB Docker Image for a JavaScript Service · · ,
  189. Automattic Launches Ambitious Tumblr Migration to WordPress (by/via) · · , ,
  190. Headings (via) · · , ,
  191. Faster Pages With React (by/via) · · ,
  192. Java Optionals (by/via) · ·
  193. An Enhancement to Accessible Responsive Tables (by) · · , , ,
  194. Understanding Web Storage: LocalStorage, SessionStorage, and Cookies (by) · · , ,
  195. A/B Testing 101 (by/via) · · , , ,
  196. Supporting AVIF in Google Search (by/via) · · , , , ,
  197. An SSR Performance Showdown (by) · · , , , , , , ,
  198. Why Playwright Is Less Flaky Than Selenium (by) · · , , ,
  199. Stuck in the Steps? (via) · · ,
  200. Harnessing Copilot and Other Gen-AI Tools to Increase Digital Accessibility Efficiency (by) · · , , , , ,
  201. Querying the Color Scheme (by) · · , , ,
  202. What the Heck Is ARIA? A Beginner’s Guide to ARIA for Accessibility (by/via) · · , , , ,
  203. Drupal 11: New Features to Empower Ambitious Site Builders (via) · ·
  204. HTTP 1 vs. HTTP 2 vs. HTTP 3 (by) · · , , , ,
  205. OpenAI Is Shockingly Good at Unminifying Code (by) · · , ,
  206. Hidden Cost of Frontend Frameworks · · , ,
  207. Python Developers Survey 2023 Results (via) · · ,
  208. When Regex Goes Wrong (by) · ·
  209. Why I Don’t Block AI Scrapers (by) · · , ,
  210. Paragraphs (by) · · ,
  211. CSS Style Observer (by) · · , ,
  212. New to the Web Platform in August (by/via) · · , , , , , ,
  213. Caching Demystified: Inspect, Clear, and Disable Caches (by/via) · · , , , , , ,
  214. The Ultimate Guide to Font Performance Optimization (via) · · , , ,
  215. Chris Ferdinandi on ADHD, Focus, and Working in Tech (by+/via) · · ,
  216. Building Better Logins: A UX and Accessibility Guide for Developers (via) · · , ,
  217. Anchor Positioning (by/via) · · , ,
  218. The “aside” Element (by) · · , ,
  219. The Secret Inside One Million Checkboxes (by) · · , ,
  220. Multithreading in Node.js: Using Atomics for Safe Shared Memory Operations (by) · · , ,
  221. IndieWeb vs. Indie Web (by) · · , , ,
  222. Release Notes for Safari Technology Preview 202 (by/via) · · , , ,
  223. How to Handle Errors in Next.js for Node With the App Router (by/via) · · , , ,
  224. What’s Missing From HTML and CSS? (by/via) · · ,
  225. JavaScript Generators Explained, but on a Senior-Level (by/via) · · ,
  226. The Dialog Element With Entry and Exit Animations (by/via) · · , ,
  227. Make Me One (Input) With Everything (by/via) · · , , ,
  228. Shipping Tumblr and WordPress (via) · · ,
  229. Are Design Systems Just a Bandaid? (by/via) · · , ,
  230. How to Use React Compiler—a Complete Guide (by/via) · · , , ,
  231. Advanced Playwright Techniques for Flawless Testing (by/via) · · , , ,
  232. A Comprehensive Guide to Understanding TypeScript Record Type (via) · · ,
  233. Interface Segregation Principle in React (by) · · , ,
  234. Is Server-Side Rendering Making a Comeback in 2024? (by/via) · ·
  235. How to Fix ESLint Violations With AI Assistance (via) · · , , ,
  236. Set Up a $4/Month Hetzner VM to Skip the Serverless Tax (via) · · , ,
  237. Has the IndieWeb Become Irrelevant? (by) · · , ,
  238. How to Easily Add Dark Mode to Your Website (by) · · , , , , ,
  239. What Skills Should You Focus on as Junior Web Developer in 2024? (via) · · , , , , , , , ,
  240. Generating Unique Random Numbers in JavaScript Using Sets (by/via) · · ,
  241. Managing Angular (by) · · , ,
  242. What RSS Needs (by) · · , , ,
  243. DevOps Project—the Ultimate CI/CD Corporate DevOps Pipeline Project · · , , , ,
  244. Why Is Reaching WCAG Level AAA Not Recommended? (by) · · , ,
  245. WCAG’s A and AA Distinction Is Mostly Academic (by) · · , ,
  246. Content Strategy: Study Guide (by/via) · · , , , ,
  247. Top Ten Git Tips and Tricks (by/via) · · , ,
  248. Mutation-Testing Our JavaScript SDKs (by/via) · · , ,
  249. Behind the Scenes: The Making of VS Code (by+/via) · · , , , ,
  250. Explicitly State the Difference Between Options (via) · · ,