Frontend Dogma

News and Tools for Frontend Development (7)

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

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