Frontend Dogma

News and Tools for Frontend Development (20)

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

  1. Is It “:modal”? (by/via) · · , ,
  2. Focus Appearance Explained (by) · · , , ,
  3. The Accessibility and Usability Journey of Drupal’s Primary Navigation (by/via) · · , ,
  4. Big O Notation Basics Made Dead Simple (by) · · ,
  5. What Is a Webmention and How Do I Use It in WordPress? (by/via) · · ,
  6. Accessible Lists and Tables (via) · · , ,
  7. Default Exports in JavaScript Modules Are Terrible (by) · ·
  8. Is Design Thinking Overhyped? (via) · ·
  9. Useful JavaScript Data Grid Libraries (by/via) · · , , ,
  10. Don’t Overwrite Visual Labels With “aria-label” (by) · · , ,
  11. Comparing JAWS, NVDA, and VoiceOver (via) · · , , , , , , , ,
  12. How I Maintain OSS Projects (by) · · ,
  13. DevTools Tips: How to Inspect and Debug CSS Flexbox (via) · · , , , , , ,
  14. Small Steps: Celebrating Four Accessibility Wins (by/via) · · ,
  15. Neutrality Isn’t an Option When It Comes to Accessibility (by) · ·
  16. 4 Ways to Minimize Your Dependencies in Node.js (by/via) · · , ,
  17. CSS Container Queries Are Finally Here (by) · · ,
  18. Cypress Testing: A Guide to Running Web Application Tests (via) · · , ,
  19. Things Not Available When Someone Blocks All Cookies (by) · ·
  20. Understanding “useMemo” and “useCallback” (by) · · ,
  21. Interpolating Numeric CSS Variables (by/via) · · ,
  22. JavaScript Bugs Aplenty in Node.js Ecosystem—Found Automatically (by/via) · · , , , , , ,
  23. An Argument Against CSS Opacity (via) · · , , ,
  24. Communication Around Digital Accessibility Must Improve: How Users and Businesses Alike Are Failing to Advance Digital Accessibility (via) · · ,
  25. Parents Counting Children in CSS (by) · · ,
  26. What Makes A Great Toggle Button? II (via) · · ,
  27. Should I Use a Button or a Link? (by) · · , , ,
  28. Monitor Events and Function Calls via Console (by) · · , ,
  29. The Three Laws of Utility Classes (by) · · ,
  30. An Ideal REST API—Best Practices (by) · · ,
  31. Be Good-Argument-Driven, Not Data-Driven (by) · · ,
  32. On Design System Support (by) · ·
  33. Using Grid Named Areas to Visualize (and Reference) Your Layout (by/via) · · ,
  34. What Is Closed Captioning? (by/via) · · , ,
  35. Making a Twitter Bot in the Year 2022 With Node.js (by) · · ,
  36. Modern Alternatives to BEM (by) · · , , , ,
  37. CSS Classes Considered Harmful (by) · · ,
  38. Implementing Promisable “setTimeout” (by) · ·
  39. Installing and Running Node.js Bin Scripts (by) · · ,
  40. Short Note on “figure” and “figcaption” (by) · · ,
  41. Why Your Website Should Be Under 14 kB in Size · · ,
  42. Designing Better Error Messages UX (by/via) · · , , ,
  43. Complex Conditional Width Using “flex-basis” With “clamp” (by/via) · ·
  44. 20 Principles I Learned From 10 Years of Developing Software (by) · ·
  45. The Design Principle Paradox (by/via) · · ,
  46. What Is a REST API? (by/via) · · ,
  47. Why Every University Needs an Accessible Standard Website Template (via) · · , ,
  48. Creative List Styling (by/via) · · ,
  49. TIL: You Can Access a User’s Camera With Just HTML (by) · · ,
  50. Accessibility and Supporting Internet Explorer (by/via) · · , , , ,
  51. Measure What You Impact, Not What You Influence (by) · · , ,
  52. What Customer-First Web Design Looks Like (via) · · ,
  53. Exploring the Underrated “output” Element (by) · ·
  54. A Handy Use for Cascade Layers (by/via) · · ,
  55. What’s the Value of a Design System? (by+/via) · · ,
  56. Scaling SCM Front-End Design With a Design System (by+/via) · · ,
  57. Does Accessibility Stifle the Creative Process? (via) · · , ,
  58. How to Use localStorage in JavaScript: An Easy Guide (by/via) · · , , ,
  59. 8 Tricks for SVG Optimization (by/via) · · , , ,
  60. Advanced TypeScript Patterns: API Contracts · · ,
  61. Class-Less CSS Frameworks (by) · · , , ,
  62. Conducting an Effective Web-Site UX Audit (via) · · ,
  63. Design Systems: Prototyping on Steroids (by/via) · · ,
  64. Prepare for WCAG 2.2 and Beyond (by/via) · · , , ,
  65. What Makes a Great Toggle Button? (via) · · ,
  66. Why User Personas Matter in UX Design (by/via) · · , , ,
  67. Meet the Top Layer: A Solution to “z-index:10000” (by/via) · ·
  68. Bring Focus to the First Form Field With an Error (by) · · , ,
  69. CSS Grid and Custom Shapes II (by/via) · · ,
  70. Mac VoiceOver Testing the Simple Way (by/via) · · , , , , , ,
  71. Learn 5 Optimization Tips for Webpack Step by Step (via) · · , ,
  72. A Guide to Using User-Experience Research Methods (by/via) · · , ,
  73. You’re Not Using HTTP Status Codes Right (by) · · ,
  74. A Simple “clamp()” Function in PHP (by) · · ,
  75. React Query vs. SWR (by) · · , , ,
  76. Scaling a System (by) · · ,
  77. An Introduction to Context Propagation in JavaScript (by/via) · · ,
  78. Optimize Data Fetching (by) · · ,
  79. When Do You Use CSS Columns? (by/via) · · ,
  80. Inclusion Beats Optimization (by) · · , ,
  81. Using “:has()” as a CSS Parent Selector and Much More (by/via) · · ,
  82. Use the Right Container Query Syntax (by/via) · · ,
  83. Dependency Injection in JS/TS (via) · · ,
  84. How the CSS “:is”, “:where”, and “:has” Pseudo-Class Selectors Work (by/via) · · ,
  85. Outline Is Your Friend (by) · · ,
  86. Can Browsers Optimize the Loading of Third-Party Resources? (by/via) · · , ,
  87. Better Conditionals in CSS Media Queries With Range Syntax (by) · · ,
  88. React Re-Renders Guide: Preventing Unnecessary Re-Renders (by) · · , ,
  89. Color and Contrast (by) · · , , ,
  90. Why React Re-Renders (by) · · ,
  91. Introduction to Screen Readers (Desktop Edition) (by+/via) · · , , , , , ,
  92. Designing a Better Back Button UX (by/via) · · , ,
  93. Building Accessible Select Components in React (by/via) · · , , ,
  94. Table Column Alignment With Variable Transforms (by) · · , ,
  95. CSS Grid and Custom Shapes (by/via) · · ,
  96. Check Heading Accessibility Using the WAVE Tool (via) · · , , , , ,
  97. Top 9 Ways to Become a Successful Self-Taught Developer (by) · · ,
  98. Accessible User Experience and A/B Testing · · , , ,
  99. Tip: Use “fetchpriority=high” to Load Your LCP Hero Image Sooner (by) · · , ,
  100. What Was That Media Query Code Again? (by) · · , ,
  101. 5 Modern CLI Tools That Help Boost Your Productivity (by) · · ,
  102. Automation and Accessibility—What You Need to Know (by) · · , ,
  103. If You’re Not Checking, You’re Guessing (by/via) · · ,
  104. On Ratings and Meters (by) · · , ,
  105. Creative CSS Layout (by/via) · · , , ,
  106. (Re-)Introducing Gatsby, a Reactive Site Generator (by/via) · · , , , , ,
  107. An Introduction to Constraint Based Design Systems (by) · · ,
  108. The Console API (by) · · , ,
  109. Websites: Past and Present (by/via) · · , ,
  110. Custom Event Naming Conventions (by) · · , ,
  111. Modern CSS Selectors (by/via) · · ,
  112. TypeScript vs. JavaScript: Which One You Should Use, and Why (by/via) · · , ,
  113. Do You Know About “overflow: clip”? (by) · ·
  114. TypeScript: It’s Not Actually Validating Your Types · · ,
  115. Results of Quick Testing of Documentation Tools’ Accessibility (by) · · , ,
  116. How and Why We Removed jQuery From GOV.UK (via) · · , ,
  117. Designing for Long-Form Articles (by/via) · · ,
  118. Here, Here, and Here (by) · ·
  119. Accessibility Is Writing (by) · · ,
  120. Core Web Vitals Tools to Boost Your Web Performance Scores (by/via) · · , ,
  121. Defining “Integration” Tests (by) · ·
  122. Brief Note on Calendar Tables (by) · · , ,
  123. How to Research Components and Patterns: Common Challenges and How to Overcome Them (by/via) · · , ,
  124. Code Golfing Tips and Tricks: How to Minify Your JavaScript Code (by/via) · · , , ,
  125. SEO Links Obfuscation and Accessibility Problems (by) · · , , ,
  126. The Death of Mozilla Is the Death of the Open Web (by) · · ,
  127. Zooming Images in a Grid Layout (by/via) · · ,
  128. The JavaScript Paradox (by/via) · ·
  129. Dark Mode With Design Tokens (by/via) · · ,
  130. No Demo [Website] Reno (by) · · ,
  131. 5 Good Practices to Scale Your React Projects Easily (by) · · , ,
  132. Bringing Perspective to CSS (by) · ·
  133. Capturing Images and Videos From the Camera of Mobile Devices Using HTML (by) · · , ,
  134. The Infinite Marquee (by) · · , ,
  135. Polyhierarchy in Information Architecture (by/via) · · ,
  136. How I Added Scroll Snapping to My Twitter Timeline (by/via) · · , ,
  137. How to Use Multithreading in Node.js (by/via) · · , ,
  138. Light/Dark Mode (by) · · , , ,
  139. One-Dimensional Website Optimization Considered Harmful (by) · · ,
  140. What Are Best Practices for Creating Alt Text? (via) · · , , ,
  141. 5 Heading Accessibility Issues and How to Fix Them (via) · · , ,
  142. Not All Zeros Are Equal (by/via) · ·
  143. AI-Generated Images From AI-Generated Alt Text (by) · · , , ,
  144. Introducing the New npm Dependency Selector Syntax (via) · · ,
  145. “:has()”: The Family Selector (by/via) · · ,
  146. Migration From jQuery to Next.js: A Guide (by/via) · · , , ,
  147. One Year of Coding—Recommendations for Beginners From a Beginner (by/via) · · , ,
  148. Popular Node.js Patterns and Tools to Re-Consider (by/via) · · ,
  149. A Delightful Guide to Culture at Mamo (Inspired by Khalil Gibran) (by) · · , ,
  150. Making a Website Under 1 kB (by) · · , ,
  151. Introduction to SolidJS (by/via) · · ,
  152. Finer Grained Control Over CSS Transforms With Individual Transform Properties (by+/via) · ·
  153. Fluid Sizing Instead of Multiple Media Queries? (via) · · ,
  154. Exploring CSS Grid’s Implicit Grid and Auto-Placement Powers (by/via) · · ,
  155. CSS Border Animations (by/via) · · , ,
  156. IE: RIP or BRB? (by/via) · · , , , ,
  157. Ruby Styling (by/via) · · ,
  158. Fitts’s Law and Its Applications in UX (by/via) · · ,
  159. The Importance of Clean Code in Your Startup’s Success (by) · ·
  160. An Introduction to Webmention · · ,
  161. Firefox (and Other Browsers), Forgotten? (by) · · , , ,
  162. How to Add a Subtle Gradient on Top of an Image Using CSS (by) · · , ,
  163. Checking If a JavaScript Native Function Is Monkey Patched (by) · · ,
  164. The Horizontal Overflow Problem (by) · ·
  165. Use the Active Voice to Transform Your Design System Documentation (by) · · , ,
  166. Which Generator Builds Markdown the Fastest? (by) · · , , ,
  167. 10+ Things I Always Set Up in Git When I Prepare a New Environment (by) · · , ,
  168. 8 Simple Steps to Complete a Technical SEO Audit (via) · · ,
  169. The Advanced Guide to the CSS “:has()” Selector (via) · · , ,
  170. Underengineer Your Websites (by/via) · · , ,
  171. Testable Frontend: The Good, the Bad, and the Flaky (by/via) · ·
  172. Detecting CSS Selector Support With JavaScript (by) · · , , ,
  173. Recreating MDN’s Truncated Text Effect (by/via) · · ,
  174. 500 ms to 1.7 ms in React: A Journey and a Checklist (by) · · ,
  175. When Will Scrum Die? (by/via) · · , , ,
  176. Quick Tip: Negative Animation Delay (by/via) · · , ,
  177. Adding Observability to Your Jest Tests (via) · · , ,
  178. Design Systems for Humans (by) · · ,
  179. You Don’t Need Microservices (by/via) · ·
  180. CSS Minimal Dark Mode Toggle Button (by) · · , ,
  181. Adventures in Text Rendering: Kerning and Glyph Atlases (via) · · ,
  182. 3 Simple Ways to Center an Element Using CSS (by/via) · · , ,
  183. Why I’m Learning TypeScript · ·
  184. Abbreviations Suck (by) · · ,
  185. A Good Reset (by) · · ,
  186. #ADA32: The ADA Has Applied to Digital for Decades (by) · · ,
  187. Introducing Even More Security Enhancements to npm (by+/via) · · ,
  188. Maintenance Matters (via) · · , , , , ,
  189. Neubrutalism Style in UX: A Twist on the Dominant Modern Minimalist (by/via) · · , ,
  190. Speaking Up and Speaking Out: Tactical Communication in Accessibility (by/via) · · ,
  191. The 10 Affirmations of Good Digital Accessibility (via) · ·
  192. UX Principles That Include Cognitive Accessibility (by) · · , ,
  193. Django Tips and Tricks (via) · · ,
  194. 5 Best UX Careers to Pursue in 2022 (via) · · ,
  195. “<article>” vs. “<section>”: How to Choose the Right One (by/via) · · , ,
  196. Everything You Need to Know About JavaScript Import Maps (by/via) · ·
  197. Typography in Web Design (via) · · ,
  198. Your Code Doesn’t Have to Be a Mess · ·
  199. Priority Hints—What Your Browser Doesn’t Know (Yet) (by/via) · · ,
  200. Solving the “Dangler” Conundrum With Container Queries and “:has()” (by) · · ,
  201. Mobile UX: Study Guide (by/via) · · , , , ,
  202. Clean Architecture: Applying With React · · ,
  203. The History of JavaScript (by) · · ,
  204. Ancient Web Browsers · · , ,
  205. Definitive Guide to CAPTCHA Accessibility (via) · · , ,
  206. Type Annotations in JavaScript (by/via) · · ,
  207. Say No to Tailwind, Embrace Plain CSS (by) · · , ,
  208. Understanding CSS “:has()” (by/via) · · , ,
  209. Intro to Serverless Functions (by/via) · · , , ,
  210. What Is HCI (Human-Computer Interaction)? Meaning, Importance, Examples, and Goals (via) · · , ,
  211. Escaping the sRGB Prison (by/via) · · ,
  212. Front-End Internationalisation Tips (by/via) · · , , ,
  213. Introduction to SvelteKit (by/via) · · , ,
  214. RedwoodJS vs. BlitzJS: The Future of Fullstack JavaScript Meta-Frameworks (by/via) · · , ,
  215. Research Insight: Accessibility of Images (by/via) · · , , ,
  216. Where’s the Fun in Accessibility? (by/via) · · ,
  217. Top Layer Support in Chrome DevTools (by/via) · · , , , ,
  218. Roundup of Recent Document Outline Chatter (by/via) · · , ,
  219. 20 Git Commands Every Developer Should Know (by) · · ,
  220. With “:focus-visible”, You Can Have Focus Styles When It Makes Sense (by) · · , , , ,
  221. Vector Animations With Figma and SVG Animate (by/via) · · , , ,
  222. Rethinking Device Emulation in Browsers (by) · · , ,
  223. Create Complex Transitions With Individual CSS Transform Properties (by/via) · · , ,
  224. Powerful Image Optimization Tools (by/via) · · , , , ,
  225. Creating an App Using Drag and Drop With React Without Libraries (by) · ·
  226. An Introduction to Multithreading in Node.js (by/via) · · , ,
  227. JavaScript SDK “Package Size Is Massive”—So We Reduced It by 29% (via) · · , ,
  228. 15 Common Beginner JavaScript Mistakes (by) · · ,
  229. The 10 Most Common JavaScript Issues Developers Face (via) · · ,
  230. Subheadings, Subtitles, Alternative Titles, and Taglines in HTML (by/via) · · , , ,
  231. Expert Tips for Color Accessibility on the Web (via) · · , ,
  232. Logical Properties for Useful Shorthands (by/via) · · , ,
  233. What Is Passwordless Authentication and How to Implement It (by/via) · · , ,
  234. What Is WAI? The Web Accessibility Initiative (via) · ·
  235. Why I No Longer Care What People “Like” or “Don’t Like” (by/via) · ·
  236. Abbreviations Can Be Problematic (by) · · ,
  237. How Did REST Come to Mean the Opposite of REST? (via) · ·
  238. How Scrum With Kanban Works (by/via) · · , , ,
  239. Useful Tips and Tricks in JavaScript (by) · · ,
  240. Hacking JavaScript Objects (by) · · ,
  241. JSON Creator Douglas Crockford Interview (by/via) · · ,
  242. Using Grids in Interface Designs (via) · · ,
  243. Use Firefox for Accessibility Testing (by/via) · · , , , ,
  244. An Approach to Continuous Learning (by) · · ,
  245. 7 Tips for Clean React TypeScript Code You Must Know (by) · · , ,
  246. CSS Gradient Background From Figma to CodePen (by) · · , , ,
  247. Can SVG Symbols Affect Web Performance? (by) · · , ,
  248. 7 Quick Facts About WCAG 2.2 (via) · · , ,
  249. What Does x% of Issues Mean? (by) · · ,
  250. Welcome to the Dark Side (by) · · , ,

(Where are the remaining 2,146 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.)