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. HTML Attributes vs. DOM Properties · · , ,
  2. Celebrate JavaScript Naked Day Every Year on April 24 · · , ,
  3. The Problem With “new URL()”, and How “URL.parse()” Fixes That · · ,
  4. F-Shape Pattern and How Users Read · · ,
  5. The Front End Developer/Engineer Handbook 2024 · · , , , , ,
  6. Comparing Full Stack and Headless CMS Platforms · · , , ,
  7. The First Framework That Lets You Visualize Your React/Node.js App · · , ,
  8. Using Legitimate GitHub URLs for Malware · · ,
  9. 15 Essential UX Design Principles and Practices for Developers · · , ,
  10. The Crucial Dance: Enhancing Designer–Developer Collaboration for Exceptional Products · · ,
  11. April 24 Is JS Naked Day · · , ,
  12. Detect JavaScript Support · · , , ,
  13. Optimising React Apps · · ,
  14. Considerations for AI Opt-Out · ·
  15. Long Alt · · , , , , ,
  16. How to Work With GraphQL in WordPress in 2024 · · , ,
  17. A Short Guide to Mastering Keyboard Shortcuts on GitHub · · , ,
  18. Help Us Invent CSS Grid Level 3, aka “Masonry” Layout · · ,
  19. This Web of Ours, Revisited · ·
  20. The End of an Era: Women Who Code Closing · ·
  21. Git Common Developer Pitfalls and Solutions · ·
  22. Converting Plain Text to Encoded HTML With Vanilla JavaScript · · , ,
  23. Upgrading jQuery: Working Towards a Healthy Web · · , ,
  24. Property Hooks Are Coming in PHP 8.4 · · ,
  25. Displaying HTML Web Components · · ,
  26. The Invisible Seafaring Industry That Keeps the Internet Afloat · ·
  27. Things That Can Break “aspect-ratio” in CSS · ·
  28. [pnpm] v9.0.0 · · ,
  29. Open Source Security (OpenSSF) and OpenJS Foundations Issue Alert for Social Engineering Takeovers of Open Source Projects · · ,
  30. How a Successful Website Migration Led to a 20% Increase in Keyword Rankings · · , , ,
  31. ARIA in HTML · · , , ,
  32. Five Ways Cookie Consent Managers Hurt Web Performance (and How to Fix Them) · · , ,
  33. An Intro to Flexbox · · , ,
  34. Document Collaboration (With Comments!) · · , , ,
  35. Interview With Senior JS Developer 2024 · · , , , , , , ,
  36. What If You Had Real Control over Light Mode / Dark Mode on a Per-Site Basis? · · ,
  37. My “Skip to Content” Markup Was Breaking the Back Button on iOS · · , , ,
  38. Things You Should Do in Your Dev Journey · ·
  39. 10 Things Software Developers Should Learn About Learning · · ,
  40. Monitoring BFCache Blocking Reasons · · , , ,
  41. Blockin’ Bots · · , , ,
  42. How Do Open Source Licenses Work? The Ultimate Guide · · , ,
  43. Introducing JS Naked Day · · , ,
  44. Zombie Estimation · · ,
  45. Web Accessibility Statement: How to Write One · · , ,
  46. Gap Is the New Margin · · ,
  47. Quick Tip: How to Animate Text Gradients and Patterns in CSS · · , , , ,
  48. Release Notes for Safari Technology Preview 192 · · , , ,
  49. Notes on Git’s Error Messages · · ,
  50. Optimizing WebKit and Safari for Speedometer 3.0 · · , , , , ,
  51. Wednesday, April 10, 2024 Security Releases · · , ,
  52. Control Your Vertigo—the Unspoken Rule for Defending Design Decisions · · ,
  53. JS Naked Day · · , , ,
  54. Frontend Development Beyond React: Svelte · ·
  55. The Guide to Git I Never Had · · , , ,
  56. Happy CSS Naked Day 2024 · · , ,
  57. Layered Toggles: Optional CSS Mixins · · ,
  58. The ADA Now Has Regulations for Accessibility of Web Content and Mobile Apps · · , , ,
  59. Recapping ng-conf 2024 · ·
  60. Figma Prototypes vs. HTML Prototypes · · , , , , ,
  61. Sending Email Using Node.js · · ,
  62. React Server Components in a Nutshell · · ,
  63. Ableism and Related Terms You Need to Know · · , ,
  64. Inclusive Digital Experiences: Redesign Strategies for Addressing Diverse Abilities and Accessibility Challenges · · , , ,
  65. Node.js Debugging in Chrome DevTools · · , , , , , ,
  66. User Experience in the Era of AI: Enhancing Human-Machine Interactions · · ,
  67. Misinformation and Disinformation Online: What Design Can Do to Remedy This Problem · · ,
  68. Justice Department to Publish Final Rule to Strengthen Web and Mobile App Access for People With Disabilities · · , , ,
  69. Things That I Like Better in Vue Than in React · · , , ,
  70. What Is Whitespace? · · , , ,
  71. Testing HTML With Modern CSS · · , , ,
  72. Demystifying the Shadow DOM · · ,
  73. Blind Internet Users Struggle With Error-Prone AI Aids · · ,
  74. [zx] 8.0.0 · · ,
  75. Why I’m Yet Another Woman Leaving the Tech Industry · · ,
  76. 21 HTML Tips You Must Know About · · ,
  77. Creativity in Software Engineering · · , ,
  78. DevTools Tips and Tricks · · , ,
  79. Should Designers Code? · · ,
  80. Drive-By Accessibility Tweaks · ·
  81. Managing User Focus With “:focus-visible” · · , ,
  82. “AI” Won’t Solve Accessibility · · ,
  83. Breakpoints in Responsive Design · · , ,
  84. The V8 Sandbox · · ,
  85. AI and the Future of Web Accessibility Guidelines · · , , , , ,
  86. A Complete Guide to CSS Logical Properties, With Cheat Sheet · · , , ,
  87. When to Use “tabindex="0"” · · , , ,
  88. Rounded Tabs With Inner Curves · · ,
  89. Building Components With Radix UI · · ,
  90. Building a Digital Fortress: How to Strengthen DNS Against DDoS Attacks? · · ,
  91. Using JSON Web Tokens With Node.js · · , , ,
  92. Wednesday, April 3, 2024 Security Releases · · , ,
  93. “aspect-ratio” Gotcha · · ,
  94. Svelte Parses HTML All Wrong · · , ,
  95. In-Page Links: 3 Usability Tips · · , , ,
  96. An Advanced Way to Use CSS Variables · · ,
  97. Theming Design Systems · · ,
  98. Hanging Punctuation in CSS · · ,
  99. Finally Understand Responsive Design · · , ,
  100. BFCache Explained · · ,
  101. AI and the Web: Understanding and Managing the Impact of Machine Learning Models on the Web · · ,
  102. How to Build a Simple Web Server With Node.js · · , ,
  103. The View Transitions API · · , ,
  104. Fluid Typography With Discrete Steps · · ,
  105. WebAssembly at Google · · , ,
  106. WordPress 6.5 “Regina” · · ,
  107. Learn JavaScript · · ,
  108. How to Get Somebody Fired Using Git · · , ,
  109. An Interactive Guide to CSS Container Queries · · , ,
  110. Infinite-Scrolling Logos in Flat HTML and Pure CSS · · , , , ,
  111. Authentication in Next.js · · ,
  112. Drawing a Line to Connect Elements With CSS Anchor Positioning · ·
  113. A Complete Guide for Content Creators to Start Making Accessible Content · · , ,
  114. Bun 1.1 · · ,
  115. Micro Frontends with Native Federation · · ,
  116. What Even Is a JSON Number? · · ,
  117. 14 Top UX Tools for Designers in 2024 · · , ,
  118. The Detail, the Quality · · ,
  119. Why I Care Deeply About Web Accessibility and You Should Too · · ,
  120. Latest WebAIM’s Million—Some Thoughts · ·
  121. The DevOps Basics · · ,
  122. Kobold Letters · · , ,
  123. Why I Use Node, Deno, Bun, [QuickJS], [txiki.js] at the Same Time · · , , ,
  124. 10 JavaScript Sites Every Web Developer Should Know · · , ,
  125. Object Structure in JavaScript Engines · · , ,
  126. Design Is a Process of Getting Stuck · · ,
  127. The Easy Way to Access the Last JavaScript Array Element · · ,
  128. The WebAIM Million: The 2024 Report on the Accessibility of the Top 1,000,000 Home Pages · · , , ,
  129. What Negative Effects Does a Bad Website Design Have on My Business? · · ,
  130. Front-End Development’s Identity Crisis · ·
  131. Figma Plugins · ·
  132. On “disabled” and “aria-disabled” Attributes · · , ,
  133. The Power of “:has()” in CSS · · ,
  134. The Curious Case of the CSS Monochrome Media Query · · ,
  135. “@ scope” Is Coming to CSS and It’s Amazing · · , ,
  136. Release Notes for Safari Technology Preview 191 · · , , ,
  137. Improving the Developer Experience of Enterprise Design Systems · · , ,
  138. History of JS Interop in Dart · · , , ,
  139. The Complete Guide to Captioned Videos · · , , ,
  140. New to the Web Platform in March · · , , , , , , , ,
  141. CSS Color-Scheme-Dependent Colors With “light-dark()” · · , , ,
  142. A Guide to Building CLI Tools in JavaScript · · , , , ,
  143. What’s New in DevTools, Chrome 124 · · , , , ,
  144. Iterator Helpers · · , ,
  145. Meet Angular’s New “output()” API · · ,
  146. In-App Browsers Are Still a Privacy, Security, and Choice Problem · · , , ,
  147. Flickering Glowing Text Effect With CSS · · ,
  148. What Even Are Dragging Movements? · · ,
  149. How to Take Control of Flexbox · · , ,
  150. CSS Anchor Positioning · ·
  151. How to Use jQuery’s “ajax()” Function for Asynchronous HTTP Requests · · , ,
  152. Quick Tip: How to Align Column Rows With CSS Subgrid · · , , ,
  153. What You Need to Know About Modern CSS (Spring 2024 Edition) · · ,
  154. Node v20.12.0 (LTS) · · ,
  155. Convention over Creativity? The Ups and Downs of UX Design · · ,
  156. Exploring the Power of ARIA Live Attribute in Web Accessibility · · ,
  157. Be Flexible About What People Need (and Don’t Assume) · ·
  158. Animating Clip Paths on Scroll With “@ property” in CSS · · , ,
  159. History of Web Accessibility · · , ,
  160. Setting and Persisting Color Scheme Preferences With CSS and a “Touch” of JavaScript · · , , ,
  161. Error Messages 101 · · , , ,
  162. 7 Simple Rules for Better Data Visualization · ·
  163. How to Consolidate Multiple Design Systems · · ,
  164. Spicing Up Text With “text-emphasis” in CSS · · , ,
  165. Diving into the Node.js Website Redesign · · ,
  166. JavaScript Visualized: Promise Execution · · ,
  167. Incredible JavaScript Animation Libraries · · , , ,
  168. No One Actually Wants Accessibility · ·
  169. Radix Themes 3.0 · · ,
  170. ARIA “role="application"” and Mobile Screen Readers · · , , , , ,
  171. Profile Node.js Performance With the Performance Panel · · , , , , , ,
  172. Learn OAuth 2.0 by Building Your Own OAuth Client · · ,
  173. Accessible Forms With Pseudo Classes · · , , ,
  174. CSS Values and Units Module Level 3 · · ,
  175. The “Current Branch” in Git · ·
  176. Node.js TSC Confirms: No Intention to Remove npm from Distribution · · ,
  177. CAPTCHA Excludes Disabled Web Users · · ,
  178. 12 Figma Tips to Work More Efficiently · · , ,
  179. Quick Tip: How to Add Gradient Effects and Patterns to Text · · , , , ,
  180. Don’t Get Scammed by Fake Performance Experts and Apps · · ,
  181. Going Beyond Pixels and (r)ems in CSS—Absolute Length Units · · ,
  182. The Cost of Interrupted Work: More Speed and Stress · · , ,
  183. Optimizing JavaScript for Fun and for Profit · · ,
  184. Node.js: The Documentary · · , ,
  185. How to Test 3.3.8 Accessible Authentication (Minimum) · · , , ,
  186. On the Gift of OKR for Company Culture · · ,
  187. Building a Micro htmx SSR Framework · · , ,
  188. This Pattern Will Wreck Your React App’s TS Performance · · , , ,
  189. Welcome to Future of Web Accessibility Based on Predictors · · , ,
  190. [Bulma] 1.0.0 · · ,
  191. “__dirname” Is Back in Node.js With ES Modules · · , ,
  192. On Popover Accessibility: What the Browser Does and Doesn’t Do · · , ,
  193. Aesthetic Layouts: 2 Column Magazine With “shape-outside” · · , ,
  194. How to Create a Website and a PDF from the Same Codebase · · , ,
  195. How to Plan Your First Successful Website · · ,
  196. Psychology and UX: Decoding the Science Behind User Clicks · · , ,
  197. Folder Structures in React Projects · · ,
  198. The Box Model and Box Sizing · · ,
  199. Progressive Disclosure Defaults · · , ,
  200. Build a Full-Stack App With Node.js and htmx · · , ,
  201. Chill Scroll Snapping: Article Headers · · ,
  202. Using Relative Colors · · ,
  203. Empowering the User Experience Through Microinteractions: 7 Best Practices · · , ,
  204. Accessibility Foundations · · , ,
  205. Build a Node App With TypeScript · · , , ,
  206. Comparing ECMAScript Modules and CommonJS · · , ,
  207. The Power of Textual Content in UX Design · · ,
  208. A Designer’s Role Is Not “at the Table” · · ,
  209. I’m So Old: Web Edition · · ,
  210. “require(esm)” in Node.js · · , ,
  211. How to Kill the Cascade · · , , ,
  212. A Comparison of JavaScript CRDTs · · , ,
  213. How Web-Site Design and Social Media Work Together · · , ,
  214. Oh Sh*t, My App Is Successful and I Didn’t Think About Accessibility · ·
  215. 2024 Cheat Sheet Collection · · ,
  216. Time to Ditch Analytics? Tracking Scripts and Web Sustainability · · , , , ,
  217. Why UI Designers Should Understand Flexbox and CSS Grid · · , ,
  218. Copy Objects Ways in JavaScript · · ,
  219. Migrating Away from Jest and Achieving over 90% Reduction in Running Time · · , , , ,
  220. How Web Bloat Impacts Users With Slow Devices · · , , ,
  221. Homepage Design: 5 Fundamental Principles · · ,
  222. Skeuomorphism · · ,
  223. Quick Tip: Creating a Date Picker in React · · , ,
  224. How (In)Efficient Are Engineering Organizations? · · , ,
  225. Make Your Functions More Reusable With Generics · · , ,
  226. Performance Tooling in 2024 and Beyond · · , , , ,
  227. There Is No EU Cookie Banner Law · · , ,
  228. What Is Safe Alignment in CSS? · · , ,
  229. Arguments for Opening Links in a New Tab or Window · · ,
  230. The Golden Age of Accessibility · ·
  231. When “Semantic Tokens” Are No Longer Semantic · · ,
  232. Qwik vs. Next.js: Which Framework Is Right for Your Next Web Project? · · , , ,
  233. 25 Unnoticeable Features of JavaScript · ·
  234. Ruby Is Complicated · ·
  235. You Want “border-color: transparent”, Not “border: none” · · ,
  236. The Problem With AI · ·
  237. WCAG 2.2 Detective Skills · · , ,
  238. Another JS Registry—Seriously?! · · , , ,
  239. What’s Next for a Global Design System · ·
  240. The Problem With Data-Attributes for Text Effects · · , , ,
  241. A Beginner’s Guide to Node.js Worker Threads · · , ,
  242. Refactoring My Ugliest Code With Signal View Queries · · , ,
  243. My New Favorite CSS Trick: “will-change” · · , , ,
  244. 5 Exciting New JavaScript Features in 2024 · ·
  245. A Letter to My Younger Self, as an Accessibility Advocate · · ,
  246. Building Websites and Building Websites Well · · , ,
  247. Interaction to Next Paint Is Officially a Core Web Vital · · ,
  248. The “10× Engineer”: 50 Years Ago and Now · · , , ,
  249. Thoughts on Embedding Alternative Text Metadata into Images · · , ,
  250. Marking the Web’s 35th Birthday: An Open Letter · · ,