Frontend Dogma

News and Tools for Frontend Development

Articles and books, tips and tricks, craft and beauty from the world of frontend development. (Stay up-to-date on all topics by RSS feed or on Mastodon.)

  1. How (In)Efficient Are Engineering Organizations? · · , ,
  2. Homepage Design: 5 Fundamental Principles · · ,
  3. Make Your Functions More Reusable With Generics · · , ,
  4. Ruby Is Complicated · ·
  5. 25 Unnoticeable Features of JavaScript · ·
  6. You Want “border-color: transparent”, Not “border: none” · · ,
  7. Building Websites and Building Websites Well · · , ,
  8. The “10× Engineer”: 50 Years Ago and Now · · , , ,
  9. A Letter to My Younger Self, as an Accessibility Advocate · · ,
  10. Thoughts on Embedding Alternative Text Metadata into Images · · , ,
  11. Interaction to Next Paint Is Officially a Core Web Vital · · ,
  12. 5 Exciting New JavaScript Features in 2024 · ·
  13. JSON Canvas · · , , ,
  14. Alt Text for CSS Generated Content · · , ,
  15. Announcing Speedometer 3.0: A Shared Browser Benchmark for Web Application Responsiveness · · , ,
  16. A Gentle Introduction to Generics in Typescript · · ,
  17. Distinguishing Between ARIA and Native HTML Attributes · · , , ,
  18. CSS Button Styles You Might Not Know · · , ,
  19. Access by a Thousand Curb Cuts · ·
  20. Jakob Has Jumped the Shark · · ,
  21. Modern CSS Tooltips and Speech Bubbles II · · ,
  22. How “HEAD” Works in Git · ·
  23. Creating Color Palettes With the CSS “color-mix()” Function · · , , ,
  24. How to Test 2.5.8 Target Size (Minimum) · · ,
  25. Some Little Ways I’m Using CSS “:has()” in the Real World · · , ,
  26. The Quiet, Pervasive Devaluation of Frontend · · , , , ,
  27. 5 Ways Productivity Culture Kills Business Agility · · , , ,
  28. The End of My Gatsby Journey · · , ,
  29. The Ultimate Guide to Choosing the Best React Website Builder · · , , , ,
  30. Release Notes for Safari Technology Preview 190 · · , , ,
  31. Announcing TypeScript 5.4 · · ,
  32. Internationalization With Remix · · ,
  33. Simplify Your CSS Using “:is()” and “:where()” Pseudo-Classes · · , ,
  34. WebKit Features in Safari 17.4 · · , , , ,
  35. How to Ensure Your Designs Work If You Can’t Access Sample Data · · , , , ,
  36. How to Use WebSockets in Node.js to Create Real-Time Apps · · , ,
  37. Achieving Design Collegiality While Maintaining Psychological Safety · · ,
  38. Modern Git Commands and Features You Should Be Using · · ,
  39. Designing for Mobile Accessibility: Enhancing the User Experience on Small Screens · · , , ,
  40. JSR: Second Look · ·
  41. Bugs I’ve Filed on Browsers · · , , , ,
  42. We Need to Talk About Jakob · ·
  43. Accessibility Darkness · · ,
  44. Accessibility Has Not Failed—It Has Not Even Started for Real · · ,
  45. VPS Showdown—March 2024—DigitalOcean vs. Linode vs. Vultr · · , , ,
  46. Emerging UX Patterns in Generative AI Experiences · · , ,
  47. The Faster Lambda Runtime—Node.js or LLRT? We Benchmarked · · , , , , ,
  48. “AI” and Accessible Front-End Components: Is the Nuance Generatable? · · , ,
  49. Apple Says iOS 17.4 Won’t Remove Home Screen Web Apps in the EU After All · · , , ,
  50. Modern CSS Tooltips and Speech Bubbles · · ,
  51. Introducing JSR—the JavaScript Registry · · , , ,
  52. Web Tech Trends to Watch in 2024 and Beyond · · , , , , ,
  53. A Love Letter to the Underrepresented in Tech · ·
  54. Apple Backs off Killing Web Apps, but the Fight Continues · · ,
  55. Eloquent JavaScript · · , ,
  56. Retrofitting Fluid Typography · · ,
  57. TIL—“submit()” versus “requestSubmit()” · · ,
  58. New to the Web Platform in February · · , , , , , , , ,
  59. Accessibility Has Failed: Try Generative UI = Individualized UX · · , , ,
  60. The Wax and the Wane of the Web · · ,
  61. Techniques to Break Words · · , , ,
  62. Why Does “is-number” Package Have 59M Weekly Downloads? · · ,
  63. Understanding Cookies and Sessions in React · · , ,
  64. Diving into CSS Interactivity · · ,
  65. Choosing the Right Node.js Package Manager in 2024: A Comparative Guide · · , , ,
  66. What You Need to Know About Software Requirements · · ,
  67. Apple vs. PWAs—Go Act Now and Help Avoid This Disaster… · · , ,
  68. An HTML Switch Control · · , ,
  69. So, What Exactly Did Apple Break in the EU? · · , , , , ,
  70. Top 8 Recent V8 in Node Updates · · ,
  71. Creativity Lies in the Paradoxes · · ,
  72. Test Quality vs. Bashing Tailwind CSS · · , ,
  73. How to Create a Sidebar Navigation With Astro, Tailwind CSS, and Alpine.js · · , , ,
  74. Enhanced Internationalization (I18N) in Next.js 14 · · ,
  75. Going Beyond Pixels and (r)ems in CSS—Container Query Length Units · · , ,
  76. Ultimate Guide to Visual Testing With Playwright · · , , ,
  77. Making Math Accessible · · ,
  78. Tumblr and WordPress to Sell Users’ Data to Train AI Tools · ·
  79. How to Use Server-Sent Events in Node.js · · ,
  80. Reporting Core Web Vitals With the Performance API · · , ,
  81. The 3 Capabilities Designers Need to Build for the AI Era · · , , ,
  82. A Fun Line of Code · · , ,
  83. Screen Readers and Drag-and-Drop: Grabbing and Releasing Elements · · , , , ,
  84. How to Lazy-Load CodePen and CanIUse Embeds · · ,
  85. A Simple Mistake That Can Screw Up Your Light/Dark Theme (and How to Fix It) · · , ,
  86. CSS Foundations: What Is IACVT? · ·
  87. CSS-Only Bottom-Anchored Scrolling Area · · ,
  88. Why I Use Firefox · · , ,
  89. Advanced Figma Tips and Tricks 2024: Little Gems We Love · · ,
  90. 10 Takeaways from the WebAIM Screenreader Survey · · , , ,
  91. What Is a Single-Page Application? · · , , ,
  92. A Web Designer’s Accessibility Advocacy Toolkit · · ,
  93. No Outer Margin · · ,
  94. The CSS Cascade—a (Re)Introduction · · , ,
  95. Home Screen Advantage · · , , , , ,
  96. CSS “:has()” Interactive Guide · · , ,
  97. WebAIM Screen Reader User Survey 10 · · , , ,
  98. My WebAIM 10th SR User Survey Takeaways · · , , ,
  99. CAPTCHA Is Still [the] Most Problematic Issue on the Web · · , ,
  100. The Power of Patterns and Playbooks in Content Design · · , ,
  101. Understanding Event-Driven Architecture · · ,
  102. JSDoc as an Alternative TypeScript Syntax · · ,
  103. Why My Code Isn’t in TypeScript · ·
  104. A Developer’s Guide for Web Accessibility · · ,
  105. Proposal: CSS Variable Groups · ·
  106. Building Dynamic Progress Bars Using Only CSS · ·
  107. htmx vs. React: A Complete Comparison · · , ,
  108. Vanilla JavaScript, Libraries, and the Quest for Stateful DOM Rendering · · , , ,
  109. UX Leadership Is Failing (and What We Can Do About It) · · ,
  110. JavaScript Bloat in 2024 · · ,
  111. Difference Between the Accessibility Page and the Accessibility Statement · · , ,
  112. ARIA (Are Ya) Afraid of the Dark? Unmasking Common HTML Monsters to Create Better User Experiences · · , , , ,
  113. JSR: What We Know So Far About Deno’s New JavaScript Package Registry · · , , ,
  114. View Transitions: Handling Aspect Ratio Changes · · ,
  115. Release Notes for Safari Technology Preview 189 · · , , ,
  116. Node.js 2023 Year in an Article · · ,
  117. 10 Best Create React App Alternatives for Different Use Cases · · , , ,
  118. Making of True Multi-Brand Design System · · ,
  119. Syntax Highlighting With No Spans?! · · ,
  120. Next.js vs. Remix—a Developer’s Dilemma · · , ,
  121. CSS “::backdrop” Now Inherits from Its Originating Element · · ,
  122. Design Patterns That Encourage Junk Data · · , , , ,
  123. Okay, Color Spaces · · ,
  124. CSS-Only Radial Progress Bars Using Conic Gradients · · , ,
  125. Why Is JavaScript Fragile? · ·
  126. “random()” Distribution Visualizer · · ,
  127. A Practical Guide to Using Shadow DOM · · , ,
  128. Control Lazy Load, Infinite Scroll, and Animations in React · · , , , ,
  129. A Practical Guide to Designing for Colorblind People · · , ,
  130. Does Your Design Conform With WCAG Accessibility Guidelines—or Does It Comply? · · , , , ,
  131. My Design System Journey: Building the Plane While Flying · · , ,
  132. How to Transfer Binary Data Efficiently Across Worker Threads in Node.js · · ,
  133. Preventing SQL Injection Attacks in Node.js · · , , ,
  134. 100 Things You Can Do on Your Personal Website · · , ,
  135. 7 Effective Ways to Craft Compelling Problem Statements for UX Design · · , ,
  136. What Is Utility-First CSS? · · ,
  137. Fostering a Collaborative Onboarding Team to Design Better Onboarding Experiences · · , ,
  138. “Web Design as a Process” in Charts: Maintenance, Decay, Tech Debt, and Big Bang Launching · · , , , , ,
  139. How to Design an Accessible Web Site for People with Color-Deficient Vision · · , , , , ,
  140. Responsive Web Design: 3 Key Fundamentals · · , ,
  141. 17 Equations That Changed the World—Rewritten in JavaScript · · ,
  142. The Fifty-Fifty Split and Overflow · · ,
  143. Tailwind Marketing and Misinformation Engine · · , , , ,
  144. Don’t Care About Accessibility? Resistance Is Futile! · ·
  145. JavaScript Workers · · , ,
  146. JavaScript on Demand: How Qwik Differs from React Hydration · · , , , ,
  147. Understanding React “useEffect” · ·
  148. A Manifesto for Small, Static, Web Apps · · ,
  149. Popular Git Config Options · · ,
  150. It’s Official, Apple Kills Web Apps in the EU · · ,
  151. How to Set Up a Node Server With TypeScript in 2024 · · , , ,
  152. Be a Better Developer With These Git Good Practices · · , , , ,
  153. React Labs: What We’ve Been Working On—February 2024 · ·
  154. How I Developed the 10 Usability Heuristics · · , ,
  155. Getting to an Accessibility Strategy · · , ,
  156. A Dozen Thoughts About AI · ·
  157. ARIA “note” · · , , , , ,
  158. Top 20 JavaScript One-Liners That Don’t Actually Work · ·
  159. Playing With Infinity in CSS · · ,
  160. Wednesday February 14 2024 Security Releases · · , ,
  161. Scroll-Driven Animations: You Want “overflow: clip”, not “overflow: hidden” · · , ,
  162. How Accessibility Standards Can Empower Better Chart Visual Design · · , ,
  163. Input Type “date”: The Accessibility of HTML Date Picker · · ,
  164. The Text File That Runs the Internet · · , , ,
  165. Reasonable WCAG Additions · · ,
  166. When It Says “Name from Author” It Means from You, Not Boll or Bukowski · · , ,
  167. Why I Like Scrumban · · , , ,
  168. CSS Color Module Level 4 · · ,
  169. A Practical Guide to Designing for Children · · , ,
  170. How to Center a Div · · ,
  171. An Introduction to Node.js Multithreading · · , ,
  172. Advanced Architecture for AI Application (aka AAAA) · · , , ,
  173. How to Fix the Invisible Scrollbar Issue in iOS Browsers · · , , , ,
  174. Be Aware of Arrays—V8 Engine Advice · · , , ,
  175. The New CSS Math: “pow()”, “sqrt()”, and Exponential Friends · · , ,
  176. Building htmx and Go Web Apps With Gemini Advanced · · , , ,
  177. Learn TypeScript · · ,
  178. The Anatomy of Addictive Content · · , ,
  179. Can Generative AI Help Write Accessible Code? · · , ,
  180. A CSS Project Boilerplate · · , ,
  181. How to Boost WordPress Security and Protect Your SEO Ranking · · , , ,
  182. You Want to Make It Easy to Feature Your Content · · , ,
  183. Using Recursive CSS to Change Styles Based on Depth · · ,
  184. CSS Mixins and Functions Explainer · · ,
  185. Names Are Complex: Displaying Initials for an Avatar Component in a Design System · · , ,
  186. Don’t Disable Form Controls · · , , ,
  187. Accelerating Code Reviews With Nudges · · , , ,
  188. HTML as the Baseline · · ,
  189. The Front-End Development We’re Used to Is Dying · · , ,
  190. Have We Forgotten How to Build Ethical Things for the Web? · · ,
  191. Everything You Need to Know About Image Formats in 2024 · · , , , , , ,
  192. Frequently Heard in My Beginning Front-End Web Development Class · · ,
  193. Node.js Community Debate Intensifies over Enabling Corepack by Default and Potentially Unbundling npm · · , , , ,
  194. In Its Tantrum With Europe, Apple Broke Web Apps in iOS 17 Beta, Still Hasn’t Fixed Them · · , , ,
  195. Git Tips: Really Large Repositories · · , ,
  196. The Accessibility Mindset: Moving Beyond Remediating, Fixing, and Reacting · · ,
  197. So You Think You Know Git · ·
  198. What Is a Descriptive Transcript? · · ,
  199. Is [“* { min-width: 0; }”] a Good Idea? · · ,
  200. Going Beyond Pixels and (r)ems in CSS—Relative Length Units Based on the Viewport · · ,
  201. Release Notes for Safari Technology Preview 188 · · , , ,
  202. Web Development Is Getting Too Complex, and It May Be Our Fault · · , , ,
  203. Opportunities for AI in Accessibility · · ,
  204. CSS Is Logical · ·
  205. Offloading JavaScript With Custom Properties · · , ,
  206. A Guide to Designing for Older Adults · · , ,
  207. Doing What’s Required: Indicating Mandatory Fields in an Accessible Way · · , , ,
  208. Lessons Learned Moving Eleventy from CommonJS to ESM in 2024 · · , , , , ,
  209. jQuery 4.0.0 Beta · · ,
  210. In Praise of the “switch” Statement · ·
  211. Malicious npm Package Masquerades as Noblox.js, Targeting Roblox Users for Data Theft · · , ,
  212. Remix Takes on Next.js in Battle of the React Frameworks · · , , ,
  213. Detect Caps Lock With JavaScript · ·
  214. Lines of Code—How to Not Measure Code Quality and Developer Efficiency · · , , ,
  215. JavaScript vs. Python: Which One Should You Learn First? · · , ,
  216. UI Elements Are Not So Elementary · · ,
  217. Designing User Onboarding: Lessons from Figma, Duolingo, and More · · , , , ,
  218. Immutable Array Updates With “Array.prototype.with” · · , , ,
  219. When to Use the “min()” or “max()” Function · · ,
  220. JavaScript Promises Demystified · · ,
  221. Bookmarklet: Load All GitHub Comments · · , ,
  222. Visual Hierarchy: Making User Experiences Easier to Understand · · ,
  223. Exciting New Tools for Designers, February 2024 · · , ,
  224. 13 Best Books, Courses, and Communities for Learning React · · , , ,
  225. The Most Demanded Frontend Frameworks in 2023 · · , , , ,
  226. How to Create Rounded Gradient Borders With Any Background in CSS · · , , , ,
  227. You Won’t Scale · · ,
  228. The Decision to Leave Tech · · ,
  229. Thoughts on a Global Design System · ·
  230. It’s the Hope That Kills You · · , ,
  231. Everything You Need to Know About Git · · ,
  232. Revolutionizing Usability Testing With Machine Learning · · , ,
  233. Getting into Web Components—an Intro · · ,
  234. “X” Marks the Spot: Landmark Elements · · , , , ,
  235. htmx Deep Dive With Carson Gross · · ,
  236. Why Disabled People’s Needs Aren’t “Special” · ·
  237. The Importance of Web Performance to Information Equity · · , ,
  238. 5 Hidden Risks of Your Inaccessible Website · ·
  239. All Art Is a Copy of Something · ·
  240. SOLID Principles: They’re Rock-Solid for Good Reason · · ,
  241. From Many to One: Moving Our JavaScript Code into a Monorepo · · , , ,
  242. The Web Just Gets Better With Interop 2024 · · , , ,
  243. A Look at the New WAI-ARIA 1.3 Draft · · , ,
  244. A Complete Guide to Open Source—100× Simpler · · ,
  245. Career Retrospective · · ,
  246. How to Make a Great Framework Better?—Svelte 5 With Rich Harris · · , ,
  247. Drupal Creator: Websites Needed More Than Ever in the AI Era · · , ,
  248. Interop 2024 · · , , ,
  249. Dynamically Adding Text Alternatives to Images With AI · · , , ,
  250. Tracking Your Interviews Is Extremely Important · · ,