Frontend Dogma

News and Views in Frontend Development (2)

(Explore all topics. Stay informed per feed and on Twitter.)

  1. 8 Tricks for SVG Optimization (tweet this) · · , ,
  2. Why User Personas Matter in UX Design (tweet this) · · , , ,
  3. What Makes a Great Toggle Button? (tweet this) · · ,
  4. Meet the Top Layer: A Solution to “z-index:10000” (tweet this) · ·
  5. Mac VoiceOver Testing the Simple Way (tweet this) · · , ,
  6. Design Systems: Prototyping on Steroids (tweet this) · · ,
  7. CSS Grid and Custom Shapes II (tweet this) · · ,
  8. Conducting an Effective Web-Site UX Audit (tweet this) · · ,
  9. Class-Less CSS Frameworks (tweet this) · · , , ,
  10. Bring Focus to the First Form Field with an Error (tweet this) · · ,
  11. Advanced TypeScript Patterns: API Contracts (tweet this) · · ,
  12. You’re Not Using HTTP Status Codes Right (tweet this) · ·
  13. A Simple “clamp()” Function in PHP (tweet this) · ·
  14. A Guide to Using User-Experience Research Methods (tweet this) · · ,
  15. Scaling a System (tweet this) · · ,
  16. React Query vs. SWR (tweet this) · · , , ,
  17. When Do You Use CSS Columns? (tweet this) · · ,
  18. Using “:has()” as a CSS Parent Selector and Much More (tweet this) · · ,
  19. Use the Right Container Query Syntax (tweet this) · · ,
  20. Inclusion Beats Optimization (tweet this) · · , ,
  21. An Introduction to Context Propagation in JavaScript (tweet this) · ·
  22. React Re-Renders Guide: Preventing Unnecessary Re-Renders (tweet this) · · , ,
  23. Outline Is Your Friend (tweet this) · · ,
  24. How the CSS “:is”, “:where”, and “:has” Pseudo-Class Selectors Work (tweet this) · · ,
  25. Dependency Injection in JS/TS (tweet this) · · ,
  26. Can Browsers Optimize the Loading of Third-Party Resources? (tweet this) · · , ,
  27. Better Conditionals in CSS Media Queries with Range Syntax (tweet this) · · ,
  28. Why React Re-Renders (tweet this) · · ,
  29. Introduction to Screen Readers (Desktop Edition) (tweet this) · · , , ,
  30. Designing a Better Back Button UX (tweet this) · · , ,
  31. Color and Contrast (tweet this) · · , , ,
  32. Top 9 Ways to Become a Successful Self-Taught Developer (tweet this) · · ,
  33. Table Column Alignment with Variable Transforms (tweet this) · · ,
  34. CSS Grid and Custom Shapes (tweet this) · · ,
  35. Check Heading Accessibility Using the WAVE Tool (tweet this) · · , , , ,
  36. Building Accessible Select Components in React (tweet this) · · , , ,
  37. What Was That Media Query Code Again? (tweet this) · · , ,
  38. Tip: Use “fetchpriority=high” to Load Your LCP Hero Image Sooner (tweet this) · · , ,
  39. 5 Modern CLI Tools That Help Boost Your Productivity (tweet this) · · ,
  40. The Console API (tweet this) · · ,
  41. (Re-)Introducing Gatsby, a Reactive Site Generator (tweet this) · · , , ,
  42. On Ratings and Meters (tweet this) · · , ,
  43. If You’re Not Checking, You’re Guessing (tweet this) · · ,
  44. Custom Event Naming Conventions (tweet this) · · ,
  45. Creative CSS Layout (tweet this) · · , ,
  46. Automation and Accessibility—What You Need to Know (tweet this) · · , ,
  47. An Introduction to Constraint Based Design Systems (tweet this) · ·
  48. TypeScript vs. JavaScript: Which One You Should Use, and Why (tweet this) · · , ,
  49. TypeScript: It’s Not Actually Validating Your Types (tweet this) · · ,
  50. Results of Quick Testing of Documentation Tools’ Accessibility (tweet this) · · , ,
  51. Modern CSS Selectors (tweet this) · · ,
  52. How and Why We Removed jQuery from GOV.UK (tweet this) · · , ,
  53. Do You Know About “overflow: clip”? (tweet this) · ·
  54. Here, Here, and Here (tweet this) · ·
  55. Designing for Long-Form Articles (tweet this) · · ,
  56. SEO Links Obfuscation and Accessibility Problems (tweet this) · · , ,
  57. How to Research Components and Patterns: Common Challenges and How to Overcome Them (tweet this) · · ,
  58. Defining “Integration” Tests (tweet this) · ·
  59. Core Web Vitals Tools to Boost Your Web Performance Scores (tweet this) · · , ,
  60. Code Golfing Tips and Tricks: How to Minify Your JavaScript Code (tweet this) · · , , ,
  61. Accessibility Is Writing (tweet this) · · ,
  62. Zooming Images in a Grid Layout (tweet this) · · ,
  63. The JavaScript Paradox (tweet this) · ·
  64. Dark Mode with Design Tokens (tweet this) · · ,
  65. No Demo [Website] Reno (tweet this) · · ,
  66. Capturing Images and Videos from the Camera of Mobile Devices Using HTML (tweet this) · · ,
  67. Bringing Perspective to CSS (tweet this) · ·
  68. 5 Good Practices to Scale Your React Projects Easily (tweet this) · · , ,
  69. The Infinite Marquee (tweet this) · · , ,
  70. Polyhierarchy in Information Architecture (tweet this) · · ,
  71. How to Use Multithreading in Node.js (tweet this) · · ,
  72. How I Added Scroll Snapping to My Twitter Timeline (tweet this) · · ,
  73. What Are Best Practices for Creating Alt Text? (tweet this) · · , ,
  74. One-Dimensional Website Optimization Considered Harmful (tweet this) · · ,
  75. Not All Zeros Are Equal (tweet this) · ·
  76. Light/Dark Mode (tweet this) · · , , ,
  77. AI-Generated Images from AI-Generated Alt Text (tweet this) · · , ,
  78. 5 Heading Accessibility Issues and How to Fix Them (tweet this) · · ,
  79. One Year of Coding—Recommendations for Beginners from a Beginner (tweet this) · · , , ,
  80. Migration from jQuery to Next.js: A Guide (tweet this) · · , , ,
  81. Introducing the New npm Dependency Selector Syntax (tweet this) · ·
  82. “:has()”: The Family Selector (tweet this) · · ,
  83. Popular Node.js Patterns and Tools to Re-Consider (tweet this) · · ,
  84. Making a Website Under 1 kB (tweet this) · · , ,
  85. Finer Grained Control over CSS Transforms with Individual Transform Properties (tweet this) · ·
  86. Ruby Styling (tweet this) · · , ,
  87. IE: RIP or BRB? (tweet this) · · , ,
  88. Fluid Sizing Instead of Multiple Media Queries? (tweet this) · · ,
  89. Exploring CSS Grid’s Implicit Grid and Auto-Placement Powers (tweet this) · · ,
  90. CSS Border Animations (tweet this) · · ,
  91. The Importance of Clean Code in Your Startup’s Success (tweet this) · ·
  92. Fitts’s Law and Its Applications in UX (tweet this) · · ,
  93. How to Add a Subtle Gradient on Top of an Image Using CSS (tweet this) · · ,
  94. Firefox (and Other Browsers), Forgotten? (tweet this) · · ,
  95. Checking If a JavaScript Native Function Is Monkey Patched (tweet this) · ·
  96. Which Generator Builds Markdown the Fastest? (tweet this) · · , , ,
  97. Use the Active Voice to Transform Your Design System Documentation (tweet this) · · , ,
  98. The Horizontal Overflow Problem (tweet this) · ·
  99. 10+ Things I Always Set Up in Git When I Prepare a New Environment (tweet this) · · ,
  100. When Will Scrum Die? (tweet this) · · , , ,
  101. Underengineer Your Websites (tweet this) · · , ,
  102. The Advanced Guide to the CSS “:has()” Selector (tweet this) · · , ,
  103. Testable Frontend: The Good, the Bad, and the Flaky (tweet this) · ·
  104. Recreating MDN’s Truncated Text Effect (tweet this) · · ,
  105. Quick Tip: Negative Animation Delay (tweet this) · · , ,
  106. Detecting CSS Selector Support with JavaScript (tweet this) · · , , ,
  107. 8 Simple Steps to Complete a Technical SEO Audit (tweet this) · · ,
  108. 500 ms to 1.7 ms in React: A Journey and a Checklist (tweet this) · · ,
  109. You Don’t Need Microservices (tweet this) · ·
  110. Why I’m Learning Typescript (tweet this) · ·
  111. Design Systems for Humans (tweet this) · · ,
  112. Adventures in Text Rendering: Kerning and Glyph Atlases (tweet this) · · ,
  113. Abbreviations Suck (tweet this) · · ,
  114. 3 Simple Ways to Center an Element Using CSS (tweet this) · ·
  115. UX Principles That Include Cognitive Accessibility (tweet this) · · , ,
  116. The 10 Affirmations of Good Digital Accessibility (tweet this) · ·
  117. Speaking Up and Speaking Out: Tactical Communication in Accessibility (tweet this) · · ,
  118. Neubrutalism Style in UX: A Twist on the Dominant Modern Minimalist (tweet this) · · , ,
  119. Maintenance Matters (tweet this) · · , , , , ,
  120. Introducing Even More Security Enhancements to npm (tweet this) · · ,
  121. #ADA32: The ADA Has Applied to Digital for Decades (tweet this) · · ,
  122. A Good Reset (tweet this) · · ,
  123. Your Code Doesn’t Have to Be a Mess (tweet this) · ·
  124. Typography in Web Design (tweet this) · · ,
  125. Solving the “Dangler” Conundrum with Container Queries and “:has()” (tweet this) · · ,
  126. Priority Hints—What Your Browser Doesn’t Know (Yet) (tweet this) · ·
  127. Everything You Need to Know About JavaScript Import Maps (tweet this) · ·
  128. “<article>” vs. “<section>”: How to Choose the Right One (tweet this) · · , ,
  129. 5 Best UX Careers to Pursue in 2022 (tweet this) · · ,
  130. Mobile UX: Study Guide (tweet this) · · , ,
  131. Clean Architecture: Applying with React (tweet this) · · ,
  132. The History of JavaScript (tweet this) · · ,
  133. Ancient Web Browsers (tweet this) · · ,
  134. Understanding CSS “:has()” (tweet this) · · , ,
  135. Type Annotations in JavaScript (tweet this) · · ,
  136. Say No to Tailwind, Embrace Plain CSS (tweet this) · · , ,
  137. Definitive Guide to CAPTCHA Accessibility (tweet this) · · , ,
  138. With “:focus-visible”, You Can Have Focus Styles When It Makes Sense (tweet this) · · , ,
  139. Where’s the Fun in Accessibility? (tweet this) · · ,
  140. Vector Animations with Figma and SVG Animate (tweet this) · · , ,
  141. Top Layer Support in Chrome DevTools (tweet this) · · ,
  142. Roundup of Recent Document Outline Chatter (tweet this) · · , ,
  143. Research Insight: Accessibility of Images (tweet this) · · , , ,
  144. RedwoodJS vs. BlitzJS: The Future of Fullstack JavaScript Meta-Frameworks (tweet this) · · , ,
  145. Introduction to SvelteKit (tweet this) · · ,
  146. Front-End Internationalisation Tips (tweet this) · · , , ,
  147. Escaping the sRGB Prison (tweet this) · · ,
  148. 20 Git Commands Every Developer Should Know (tweet this) · · ,
  149. Rethinking Device Emulation in Browsers (tweet this) · · , ,
  150. Powerful Image Optimization Tools (tweet this) · · , , , ,
  151. Creating an App Using Drag and Drop with React without Libraries (tweet this) · ·
  152. Create Complex Transitions with Individual CSS Transform Properties (tweet this) · · , ,
  153. An Introduction to Multithreading in Node.js (tweet this) · · ,
  154. The 10 Most Common JavaScript Issues Developers Face (tweet this) · ·
  155. Subheadings, Subtitles, Alternative Titles, and Taglines in HTML (tweet this) · · , ,
  156. Logical Properties for Useful Shorthands (tweet this) · · ,
  157. JavaScript SDK “Package Size Is Massive”—So We Reduced It by 29% (tweet this) · · , ,
  158. Expert Tips for Color Accessibility on the Web (tweet this) · · , ,
  159. 15 Common Beginner JavaScript Mistakes (tweet this) · ·
  160. Why I No Longer Care What People “Like” or “Don’t Like” (tweet this) · ·
  161. What Is WAI? The Web Accessibility Initiative (tweet this) · ·
  162. What Is Passwordless Authentication and How to Implement It (tweet this) · · ,
  163. Useful Tips and Tricks in JavaScript (tweet this) · · , ,
  164. JSON Creator Douglas Crockford Interview (tweet this) · · ,
  165. How Scrum with Kanban Works (tweet this) · · , , ,
  166. Hacking Javascript Objects (tweet this) · ·
  167. Abbreviations Can Be Problematic (tweet this) · · ,
  168. Using Grids in Interface Designs (tweet this) · · ,
  169. Use Firefox for Accessibility Testing (tweet this) · · , ,
  170. CSS Gradient Background from Figma to Codepen (tweet this) · · , ,
  171. Can SVG Symbols Affect Web Performance? (tweet this) · · ,
  172. An Approach to Continuous Learning (tweet this) · · ,
  173. 7 Tips for Clean React TypeScript Code You Must Know (tweet this) · · , ,
  174. What Does x% of Issues Mean? (tweet this) · · ,
  175. Welcome to the Dark Side (tweet this) · · , ,
  176. 7 Quick Facts About WCAG 2.2 (tweet this) · · , ,
  177. Working with File System Paths on Node.js (tweet this) · ·
  178. Could Sustainable Websites Increase Energy Consumption? (tweet this) · ·
  179. What Is the Best Way to Mark Up an Exclusive Button Group? (tweet this) · · , , ,
  180. The Hidden History of Screen Readers (tweet this) · · , , ,
  181. Perceived Affordances and the Functionality Mismatch (tweet this) · · , ,
  182. Minimal Social Markup (tweet this) · · , ,
  183. The “Array.prototype.at()” Method in Vanilla JavaScript (tweet this) · ·
  184. Optimizing Node.js Dependencies in AWS Lambda (tweet this) · · , , ,
  185. My War on Animation (tweet this) · · ,
  186. Custom ESM Loaders: Who, What, When, Where, Why, How (tweet this) · ·
  187. Bag Some AAA Wins Where You Can (tweet this) · · ,
  188. What You Need to Know About ARIA and How to Fix Common Mistakes (tweet this) · · , ,
  189. The Methods UX Professionals Use (tweet this) · · ,
  190. The Cost of Consistency in UI Frameworks (tweet this) · · ,
  191. Applying SOLID Principles in React (tweet this) · · , , ,
  192. The Many Faces of Themeable Design Systems (tweet this) · · ,
  193. Technical Writing for Developers (tweet this) · · ,
  194. Statements vs. Expressions (tweet this) · · ,
  195. Integer Math in JavaScript (tweet this) · · ,
  196. Guide to Trending Front-End Frameworks in 2022 (tweet this) · · , , , , , ,
  197. Generating Accessibility Test Results for a Whole Website with Pa11y CI (tweet this) · · , ,
  198. Fundamentals Matter (tweet this) · ·
  199. Forms in Modals: UX Case (tweet this) · · ,
  200. Building (or Rebuilding) a Website with Accessibility in Mind (tweet this) · ·