Frontend Dogma

News and Tools for Frontend Development (20)

(Stay up-to-date on all topics by RSS feed or on Mastodon.)

  1. Let’s Get Logical (by) · · ,
  2. The Rise of the TikTok Pattern (by/via) · · ,
  3. Total Blocking Time: A Short and Sweet Guide for Happier Users (by/via) · · ,
  4. Why Are Vanity Metrics Still Problematic? (via) · ·
  5. Why the Number Input Is the Worst Input (by/via) · · , , ,
  6. Invalid CSS (by) · · ,
  7. Designing for People With Cognitive Disabilities and Everyone Else (by/via) · · , ,
  8. I Never Thought This Would Be Possible With CSS (by) · · , ,
  9. How to Substantially Slow Down Your Node.js Server (via) · · , ,
  10. Buttons and the Baader–Meinhof Phenomenon (by) · · ,
  11. 7 Must Know JavaScript Tips and Tricks (by) · · ,
  12. Five Things You Can Do to Be More Inclusive (by) · · ,
  13. 3 Problems Scrum Doesn’t Solve (by/via) · · , ,
  14. A Guide to Rounding Numbers in JavaScript (by/via) · · ,
  15. Container Queries in Browsers! (by) · · , ,
  16. JavaScript APIs You Don’t Know About (by/via) · · ,
  17. The State of Digital Accessibility: Three Key Challenges (by/via) · · , ,
  18. W3C TAG Ethical Web Principles (by) · · , ,
  19. When Is It OK to Disable Text Selection? (by/via) · · , ,
  20. On Better Browsers: Arbitrary Media Queries and Browser UIs (by) · · , ,
  21. Quick Tip: Embedding YouTube Videos in GitHub Pages (by) · · , , ,
  22. Secure Your Node.js App With JSON Web Tokens (by/via) · · , ,
  23. Better Accessible Names (by) · · ,
  24. Conditionally Spreading Objects in JavaScript (by) · · ,
  25. Disability Is Not a Dirty Word (by) · · ,
  26. Wtf Is an Island and Why Is It in My Website? (by) · · , , ,
  27. Detecting CSS Selector Support (by/via) · · , , ,
  28. Intrinsic CSS With Container Queries and Units (by/via) · · , , ,
  29. PureComponents vs. Functional Components With Hooks (by) · · , ,
  30. The Power of CSS Blend Modes (by/via) · · ,
  31. Node.js Native Binary Compilation Using Vercel pkg (by/via) · · ,
  32. Making Sense of WAI-ARIA: A Comprehensive Guide (by/via) · · , , ,
  33. What Is Data Engineering? (by) · · ,
  34. The Basics of Remix (by/via) · · , ,
  35. First Batch of Color Fonts Arrives on Google Fonts (by/via) · · , , ,
  36. Best Practices for Creating a Modern npm Package (by/via) · · ,
  37. Nuclear Footnotes (by) · · ,
  38. When Life Gives You Lemons, Write Better Error Messages (by/via) · · ,
  39. Which Fonts to Use for Your Charts and Tables (by/via) · · , ,
  40. The “details” and “summary” Elements, Again (by) · · ,
  41. My Five Biggest Design System Mistakes (by) · · ,
  42. Justin Yarbrough Talks About Alt Text (by/via) · · , , ,
  43. The Seventh Way to Call a JavaScript Function Without Parentheses (by/via) · · ,
  44. 2022: 0 of the Global Top 100 Websites Use Valid HTML (by) · · , , ,
  45. Antipersonas: What, How, Who, and Why? (via) · · ,
  46. Mastering DOM Manipulation With Vanilla JavaScript (by) · · ,
  47. Mastering These 7 Basics CSS Skills Will Make You a Frontend Wizard (by) · · ,
  48. Your Next.js Bundle Will Thank You (by) · · , ,
  49. Converting PNG Images to WebP Using PHP (by) · · , , , ,
  50. Make It Short—Make It Better (by) · · ,
  51. A Guide to Choosing the Right React State Management Solution (by/via) · · , ,
  52. CSS “line-height” (by) · · ,
  53. How I Made a Pure CSS Puzzle Game (by/via) · ·
  54. How to Monitor a Next.js Application (via) · · , ,
  55. Keeping Your CSS Small: Scopes, Containers, and Other New Stuff (by/via) · · , , ,
  56. Button Minimum Width (by/via) · · ,
  57. Node Version Manager—nvm Install Guide (by/via) · · ,
  58. Lightning CSS (by/via) · · , ,
  59. Text Is the Universal Interface (by/via) · ·
  60. Towards a Factory Model of Designing User Interfaces—Slotted Systems in Figma (by/via) · · , ,
  61. What’s New With Forms in 2022? (by/via) · · , ,
  62. 12 Modern UI Components to Inspire Your Future Designs (by) · · ,
  63. Me and React: 5 Years in 15 Minutes (by) · ·
  64. A Quick Primer on Testing JavaScript (by) · · , ,
  65. Dependabot Unlocks Transitive Dependencies for npm Projects (via) · · , ,
  66. Building the Main Navigation for a Website (by/via) · · , ,
  67. Are Modals in Web Design a UX Disaster? (via) · · , , ,
  68. WCAG 2.2 Hits Candidate Recommendation—but What Does It Mean? (by/via) · · ,
  69. Detect When Users Switch Tabs Using JavaScript (by) · ·
  70. Rewriting Tests From Cypress to Playwright Using GPT3 (by/via) · · , , , , ,
  71. An Overview of Node.js: Architecture, APIs, Event Loop, Concurrency (by) · · , , , , , ,
  72. How Your Favourite UI Libraries Manage Their Icons (by/via) · · , , ,
  73. A Whole Cascade of Layers (by) · · ,
  74. An Attempt at Outlining the Many Factors Influencing Developer Experience (by) · ·
  75. Hacking CSS Animation State and Playback Time (by/via) · · ,
  76. So Your Designer Wants Stuff to Overlap (by) · · ,
  77. W3C Accessibility Maturity Model (by+/via) · · ,
  78. Rewrite Your Git History in 4 Friendly Commands (by) · · ,
  79. How to Improve Largest Contentful Paint for Faster Load Times (by/via) · · , , ,
  80. Introducing Signals (via) · · , ,
  81. How to Build Event-Driven Architecture on AWS? (by/via) · · , , ,
  82. Critical CSS? Not So Fast! (by) · · ,
  83. The Realities and Myths of Contrast and Color (via) · · , , ,
  84. 5 Reasons to Invest in User Experience (via) · ·
  85. Dreamy Blur (by) · · , ,
  86. Top 5 Technology Trends in UX Design (via) · · , ,
  87. Understanding Regulatory Compliance and Making It Work on Your Web Site (by/via) · · ,
  88. Getting Started With MathML (via) · · ,
  89. A/B Testing in 7 Steps to Quickly Improve Your Conversions (by/via) · · , ,
  90. HTML Markup Tips for Developing Accessible Websites (by/via) · · , ,
  91. The Art of Writing Secrets: Encryption for JavaScript Developers (by/via) · · ,
  92. A Beginner’s Guide to Design Tokens (by/via) · · ,
  93. A Content Warning Component (by) · · , ,
  94. Infinite Scrolling: When to Use It, When to Avoid It (by/via) · · , ,
  95. Prestige Is the Designer’s Achilles’ Heel (via) · ·
  96. Git Cheatsheet · · , ,
  97. Disabled JavaScript Turns Off Native Lazy Loading (by) · · , , ,
  98. Dear Oracle, Please Release the JavaScript Trademark (by) · · ,
  99. Is It “:modal”? (by/via) · · , ,
  100. Focus Appearance Explained (by) · · , , ,
  101. The Accessibility and Usability Journey of Drupal’s Primary Navigation (by/via) · · , ,
  102. Big O Notation Basics Made Dead Simple (by) · · ,
  103. What Is a Webmention and How Do I Use It in WordPress? (by/via) · · ,
  104. Accessible Lists and Tables (via) · · , ,
  105. Default Exports in JavaScript Modules Are Terrible (by) · ·
  106. Is Design Thinking Overhyped? (via) · ·
  107. Useful JavaScript Data Grid Libraries (by/via) · · , , ,
  108. Don’t Overwrite Visual Labels With “aria-label” (by) · · , ,
  109. Comparing JAWS, NVDA, and VoiceOver (via) · · , , , , , , , ,
  110. DevTools Tips: How to Inspect and Debug CSS Flexbox (via) · · , , , , , ,
  111. How I Maintain OSS Projects (by) · · ,
  112. Small Steps: Celebrating Four Accessibility Wins (by/via) · · ,
  113. Neutrality Isn’t an Option When It Comes to Accessibility (by) · ·
  114. 4 Ways to Minimize Your Dependencies in Node.js (by/via) · · , ,
  115. CSS Container Queries Are Finally Here (by) · · ,
  116. Cypress Testing: A Guide to Running Web Application Tests (via) · · , ,
  117. Things Not Available When Someone Blocks All Cookies (by) · ·
  118. Understanding “useMemo” and “useCallback” (by) · · ,
  119. Interpolating Numeric CSS Variables (by/via) · · ,
  120. JavaScript Bugs Aplenty in Node.js Ecosystem—Found Automatically (by/via) · · , , , , , ,
  121. An Argument Against CSS Opacity (via) · · , , ,
  122. Communication Around Digital Accessibility Must Improve: How Users and Businesses Alike Are Failing to Advance Digital Accessibility (via) · · ,
  123. Parents Counting Children in CSS (by) · · ,
  124. What Makes A Great Toggle Button? II (via) · · ,
  125. Should I Use a Button or a Link? (by) · · , , ,
  126. Monitor Events and Function Calls via Console (by) · · , ,
  127. An Ideal REST API—Best Practices (by) · · ,
  128. The Three Laws of Utility Classes (by) · · ,
  129. Be Good-Argument-Driven, Not Data-Driven (by) · · ,
  130. On Design System Support (by) · ·
  131. Using Grid Named Areas to Visualize (and Reference) Your Layout (by/via) · · ,
  132. What Is Closed Captioning? (by/via) · · , ,
  133. Making a Twitter Bot in the Year 2022 With Node.js (by) · · ,
  134. Modern Alternatives to BEM (by) · · , , , ,
  135. CSS Classes Considered Harmful (by) · · ,
  136. Implementing Promisable “setTimeout” (by) · ·
  137. Installing and Running Node.js Bin Scripts (by) · · ,
  138. Short Note on “figure” and “figcaption” (by) · · ,
  139. Why Your Website Should Be Under 14 kB in Size · · ,
  140. Designing Better Error Messages UX (by/via) · · , , ,
  141. Complex Conditional Width Using “flex-basis” With “clamp” (by/via) · ·
  142. 20 Principles I Learned From 10 Years of Developing Software (by) · ·
  143. The Design Principle Paradox (by/via) · · ,
  144. What Is a REST API? (by/via) · · ,
  145. Why Every University Needs an Accessible Standard Website Template (via) · · , ,
  146. Creative List Styling (by/via) · · ,
  147. TIL: You Can Access a User’s Camera With Just HTML (by) · · ,
  148. Accessibility and Supporting Internet Explorer (by/via) · · , , , ,
  149. Measure What You Impact, Not What You Influence (by) · · , ,
  150. What Customer-First Web Design Looks Like (via) · · ,
  151. Exploring the Underrated “output” Element (by) · ·
  152. A Handy Use for Cascade Layers (by/via) · · ,
  153. What’s the Value of a Design System? (by+/via) · · ,
  154. Scaling SCM Front-End Design With a Design System (by+/via) · · ,
  155. Does Accessibility Stifle the Creative Process? (via) · · , ,
  156. How to Use localStorage in JavaScript: An Easy Guide (by/via) · · , , ,
  157. 8 Tricks for SVG Optimization (by/via) · · , , ,
  158. Advanced TypeScript Patterns: API Contracts · · ,
  159. Class-Less CSS Frameworks (by) · · , , ,
  160. Conducting an Effective Web-Site UX Audit (via) · · ,
  161. Design Systems: Prototyping on Steroids (by/via) · · ,
  162. Prepare for WCAG 2.2 and Beyond (by/via) · · , , ,
  163. What Makes a Great Toggle Button? (via) · · ,
  164. Why User Personas Matter in UX Design (by/via) · · , , ,
  165. Meet the Top Layer: A Solution to “z-index:10000” (by/via) · ·
  166. Bring Focus to the First Form Field With an Error (by) · · , ,
  167. CSS Grid and Custom Shapes II (by/via) · · ,
  168. Mac VoiceOver Testing the Simple Way (by/via) · · , , , , , ,
  169. Learn 5 Optimization Tips for Webpack Step by Step (via) · · , ,
  170. A Guide to Using User-Experience Research Methods (by/via) · · , ,
  171. You’re Not Using HTTP Status Codes Right (by) · · ,
  172. A Simple “clamp()” Function in PHP (by) · · ,
  173. React Query vs. SWR (by) · · , , ,
  174. Scaling a System (by) · · ,
  175. An Introduction to Context Propagation in JavaScript (by/via) · · ,
  176. Optimize Data Fetching (by) · · ,
  177. When Do You Use CSS Columns? (by/via) · · ,
  178. Using “:has()” as a CSS Parent Selector and Much More (by/via) · · ,
  179. Use the Right Container Query Syntax (by/via) · · ,
  180. Inclusion Beats Optimization (by) · · , ,
  181. Dependency Injection in JS/TS (via) · · ,
  182. How the CSS “:is”, “:where”, and “:has” Pseudo-Class Selectors Work (by/via) · · ,
  183. Outline Is Your Friend (by) · · ,
  184. Can Browsers Optimize the Loading of Third-Party Resources? (by/via) · · , ,
  185. Better Conditionals in CSS Media Queries With Range Syntax (by) · · ,
  186. React Re-Renders Guide: Preventing Unnecessary Re-Renders (by) · · , ,
  187. Color and Contrast (by) · · , , ,
  188. Why React Re-Renders (by) · · ,
  189. Introduction to Screen Readers (Desktop Edition) (by+/via) · · , , , , , ,
  190. Designing a Better Back Button UX (by/via) · · , ,
  191. Building Accessible Select Components in React (by/via) · · , , ,
  192. Table Column Alignment With Variable Transforms (by) · · , ,
  193. CSS Grid and Custom Shapes (by/via) · · ,
  194. Check Heading Accessibility Using the WAVE Tool (via) · · , , , , ,
  195. Top 9 Ways to Become a Successful Self-Taught Developer (by) · · ,
  196. Accessible User Experience and A/B Testing · · , , ,
  197. Tip: Use “fetchpriority=high” to Load Your LCP Hero Image Sooner (by) · · , ,
  198. What Was That Media Query Code Again? (by) · · , ,
  199. 5 Modern CLI Tools That Help Boost Your Productivity (by) · · ,
  200. Automation and Accessibility—What You Need to Know (by) · · , ,
  201. If You’re Not Checking, You’re Guessing (by/via) · · ,
  202. On Ratings and Meters (by) · · , ,
  203. Creative CSS Layout (by/via) · · , , ,
  204. (Re-)Introducing Gatsby, a Reactive Site Generator (by/via) · · , , , , ,
  205. An Introduction to Constraint Based Design Systems (by) · · ,
  206. The Console API (by) · · , ,
  207. Websites: Past and Present (by/via) · · , ,
  208. Custom Event Naming Conventions (by) · · , ,
  209. Modern CSS Selectors (by/via) · · ,
  210. TypeScript vs. JavaScript: Which One You Should Use, and Why (by/via) · · , ,
  211. Do You Know About “overflow: clip”? (by) · ·
  212. TypeScript: It’s Not Actually Validating Your Types · · ,
  213. Results of Quick Testing of Documentation Tools’ Accessibility (by) · · , ,
  214. How and Why We Removed jQuery From GOV.UK (via) · · , ,
  215. Designing for Long-Form Articles (by/via) · · ,
  216. Here, Here, and Here (by) · ·
  217. Accessibility Is Writing (by) · · ,
  218. Core Web Vitals Tools to Boost Your Web Performance Scores (by/via) · · , ,
  219. Defining “Integration” Tests (by) · ·
  220. Brief Note on Calendar Tables (by) · · , ,
  221. How to Research Components and Patterns: Common Challenges and How to Overcome Them (by/via) · · , ,
  222. Code Golfing Tips and Tricks: How to Minify Your JavaScript Code (by/via) · · , , ,
  223. SEO Links Obfuscation and Accessibility Problems (by) · · , , ,
  224. The Death of Mozilla Is the Death of the Open Web (by) · · ,
  225. Zooming Images in a Grid Layout (by/via) · · ,
  226. The JavaScript Paradox (by/via) · ·
  227. Dark Mode With Design Tokens (by/via) · · ,
  228. No Demo [Website] Reno (by) · · ,
  229. 5 Good Practices to Scale Your React Projects Easily (by) · · , ,
  230. Bringing Perspective to CSS (by) · ·
  231. Capturing Images and Videos From the Camera of Mobile Devices Using HTML (by) · · , ,
  232. The Infinite Marquee (by) · · , ,
  233. Polyhierarchy in Information Architecture (by/via) · · ,
  234. How I Added Scroll Snapping to My Twitter Timeline (by/via) · · , ,
  235. How to Use Multithreading in Node.js (by/via) · · , ,
  236. Light/Dark Mode (by) · · , , ,
  237. One-Dimensional Website Optimization Considered Harmful (by) · · ,
  238. What Are Best Practices for Creating Alt Text? (via) · · , , ,
  239. 5 Heading Accessibility Issues and How to Fix Them (via) · · , ,
  240. Not All Zeros Are Equal (by/via) · ·
  241. AI-Generated Images From AI-Generated Alt Text (by) · · , , ,
  242. Introducing the New npm Dependency Selector Syntax (via) · · ,
  243. “:has()”: The Family Selector (by/via) · · ,
  244. Migration From jQuery to Next.js: A Guide (by/via) · · , , ,
  245. One Year of Coding—Recommendations for Beginners From a Beginner (by/via) · · , ,
  246. Popular Node.js Patterns and Tools to Re-Consider (by/via) · · ,
  247. A Delightful Guide to Culture at Mamo (Inspired by Khalil Gibran) (by) · · , ,
  248. Making a Website Under 1 kB (by) · · , ,
  249. Introduction to SolidJS (by/via) · · ,
  250. Finer Grained Control Over CSS Transforms With Individual Transform Properties (by+/via) · ·

(Where are the remaining 2,258 entries? These are also available, but not to make this list of pages endless, from here on you need to explore the topic pages. For example, you can go by year—like 2022—or decade—as with the 1990s—to explore content from every available time.)