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. New to the Web Platform in February · · , , , , , , , ,
  2. Accessibility Has Failed: Try Generative UI = Individualized UX · · , , ,
  3. The Wax and the Wane of the Web · · ,
  4. Why Does “is-number” Package Have 59M Weekly Downloads? · · ,
  5. Apple vs. PWAs—Go Act Now and Help Avoid This Disaster… · · , ,
  6. An HTML Switch Control · · , ,
  7. Tumblr and WordPress to Sell Users’ Data to Train AI Tools · ·
  8. CSS Foundations: What Is IACVT? · ·
  9. CSS-Only Bottom-Anchored Scrolling Area · · ,
  10. CSS “:has()” Interactive Guide · · , ,
  11. WebAIM Screen Reader User Survey 10 · · , , ,
  12. My WebAIM 10th SR User Survey Takeaways · · , , ,
  13. CAPTCHA Is Still [the] Most Problematic Issue on the Web · · , ,
  14. Why My Code Isn’t in TypeScript · ·
  15. Building Dynamic Progress Bars Using Only CSS · ·
  16. htmx vs. React: A Complete Comparison · · , ,
  17. Vanilla JavaScript, Libraries, and the Quest for Stateful DOM Rendering · · , , ,
  18. UX Leadership Is Failing (and What We Can Do About It) · · ,
  19. JSR: What We Know So Far About Deno’s New JavaScript Package Registry · · , ,
  20. JavaScript Bloat in 2024 · · ,
  21. View Transitions: Handling Aspect Ratio Changes · · ,
  22. Release Notes for Safari Technology Preview 189 · · , , ,
  23. Node.js 2023 Year in an Article · · ,
  24. 10 Best Create React App Alternatives for Different Use Cases · · , , ,
  25. Making of True Multi-Brand Design System · · ,
  26. Syntax Highlighting With No Spans?! · · ,
  27. Design Patterns That Encourage Junk Data · · , , , ,
  28. Okay, Color Spaces · · ,
  29. CSS-Only Radial Progress Bars Using Conic Gradients · · , ,
  30. 100 Things You Can Do on Your Personal Website · · , ,
  31. 7 Effective Ways to Craft Compelling Problem Statements for UX Design · · , ,
  32. What Is Utility-First CSS? · · ,
  33. Fostering a Collaborative Onboarding Team to Design Better Onboarding Experiences · · , ,
  34. “Web Design as a Process” in Charts: Maintenance, Decay, Tech Debt, and Big Bang Launching · · , , , , ,
  35. How to Design an Accessible Web Site for People with Color-Deficient Vision · · , , , , ,
  36. Tailwind Marketing and Misinformation Engine · · , , , ,
  37. JavaScript Workers · · , ,
  38. JavaScript on Demand: How Qwik Differs from React Hydration · · , , , ,
  39. Understanding React “useEffect” · ·
  40. A Manifesto for Small, Static, Web Apps · · ,
  41. Popular Git Config Options · · ,
  42. It’s Official, Apple Kills Web Apps in the EU · · ,
  43. How to Set Up a Node Server With TypeScript in 2024 · · , , ,
  44. Be a Better Developer With These Git Good Practices · · , , , ,
  45. React Labs: What We’ve Been Working On—February 2024 · ·
  46. How I Developed the 10 Usability Heuristics · · , ,
  47. Getting to an Accessibility Strategy · · , ,
  48. A Dozen Thoughts About AI · ·
  49. ARIA “note” · · , , , , ,
  50. Top 20 JavaScript One-Liners That Don’t Actually Work · ·
  51. Wednesday February 14 2024 Security Releases · · , ,
  52. Scroll-Driven Animations: You Want “overflow: clip”, not “overflow: hidden” · · , ,
  53. How Accessibility Standards Can Empower Better Chart Visual Design · · , ,
  54. Input Type “date”: The Accessibility of HTML Date Picker · · ,
  55. The Text File That Runs the Internet · · , , ,
  56. Reasonable WCAG Additions · · ,
  57. When It Says “Name from Author” It Means from You, Not Boll or Bukowski · · , ,
  58. Why I Like Scrumban · · , , ,
  59. CSS Color Module Level 4 · · ,
  60. A Practical Guide to Designing for Children · · , ,
  61. How to Center a Div · · ,
  62. An Introduction to Node.js Multithreading · · , ,
  63. Advanced Architecture for AI Application (aka AAAA) · · , , ,
  64. How to Fix the Invisible Scrollbar Issue in iOS Browsers · · , , , ,
  65. Be Aware of Arrays—V8 Engine Advice · · , , ,
  66. The New CSS Math: “pow()”, “sqrt()”, and Exponential Friends · · , ,
  67. Learn TypeScript · · ,
  68. The Anatomy of Addictive Content · · , ,
  69. Can Generative AI Help Write Accessible Code? · · , ,
  70. A CSS Project Boilerplate · · , ,
  71. How to Boost WordPress Security and Protect Your SEO Ranking · · , , ,
  72. You Want to Make It Easy to Feature Your Content · · , ,
  73. Using Recursive CSS to Change Styles Based on Depth · · ,
  74. CSS Mixins and Functions Explainer · · ,
  75. Don’t Disable Form Controls · · , , ,
  76. Accelerating Code Reviews With Nudges · · , , ,
  77. HTML as the Baseline · · ,
  78. The Front-End Development We’re Used to Is Dying · · , ,
  79. Have We Forgotten How to Build Ethical Things for the Web? · · ,
  80. Everything You Need to Know About Image Formats in 2024 · · , , , , , ,
  81. Frequently Heard in My Beginning Front-End Web Development Class · · ,
  82. Node.js Community Debate Intensifies over Enabling Corepack by Default and Potentially Unbundling npm · · , , , ,
  83. In Its Tantrum With Europe, Apple Broke Web Apps in iOS 17 Beta, Still Hasn’t Fixed Them · · , , ,
  84. Git Tips: Really Large Repositories · · , ,
  85. Going Beyond Pixels and (r)ems in CSS—Relative Length Units Based on the Viewport · · ,
  86. The Accessibility Mindset: Moving Beyond Remediating, Fixing, and Reacting · · ,
  87. So You Think You Know Git · ·
  88. What Is a Descriptive Transcript? · · ,
  89. Is [“* { min-width: 0; }”] a Good Idea? · · ,
  90. Release Notes for Safari Technology Preview 188 · · , , ,
  91. Web Development Is Getting Too Complex, and It May Be Our Fault · · , , ,
  92. Opportunities for AI in Accessibility · · ,
  93. CSS Is Logical · ·
  94. Offloading JavaScript With Custom Properties · · , ,
  95. A Guide to Designing for Older Adults · · , ,
  96. Doing What’s Required: Indicating Mandatory Fields in an Accessible Way · · , , ,
  97. Lessons Learned Moving Eleventy from CommonJS to ESM in 2024 · · , , , , ,
  98. jQuery 4.0.0 Beta · · ,
  99. In Praise of the “switch” Statement · ·
  100. Malicious npm Package Masquerades as Noblox.js, Targeting Roblox Users for Data Theft · · , ,
  101. Remix Takes on Next.js in Battle of the React Frameworks · · , , ,
  102. Detect Caps Lock With JavaScript · ·
  103. Lines of Code—How to Not Measure Code Quality and Developer Efficiency · · , , ,
  104. JavaScript vs. Python: Which One Should You Learn First? · · , ,
  105. UI Elements Are Not So Elementary · · ,
  106. Designing User Onboarding: Lessons from Figma, Duolingo, and More · · , , , ,
  107. Immutable Array Updates With “Array.prototype.with” · · , , ,
  108. When to Use the “min()” or “max()” Function · · ,
  109. JavaScript Promises Demystified · · ,
  110. Bookmarklet: Load All GitHub Comments · · , ,
  111. Visual Hierarchy: Making User Experiences Easier to Understand · · ,
  112. Exciting New Tools for Designers, February 2024 · · , ,
  113. 13 Best Books, Courses, and Communities for Learning React · · , , ,
  114. The Most Demanded Frontend Frameworks in 2023 · · , , , ,
  115. How to Create Rounded Gradient Borders With Any Background in CSS · · , , , ,
  116. You Won’t Scale · · ,
  117. The Decision to Leave Tech · · ,
  118. Thoughts on a Global Design System · ·
  119. It’s the Hope That Kills You · · , ,
  120. Everything You Need to Know About Git · · ,
  121. Revolutionizing Usability Testing With Machine Learning · · , ,
  122. Getting into Web Components—an Intro · · ,
  123. “X” Marks the Spot: Landmark Elements · · , , , ,
  124. htmx Deep Dive With Carson Gross · · ,
  125. 5 Hidden Risks of Your Inaccessible Website · ·
  126. All Art Is a Copy of Something · ·
  127. SOLID Principles: They’re Rock-Solid for Good Reason · · ,
  128. From Many to One: Moving Our JavaScript Code into a Monorepo · · , , ,
  129. The Web Just Gets Better With Interop 2024 · · , , ,
  130. A Look at the New WAI-ARIA 1.3 Draft · · , ,
  131. A Complete Guide to Open Source—100× Simpler · · ,
  132. Career Retrospective · · ,
  133. How to Make a Great Framework Better?—Svelte 5 With Rich Harris · · , ,
  134. Drupal Creator: Websites Needed More Than Ever in the AI Era · · , ,
  135. Interop 2024 · · , , ,
  136. Dynamically Adding Text Alternatives to Images With AI · · , , ,
  137. Practice Safe DSD With “setHTMLUnsafe” (It’s Complicated) · · , , , ,
  138. 5 Essential DevTools Console Hacks for Every Web Developer · · , ,
  139. The Good, the Bad, the Web Components · · , ,
  140. PurePWA—a Radical U-Turn in Web Development · · , ,
  141. Tackling Flaky Tests With Cypress and Playwright Through Network Synchronization · · , , ,
  142. Implementing User Authentication in React Apps With Appwrite · · , ,
  143. Designing Accessible Color Palettes in Figma: A Guide for Web Accessibility · · , , , ,
  144. Be Purposeful About Your Content · · , ,
  145. How to Stream Files from Next.js Route Handlers · · , ,
  146. Interaction to Next Paint Becomes a Core Web Vital on March 12 · · , ,
  147. The Art and Science of Annotations in Dev Mode · ·
  148. Why Not htmx? · ·
  149. Making VPATs and ACRs More Effective in Procurement · · ,
  150. Onboarding · · , , ,
  151. Use CSS “accent-color” to Style Your Inputs · · ,
  152. Is Generated Code Harder to Maintain? · · , , ,
  153. Celebrate a More Interoperable Web With Interop 2023 · · , , ,
  154. Tuesday February 6 2024 Security Releases · · ,
  155. A Highly Configurable Switch Component Using Modern CSS Techniques · · ,
  156. New to the Web Platform in January · · , , , , , , , ,
  157. Understanding Signals in Django · · ,
  158. The Psychology of Site Speed and Human Happiness · · ,
  159. Stop Burning Out Maintainers: An Empathetic Guide for Contributors · · , ,
  160. Going Beyond Pixels and (r)ems in CSS—Relative Length Units Based on Font · · , ,
  161. Why Do Rubber Ducks Work? · · , ,
  162. Learn Testing · · ,
  163. “field-sizing” Just Works! · · , ,
  164. Debunking 10 Common Objections to Incremental Delivery for Software Teams · · ,
  165. The Web Component Success Story · ·
  166. Next.js App Router Migration: The Good, Bad, and Ugly · · , ,
  167. At Last, Browser Choice * · · , , ,
  168. The EU Forces Open Apple’s Walled Garden · · , , ,
  169. Express Forward · · , ,
  170. The Loss of the Process in the Name of Progress · · , , ,
  171. How to Favicon in 2024: Six Files That Fit Most Needs · · , ,
  172. Practical Guide to Destructuring: TypeScript vs. Dart · · , , ,
  173. A Guide to Styling Tables · · , ,
  174. Nicer Text Wrapping With CSS “text-wrap” · · ,
  175. Apple Redecorates Its iPhone Prison to Appease Europe · · , , ,
  176. Apple, the DMA, and Malicious Compliance · · , , ,
  177. Big, Beautiful, Beefy Focus States With “:focus-visible” · · ,
  178. Please, Don’t Force Me to Log In · · , ,
  179. Futuring With Design · · , ,
  180. The Impact of Developer Experience · · , ,
  181. Inside .git · ·
  182. 7 Tips for Devs and Designers to Set Your Accessibility Efforts Up for Success · · , ,
  183. 5 Web Design Disasters That Will Ruin Your 2024 · · , ,
  184. Mozilla Says Apple’s New Browser Rules Are “as Painful as Possible” for Firefox · · , , , ,
  185. Introducing Our Updated [Green Web Hosting] Directory · · , ,
  186. Overlays and Ethics: A Conference Panel That Hurt My Heart · · , , ,
  187. HTML Web Components on the Server Are Great · · ,
  188. Using Alternative Browser Engines in the European Union · · , , ,
  189. This Web Page Is Best Viewed in the EU · · , , , ,
  190. CSS Blurry Shimmer Effect · · ,
  191. Should Links Open in a New Tab? · · , ,
  192. A Day in the Life of a Developer—Building a Dashboard App With SQL, Node.js, Django, and Next.js · · , , , , ,
  193. Deno 1.40: Temporal API · · ,
  194. One World, One Web, One Love · ·
  195. The Largest Webshops in the Netherlands Remain Inaccessible for People With Visual and/or Motor Impairments · · , ,
  196. JWT vs. Session Authentication · · , , ,
  197. Animating Font Palette · · , , ,
  198. User Styles · · , ,
  199. Web Components in Earnest · · ,
  200. 14 Best SEO Tools in 2024 · · , ,
  201. Getting Started With Content Collections in Astro · · ,
  202. Release Notes for Safari Technology Preview 187 · · , , ,
  203. Five Future Roles for Designers · · , ,
  204. GitHub, npm Registry Abused to Host SSH Key-Stealing Malware · · , , ,
  205. What Can a Website Do? · · , ,
  206. The Structure of User Experience · · ,
  207. What Happened With the Web Monetization API? · ·
  208. On Web Components · ·
  209. Are Design Systems a Zero-Interest Rate Phenomenon? · · ,
  210. The New CSS Color Format You Didn’t Know You Needed; “oklch()” · · , , , ,
  211. Take a Qwik Break from React With Astro · · , , , ,
  212. Exploring the Bounds of Jamstack With Zach Leatherman · · , , ,
  213. The AI Dilemma in Graphic Design: Steering Towards Excellence in Typography and Beyond · · , ,
  214. Balancing Engineering Cultures: Debate Everything vs. Just Tell Me What to Build · · , , ,
  215. Unlocking the Power of HTML’s Native Browser “dialog” Element · · ,
  216. LCP and FCP on Single Page Application on Soft Navigations · · , , ,
  217. What Has a Ceiling but No Floor? · · , ,
  218. Highlight Text When a User Scrolls Down to That Piece of Text · · , ,
  219. What Is JSDoc and Why You May Not Need TypeScript for Your Next Project · · , ,
  220. Better Form UX With the CSS Property “field-sizing” · · , ,
  221. Modern JavaScript Library Starter · · , ,
  222. Check for “accesskey” and “aria-keyshortcuts” Bookmarklet · · , , ,
  223. Google Is Using AI to Organize and Customize Your Chrome Browser · · , , ,
  224. The Web Is Unversioned · · ,
  225. WebKit Features in Safari 17.3 · · , , , ,
  226. How a Web-Site Redesign Can Impact the Customer Journey · · ,
  227. Handling Environment Variables in Node.js · · ,
  228. 7 Mobile UX Design Tools to Supercharge Your Design Process · · , ,
  229. Layouts in Astro · ·
  230. Could Local SEO Transform Your User Experience? · · ,
  231. Repetition Avoidance · · , , ,
  232. Continuous Accessibility: What, Why, How · · , , ,
  233. How End-to-End Testing Moves Us Closer to Continuous Accessibility · · , ,
  234. Why I Don’t Care About Website/Blog Stats · · , ,
  235. Mind the Accessibility Gaps—Most of Accessibility Issues Originate in Design and How to Fix That · · , , ,
  236. What Is Our Design Intention? · · ,
  237. What Is CSS Motion Path? · · , ,
  238. The World’s Smallest PNG · · , ,
  239. The Bun Shell · · , ,
  240. A Call for Consensus on HTML Semantics · · ,
  241. Mastering Node CSV · · ,
  242. Under-Supported and Underpaid · · , , ,
  243. How Core Web Vitals Affect SEO · · , , ,
  244. 12 Modern CSS One-Line Upgrades · ·
  245. Modern CSS, the State of the Web, Safari’s Progress, and More! With Jen Simmons · · , , , , , ,
  246. Making CSS View Transitions Easy With Velvette · · , ,
  247. My Take on Fading Content Using Transparent Gradients in CSS · · ,
  248. Why Do Reflows Negatively Affect Performance? · · ,
  249. Astro 4.2 · · ,
  250. Deceptive Deprecation: The Truth About npm Deprecated Packages · · , , ,