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. Character Modeling in CSS (by/via) · · , , , ,
  2. “@ property”: Next-Gen CSS Variables Now With Universal Browser Support (by/via) · · , , , ,
  3. Content Strategy vs. UX Writing (by/via) · · , , , , ,
  4. Feature Detect CSS “@ starting-style” Support (by/via) · · , , , ,
  5. 3 Design Tips From a Gorgeous New Landing Page (by/via) · · , , ,
  6. Single-Directionally Allowed Overflow (by/via) · ·
  7. Rian Rietveld on Understanding the European Accessibility Act and Its Impact on Websites (by+/via) · · , , , , ,
  8. Learn About What’s New in Angular 18 From Rakia Ben Sassi (by+/via) · · ,
  9. Publishing a TypeScript Module to npm vs. JSR (via) · · , , , , , ,
  10. Transitive Optimization Considered—Interesting (by) · ·
  11. 5 Questions for Miriam Suzanne (by+/via) · · , , ,
  12. How I Develop Successful Link Building Strategies for My Clients (by/via) · · , ,
  13. Don’t Use web.dev for Accessibility Info (by) · · ,
  14. 15 Page Speed Optimizations That Sites Ignore (at Their Own Risk) (by/via) · · ,
  15. Exploring the Challenges in Creating an Accessible Sortable List (Drag-and-Drop) (by/via) · · ,
  16. “If” CSS Gets Inline Conditionals (by/via) · · ,
  17. Zoom, Zoom, and Zoom (by/via) · · ,
  18. The Magic of Clip Path (by) · · ,
  19. The Software Engineering Industry in 2024: What Changed in 2 Years, Why, and What Is Next (by) · · , ,
  20. State of Text Rendering 2024 (by) · · ,
  21. 50 Basic Linux Commands (by) · · ,
  22. Interop 2024 Mid-Year Update (by/via) · · , , ,
  23. Advanced Markdown Using Extensions in Laravel (by) · · ,
  24. Eleventy Buckets and Cascade Layers (by) · · , ,
  25. Progressive Web Apps (PWA): A Comprehensive Guide · · , ,
  26. System Design Basics—Caching (by) · · , ,
  27. What’s New With ECMAScript 2024: An In-Depth Guide on the Latest Features (by/via) · · , , ,
  28. Optimizing for AI Overviews (by/via) · · ,
  29. How to Try Experimental CSS Features (by) · · , , , , , , , ,
  30. What’s Coming Next for ESLint (by/via) · ·
  31. How to Parse HTML in JavaScript (via) · · , ,
  32. Ten Years of Vue (With Evan You) (by+/via) · · , , ,
  33. Feature Detect CSS “@ property” Support (by/via) · · , ,
  34. Reasons to Use Your Shell’s Job Control (by) · · ,
  35. Why Is This Thing in Dark Mode? (by/via) · · ,
  36. Forget “Show, Don’t Tell”—Engage, Don’t Show! (by) · · , , ,
  37. Thoughts on Node.js, Deno, and Bun (by) · · , , ,
  38. Top 7 WordPress Plugins for 2024: Enhance Your Site’s Performance (via) · · , , ,
  39. European Accessibility Act (EAA): Top 20 Key Questions Answered (via) · · ,
  40. It’s About Time I Tried to Explain What Progressive Enhancement Actually Is (by) · ·
  41. Tuesday, July 2, 2024 Security Releases (via) · · , ,
  42. Introducing the MDN HTTP Observatory (by/via) · · , ,
  43. CSS Surprise Manga Lines (by) · · ,
  44. Opting in to CSS Container Queries for an Existing Design System (by) · · , ,
  45. WebAssembly vs. JavaScript: A Comparison (via) · · , ,
  46. TypeScript 5.5: A Blockbuster Release (by) · ·
  47. Moving From Express to Fastify (by/via) · · , ,
  48. Overlays Misunderstand Accessibility (by) · · ,
  49. Accessible Form Validation From Scratch—Preparing for Validation (by/via) · · , ,
  50. Agile Is Not… Agile Is… (by/via) · · ,
  51. How to Use Container Queries Now (by/via) · · , ,
  52. RegreSSHion: Remote Unauthenticated Code Execution Vulnerability in OpenSSH Server (by/via) · · , ,
  53. YouTube Embeds Are Bananas Heavy and It’s Fixable (by/via) · · , , ,
  54. Announcing the Ladybird Browser Initiative (via) · ·
  55. European Accessibility Act (EAA)—What You Need to Know (by/via) · · ,
  56. Are Web Components Worth It? (by+) · · , , , ,
  57. Do Grayscale Images Take Less Space? · · , ,
  58. Accessible PDF Forms Online—There’s a Catch (by/via) · · , ,
  59. How to Annul Promises in JavaScript (by) · · ,
  60. Create npm Package With CommonJS and ESM Support in TypeScript (by) · · , , , ,
  61. 5 Questions for Bramus Van Damme (by+/via) · · , ,
  62. A Proposal for MDN to Use the APG (by) · · ,
  63. Checkboxes: Design Guidelines (by/via) · · , , ,
  64. How to Improve Your Microcopy: UX Writing Tips for Non-UX Writers (by/via) · · , , , ,
  65. Product and UX: Study Guide (via) · · , , , ,
  66. The True Story—as Best I Can Remember—of the Origin of Mosaic and Netscape (by) · · , , , ,
  67. This Month in Servo: Text Fields, Better Emoji, Devtools, and More (via) · · ,
  68. Comprehensive React.js Cheatsheet for Developers (by) · · ,
  69. Browser Support Tests in JavaScript for Modern Web Features (by/via) · · , , ,
  70. “Good Commit” vs. “Your Commit”: How to Write a Perfect Git Commit Message (by) · · , , ,
  71. How We Tamed Node.js Event Loop Lag: A Deepdive (by/via) · · ,
  72. Don’t Be Fooled by Figma’s New AI Features (by/via) · · ,
  73. Microsoft 1998 = Apple 2024 · · , ,
  74. The Time for Designers to Learn to Code Is Now (by) · · , , , ,
  75. Why and How You Should Rate-Limit Your API · ·
  76. Understanding React Hooks (by) · · ,
  77. A Text-Reveal Effect Using “conic-gradient()” in CSS (by/via) · · , , ,
  78. How to Make a Strong Case for Accessibility (by/via) · · , ,
  79. I Got Hacked and Blew Up Prod · · , , ,
  80. New to the Web Platform in June (by/via) · · , , , , , , , ,
  81. Ecma International Approves ECMAScript 2024: What’s New? (by) · · ,
  82. Enhancing The New York Times Web Performance With React 18 (via) · · , ,
  83. Polyfill Supply Chain Attack Embeds Malware in JavaScript CDN Assets (by/via) · · ,
  84. AI Anxiety and How to Design for It: Resources and Best Practices (by/via) · · ,
  85. Consent, LLM Scrapers, and Poisoning the Well (by) · · , ,
  86. Advanced JavaScript Performance Optimization: Techniques and Patterns (by) · · , , , ,
  87. Catching Compromised Cookies (by/via) · · , ,
  88. Beyond Monospace: The Search for the Perfect Coding Font (by+/via) · · ,
  89. Two New Artificial Intelligence Laws and Their Effects on Accessibility (via) · · , ,
  90. The Design Purity Trap and How to Escape It (by) · · ,
  91. How to Set Up Serverless Framework to Deploy AWS Lambda, Queues, and DynamoDB With Node.js (by) · · , , , ,
  92. New JavaScript Set Methods (by/via) · ·
  93. Use Node Version Manager With Oh My Zsh (by) · · , ,
  94. Web Design Engineering With the New CSS (by/via) · · ,
  95. AI Ethicists Are Speaking Out, but Are We Listening? (by/via) · · ,
  96. Why Do Designers Become Managers? (via) · · , ,
  97. Backdoor Slipped Into Multiple WordPress Plugins in Ongoing Supply-Chain Attack (by/via) · · , ,
  98. Concept (via) · · ,
  99. Why Is It So Difficult to Give Best in Class Accessibility Examples of Websites? (by) · ·
  100. In Detail: 1.4.11 Non-Text Contrast (User Interface Components) (by) · · , , , ,
  101. 7 Use Cases for JavaScript Proxies · ·
  102. Exploring Randomness in JavaScript (by) · · ,
  103. Is It Good Design, or Does It Just Look Good? (via) · ·
  104. MDX or: How I Learned to Stop Worrying and Love Multimedia Writing (by/via) · · ,
  105. Measuring Developer Experience at Google (by) · · , , ,
  106. Understanding JWT Authentication: A Comprehensive Guide With Examples · · , , ,
  107. Design Extremes of Custom Accessibility Actions (via) · · , ,
  108. A Rant About Front-End Development (by) · · , , , , , ,
  109. Announcing TypeScript 5.5 (by/via) · · ,
  110. Bun Is Much Faster Than Node.js 22 at Decoding Base64 Inputs (by) · · , , ,
  111. Inline Conditionals in CSS, Now? (by) · ·
  112. Node v20.15.0 (LTS) (by/via) · · ,
  113. Seamless Screenshot Testing for Compose With Screenshotbot (by) · · , , ,
  114. Simplest View Transitions Multi Page Demo (No JavaScript) (by) · · , , ,
  115. State of JavaScript 2023 (by+/via) · · ,
  116. Tracking the Impact of Our Content Design Work (by/via) · · , ,
  117. Uniting Web and Native Apps With 4 Unknown JavaScript APIs (by/via) · · , ,
  118. The Hacking of Culture and the Creation of Socio-Technical Debt (by) · · ,
  119. Know the “search” Element (by) · · ,
  120. Footnotes Progressively Enhanced to Popovers (by/via) · · , , ,
  121. How to Perform Data Validation in Node.js (by/via) · · , ,
  122. npm and Node.js Should Do More to Make ES Modules Easy to Use (by) · · , , , ,
  123. Positioning Popover Elements (Pseudo-Anchoring) (by) · · ,
  124. Understanding React Compiler (by) · · ,
  125. Mina Tamang on SEO Techniques That Prioritise the User Experience (by/via) · · , , , , ,
  126. Building a Responsive Menu With CSS (and No JavaScript) (by) · · , ,
  127. Writing a WordPress Theme in Less Than 4 KB · · , , ,
  128. Firefox DevTools Newsletter—127 (via) · · , , , ,
  129. A Brief Introduction to Keyboard Accessibility (by/via) · · , , ,
  130. How Top HR Agencies Build Trust Through Logo Designs (by/via) · · , ,
  131. Inline Conditionals in CSS? (by) · ·
  132. Mike McQuaid on 15 Years of Homebrew (by+) · · ,
  133. Modern CSS Layout Is Awesome: Talking and Thinking About CSS Layout (by/via) · · ,
  134. Some UX Design Principles Startups Should Know (by/via) · · , ,
  135. How Content Creation Helped Me Land My First Tech Job (by) · · ,
  136. Humanizing Technology in the Age of Conscious AI (via) · · ,
  137. Say No to “console.log”! · · ,
  138. How React 19 (Almost) Made the Internet Slower (via) · · ,
  139. htmx 2.0.0 Has Been Released! (via) · · ,
  140. The Way We Design AI Looks Like Nostalgia Already (by/via) · · ,
  141. What Happens When a Major npm Library Goes Commercial? (by) · · , ,
  142. How to Increase the Visibility of Error Messages (by/via) · · , ,
  143. Building a User-Centered Product-Management Culture (by/via) · · , ,
  144. Design Without Process, or the Form Factor Trap (by/via) · · ,
  145. BEM Modifiers in Pure CSS Nesting (by) · · , ,
  146. Dealing With Unicode Strings, Done Right and Better (by) · · ,
  147. Mastering JavaScript Generators (by) · · ,
  148. UUIDv7 in 22 Languages (by) · · , , , , , , ,
  149. What Does “aria-hidden=true” Actually Do to Interactive Elements? (by) · · , , , ,
  150. Dual Publishing ESM and CJS Modules With tsup and “Are the Types Wrong?” (by) · · , , , ,
  151. I Made My Own JSON Parser (by) · · ,
  152. Minimal SVG Favicon (by) · · , , ,
  153. Researchers Uncover npm Registry Vulnerability to Cache Poisoning and DoS Attacks (by/via) · · , , , ,
  154. Safari 18—What Web Features Are Usable Across Browsers? (by) · · , , , , , ,
  155. What Is Mixed Content? (by) · · ,
  156. The Basics of DNS: Understanding the Internet’s Directory Service (by) · · ,
  157. Using AI to Encourage Best Practices in the Code Review Process (by) · · , , ,
  158. What Are CSS Container Style Queries Good For? (by/via) · · ,
  159. Difference Between Docker, Kubernetes, and Podman for System Design Interview? (by) · · , , ,
  160. How JavaScript Is Finally Improving the Module Experience (by/via) · · , , ,
  161. Use of “ch” Unit Considered Inappropriate (in Certain Circumstances) (by) · · , ,
  162. Writing Your First Visual Regression Check in Playwright (by/via) · · , , ,
  163. Setting Up Typography Variables in Figma (via) · · ,
  164. 2-Page Login Pattern, and How to Fix It (by/via) · · , , ,
  165. Blazing Fast Websites With Speculation Rules (by/via) · ·
  166. Don’t Refactor the Code (by) · · , , ,
  167. Every Website and Web App Should Have a Service Worker (by) · · ,
  168. Learn Grid Now, Container Queries Can Wait (by/via) · · , ,
  169. Can You Be Creative Just by Creating? (by) · · ,
  170. Node.js Is Here to Stay (by/via) · · ,
  171. One of the Boss Battles of CSS Is Almost Won! Transitioning to “auto” (by/via) · · , , ,
  172. Try Out Your Website in the Spatial Web (by+/via) · · , , , , ,
  173. Highlight Areas That the Browser Engine Re-Paints (by/via) · · , , , , , , , ,
  174. See What’s New in Firefox [127.0] (via) · · , , ,
  175. Streaming HTML—Asynchronous DOM Updates Without JavaScript (by/via) · · , ,
  176. I’ve Been Writing TypeScript Without Understanding It (by/via) · ·
  177. A Quick and Easy Guide to Markdown (by) · · ,
  178. Angular Directives vs. Vue Directives (by/via) · · , ,
  179. What Comes After Flat Design? (by/via) · · ,
  180. The European Accessibility Act and Irish Law (via) · · ,
  181. Node v22.3.0 (Current) (by/via) · · ,
  182. How to Hack Your Google Lighthouse Scores in 2024 (by/via) · · , ,
  183. Opinions for Writing Good CSS (by) · · , ,
  184. Weak Memoization in JavaScript (by) · · ,
  185. The Next Big Thing in CSS: “margin-trim”! (by) · · ,
  186. The Biggest TypeScript Update in Years (by) · · ,
  187. Top 12 Git Commands Every Developer Must Know (by/via) · · ,
  188. Sustainable Computing in the New World of AI (by/via) · · ,
  189. CSS Container Queries (by/via) · · , ,
  190. How to Decide If Engineering Management Is for You (by/via) · · , ,
  191. Building a Bulletproof CI/CD Pipeline: A Comprehensive Guide (by) · · ,
  192. 10 Years of Vue: The Past and the Future (by/via) · · , , ,
  193. Can ADA Title II Local Government Accessibility Be Efficient? A Response to Richard Hunt (via) · · ,
  194. How to Browse the Web With the Keyboard Alone (by) · · ,
  195. How to Compose JavaScript Functions That Take Multiple Parameters (The Epic Guide) (by) · · , ,
  196. Refactoring a Scroll-Driven Animation From JavaScript to CSS (by) · · , , , ,
  197. Ethical Web Principles (by+/via) · · , ,
  198. Investigating INP Issues (by) · · , ,
  199. Using Node.js’s Test Runner (by/via) · · ,
  200. I’ve Worked in IT for Over 10 Years—Here Are 5 Things I Wish I Knew When I Started (by) · · ,
  201. Comprehensive Guide to Debouncing in JavaScript: Improve Your Code Efficiency (by) · · , , ,
  202. Support for “aria-errormessage” Is Getting Better, but Still Not There Yet (by) · · , , , , ,
  203. Glassmorphism: Definition and Best Practices (via) · · , ,
  204. Find Slow Interactions in the Field (by/via) · · ,
  205. Rust Growing Fastest, But JavaScript Reigns Supreme (by/via) · · , , , , , , ,
  206. 17 Developer Tools That Keep Me Productive (by/via) · · , , , ,
  207. CSS-Only Custom Range Slider With Motion (by/via) · · , ,
  208. Improving Web Accessibility With Web Platform Tests (via) · · , ,
  209. How to Use “rem” Units in CSS for Accessible Design (by/via) · · , ,
  210. Live Demos of Stand Alone Web Components (by/via) · · , ,
  211. Ditch the Pixels: The Small and Vectorized Web (by) · · , ,
  212. Is AI Killing Human Passion? (by/via) · · , ,
  213. Profiling Node.js Applications (by/via) · · ,
  214. Git Branching Strategy Guide · · ,
  215. Cap Unit (by) · · ,
  216. Reflection and Custom States in Web Components (by) · · ,
  217. Full Stack Web Push API Guide (by/via) · · , , ,
  218. Why Do We Skip the Research Phase at All? (via) · · ,
  219. Maybe Don’t Name That Landmark (by) · · , ,
  220. Doing My Heading In (by+) · · , , ,
  221. Control JavaScript Promises From Anywhere Using “Promise.withResolvers()” (by/via) · · ,
  222. Your Node Is Leaking Memory? “setTimeout” Could Be the Reason (by) · · ,
  223. A Modern Approach to Browser Support (by) · · , ,
  224. WebAssembly JSPI Has a New API (by/via) · · ,
  225. Death by Experience (by) · · , ,
  226. How to Build a New Feature for the Web Platform—and Make It a Success With Developers (via) · · , , ,
  227. How Deep Is Your DOM? (by) · · , , ,
  228. Follow Your Favorite Web Dev Topics With Topic Feeds (via) · · , ,
  229. Display the Specificity of a CSS Selector (by/via) · · , , , , , , , , , , ,
  230. Fine-Tuning Text Inputs (by) · · , ,
  231. Generating ZIP Files With JavaScript (by) · · ,
  232. The Unclear Case of Usability Widgets on Your Website (by) · · , , ,
  233. “Just” One Line (by) · · ,
  234. Witnessing the Death of the Web as a News Medium (by) · · , , , ,
  235. What’s Wrong With VPATs? (by) · · ,
  236. CSS Length Units (by/via) · · , ,
  237. How to Build an Effective UX Pipeline From User Research to Usability Testing (by/via) · · , ,
  238. Promises From the Ground Up (by) · · ,
  239. Let’s Hang! An Intro to CSS Anchor Positioning With Basic Examples (by) · · , , ,
  240. How a Single Vulnerability Can Bring Down the JavaScript Ecosystem (by) · · , , , , ,
  241. Node.js Best Practices: A Guide for Developers · · , ,
  242. Transforming UX With Generative AI (by/via) · · ,
  243. Collaboration, the Future of CSS, Sass, and the Web With Miriam Suzanne (by/via) · · , , , , ,
  244. Write SOLID React Hooks (by) · · , ,
  245. How to Use Corepack (by) · · , ,
  246. The Power of Beauty in Communicating Complex Ideas (by/via) · · , , ,
  247. Does Serverless Still Matter? (by) · · , ,
  248. World Wide Accessibility—Benefits of Standardization (by) · · , , ,
  249. A Practical Guide Against Barrel Files for Library Authors (by) · · , , ,
  250. Semantic Code in HTML: What Is It and Does It Still Matter? (by) · · , , , , ,