Frontend Dogma

News and Tools for Frontend Development (9)

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

  1. HTML Semantics (toot or tweet) · · ,
  2. “!important” Was Added for One Reason Only (toot or tweet) · · ,
  3. Improving Your User Experience to Reduce Bounce Rates (toot or tweet) · · , , ,
  4. Should “Cancel” Be a Button or a Link? (toot or tweet) · · ,
  5. Usability Testing: Driving the Best User Experience for Business Success (toot or tweet) · · , ,
  6. Write HTML, the HTML Way (Not the XHTML Way) (toot or tweet) · · ,
  7. Windows High Contrast Mode, Forced Colors Mode, and CSS Custom Properties (toot or tweet) · · , , ,
  8. Authorization in a Microservices World (toot or tweet) · · ,
  9. How to Use CSS Math Functions: “calc”, “min”, “max”, “clamp” (toot or tweet) · · ,
  10. Typography in Design Tokens for Figma and Code (toot or tweet) · · , , ,
  11. UX Strategy: Definition and Components (toot or tweet) · · ,
  12. Performance Tests on Common JavaScript Array Methods (toot or tweet) · · , , ,
  13. Why Is Dark Mode So Captivating? (toot or tweet) · ·
  14. The Web Doesn’t Have Version Numbers (toot or tweet) · · ,
  15. 4 Accessibility Mistakes Plaguing Most Government Websites (toot or tweet) · ·
  16. Guidance on Web Accessibility and the ADA (toot or tweet) · · ,
  17. How Do I Resolve Merge Conflicts? (toot or tweet) · · , ,
  18. How to Make a Drag-and-Drop File Uploader with Vue.js 3 (toot or tweet) · · ,
  19. Identifying Fonts: The Complete Guide (toot or tweet) · · , ,
  20. Migrating Our Monorepo to Yarn 2 (toot or tweet) · · , ,
  21. Optimizing SVG Patterns to Their Smallest Size (toot or tweet) · · ,
  22. Google Calendar Webhooks with Node.js (toot or tweet) · · ,
  23. The Impact That High Quality Mark-Up Can Have on Accessibility, Performance, and Discoverability (toot or tweet) · · , , ,
  24. The Future of the Web and Accessibility (toot or tweet) · · , ,
  25. A Designer’s Guide to Documenting Accessibility and User Interactions (toot or tweet) · · , , ,
  26. A Quick Guide to Closures (toot or tweet) · · ,
  27. Accessibility, Assistive Technology, and JavaScript (toot or tweet) · · , ,
  28. How to Empathize with Your Users (toot or tweet) · · , ,
  29. How to Prep Your SEO Strategy for a New Website (toot or tweet) · · ,
  30. What Every Good README Should Contain (toot or tweet) · ·
  31. What Makes You a Professional Web Developer (toot or tweet) · ·
  32. Building a Loading Bar Component (toot or tweet) · · , , ,
  33. Don’t Believe the Type! (toot or tweet) · · , , , ,
  34. How to Automatically Size a Textarea Based on Its [Text] Using Vanilla JavaScript (toot or tweet) · · ,
  35. Implementing JavaScript Delay for Cookie Consent Banner (toot or tweet) · · , ,
  36. Making the World’s Fastest Website, and Other Mistakes (toot or tweet) · ·
  37. Prevent Technical Debt with These 3 Strategies (toot or tweet) · ·
  38. React Best Practices and Patterns to Reduce Code (toot or tweet) · · , ,
  39. The Weirdly Obscure Art of Streamed HTML (toot or tweet) · · ,
  40. What Are Micro-Frontends? (toot or tweet) · ·
  41. Aligning Content in Different Wrappers (toot or tweet) · · ,
  42. Explaining Micro Frontends As Simply As Possible (toot or tweet) · ·
  43. In Defense of Sass (toot or tweet) · · , ,
  44. Tao of Node—Design, Architecture, and Best Practices (toot or tweet) · · , ,
  45. Update Node Dependencies Automatically, Selectively, or Incrementally (toot or tweet) · · , , ,
  46. When or If (toot or tweet) · ·
  47. It Needs to Map Back to a Role (toot or tweet) · · , , ,
  48. 20 Productivity Tips from Developers to Developers (toot or tweet) · · ,
  49. Giving New Meanings to the Color Functions in CSS (toot or tweet) · · ,
  50. The Future of Web Accessibility: WCAG 3.0 (toot or tweet) · · , ,
  51. 42 Tips for Getting Good at DevOps and Life (toot or tweet) · · , ,
  52. Horizontal Scrolling Nav (toot or tweet) · · ,
  53. Where TypeScript Excels (toot or tweet) · · ,
  54. Arrow Functions in JavaScript: How to Use Fat and Concise Syntax (toot or tweet) · ·
  55. A Look at the Dialog Element’s Super Powers (toot or tweet) · · ,
  56. An Introduction to User Journey Maps (toot or tweet) · · , , ,
  57. Carousels: No One Likes You (toot or tweet) · · , ,
  58. Don’t Alienate Your User: A Primer for Internationalisation and Localisation (toot or tweet) · · , ,
  59. Ten Years of Page Bloat: What Have We Learned? (toot or tweet) · · , ,
  60. WebGPU—All of the Cores, None of the Canvas (toot or tweet) · · ,
  61. You Don’t Always Need a CMS (toot or tweet) · ·
  62. Accumulation of Tech Debt (toot or tweet) · ·
  63. Digging into CSS Media Queries (toot or tweet) · · , ,
  64. 10 Amazing Games to Learn CSS (toot or tweet) · · ,
  65. 7 Ways to Achieve a Faster Core Web Vitals Score (toot or tweet) · · ,
  66. An Introduction to AWS CloudFront Functions (toot or tweet) · · , ,
  67. Designing the User Experience of a Rating System (toot or tweet) · · ,
  68. JavaScript Naming Conflicts: How Existing Code Can Force Proposed Features to Be Renamed (toot or tweet) · · , ,
  69. Moderated Versus Unmoderated Usability Testing (toot or tweet) · · , ,
  70. Optimizing a Web Site for Google’s New UX Criteria (toot or tweet) · · , , ,
  71. Performance Signals for Customizing Website UX (toot or tweet) · · , , ,
  72. Session Timeouts (toot or tweet) · · ,
  73. Using HTTPS in Your Development Environment (toot or tweet) · · , ,
  74. A New Speed Milestone for Chrome (toot or tweet) · · , , ,
  75. Alternatives to Pagination on Product-Listing Pages (toot or tweet) · · , ,
  76. Why I Avoid “async”/“await” (toot or tweet) · ·
  77. Creating Native Web Components (toot or tweet) · · , ,
  78. The Basics—Generics in PHP (toot or tweet) · · ,
  79. Accessibility and Limited Fine Motor Skills (toot or tweet) · ·
  80. Building Web Layouts for Dual-Screen and Foldable Devices (toot or tweet) · · , ,
  81. Dive into Node.js Streams (toot or tweet) · ·
  82. How to Design Better APIs (toot or tweet) · ·
  83. How to Prevent SQL Injection Attacks in Node.js (toot or tweet) · · , , ,
  84. Remix vs. Next.js (toot or tweet) · · , ,
  85. The Best Design System Is No System (toot or tweet) · ·
  86. The Importance of Screen Reader Software for Web Navigation (toot or tweet) · · , , ,
  87. Interop 2022: Browsers Working Together to Improve the Web for Developers (toot or tweet) · · , ,
  88. It’s Always Been You, Canvas2D (toot or tweet) · · , ,
  89. How Do Primitive Values Get Their Properties? (toot or tweet) · ·
  90. How Many Hyperlinks Are Too Many for Accessibility? (toot or tweet) · · ,
  91. How to Make a “Raise the Curtains” Effect in CSS (toot or tweet) · · ,
  92. How to Use Higher-Order Functions in JavaScript (toot or tweet) · ·
  93. Progressive Enhancement, the New Hotness (toot or tweet) · ·
  94. Taming CSS Variables with Web Inspector (toot or tweet) · · , , ,
  95. Simple Color System for Complex Digital Interfaces (toot or tweet) · · , , ,
  96. What’s Really Going On Inside Your node_modules Folder? (toot or tweet) · · , ,
  97. New CSS Features in 2022 (toot or tweet) · ·
  98. 5 Things You Don’t Need JavaScript For (toot or tweet) · ·
  99. A Recipe for a Good Design System (toot or tweet) · ·
  100. Accessibility Checklist: Five Things Usually Left Out (toot or tweet) · · ,
  101. Foundations: Headings (toot or tweet) · · , ,
  102. How to Build a File Upload Service with Vanilla JavaScript (toot or tweet) · ·
  103. (Not So) Short Note on Being Owned (toot or tweet) · · , ,
  104. Web Component Pseudo-Classes and Pseudo-Elements Are Easier Than You Think (toot or tweet) · · , ,
  105. CSS “content” Property (toot or tweet) · ·
  106. Higher-Order Components in React Hooks Era (toot or tweet) · · , ,
  107. Importing ES6 Modules over HTTP/HTTPS in Node.js (toot or tweet) · · , , ,
  108. Should Frontend Devs Care About Performance? (toot or tweet) · ·
  109. Solid.js Feels Like What I Always Wanted React to Be (toot or tweet) · · ,
  110. Top 2021 CSS Frameworks Report: The CSS File Sizes (toot or tweet) · · , , ,
  111. 4 Simple Ways to Improve Web Accessibility (toot or tweet) · · ,
  112. How I Structure My React Projects (toot or tweet) · · ,
  113. Overlay Position and Recommendations (toot or tweet) · · ,
  114. Screaming Architecture—Evolution of a React Folder Structure (toot or tweet) · · ,
  115. When to Avoid the “text-decoration” Shorthand Property (toot or tweet) · ·
  116. Accessibility and Inclusivity in Practice (toot or tweet) · · , ,
  117. Understanding Dependencies Inside Your package.json (toot or tweet) · · , , ,
  118. 5 Accessibility Quick Wins You Can Implement Today (toot or tweet) · ·
  119. A Complete Guide to CSV Files in Node.js (toot or tweet) · · , ,
  120. Can You Get Pwned with CSS? (toot or tweet) · · ,
  121. Container Queries, the Next Step Towards a Truly Modular CSS (toot or tweet) · · , ,
  122. How to Fix Your Security Vulnerabilities with npm Override (toot or tweet) · · , ,
  123. How to Make MPAs That Are as Fast as SPAs (toot or tweet) · · ,
  124. HTML Comments Work in JavaScript Too (toot or tweet) · · ,
  125. Moving from Next to Remix (toot or tweet) · · , , ,
  126. 15 Useful Placeholder Tools for Designers and Developers (toot or tweet) · · , , , ,
  127. Comparing Gatsby and Next.js for Website Development (toot or tweet) · · , , ,
  128. Component Tokens and Themes Example (to Learn Figma Tokens) (toot or tweet) · · , , , ,
  129. Design Systems in Figma: How to Be More Productive (toot or tweet) · · , ,
  130. How to Prioritize Your Components (toot or tweet) · · ,
  131. Inclusive Design vs. Accessible Design: Understanding the Differences (toot or tweet) · · , , ,
  132. Reliably Send an HTTP Request as a User Leaves a Page (toot or tweet) · ·
  133. SPAs Were a Mistake (toot or tweet) · ·
  134. Support for Marking Radio Buttons Required, Invalid (toot or tweet) · · ,
  135. Turning the Tables on Accessibility (toot or tweet) · ·
  136. What Is Responsible JavaScript? (toot or tweet) · · ,
  137. The Case for Adding Validation State to Your Design Tokens (toot or tweet) · · ,
  138. Favi-Gone: 6 Reasons Why Your Favicon Disappeared from the Google Search Results (toot or tweet) · · , , ,
  139. A Complete Guide to CSS Cascade Layers (toot or tweet) · · , ,
  140. CSS Quick Tip: Animating in a Newly Added Element (toot or tweet) · · , ,
  141. Design System: How to Successfully Collaborate? (toot or tweet) · · ,
  142. How Websites Die (toot or tweet) · · ,
  143. Let’s Get Inclusive: Designing Products for Everyone (toot or tweet) · · ,
  144. Writing Logic in CSS (toot or tweet) · ·
  145. Column Headers and Browser Support (toot or tweet) · · , ,
  146. Invisible Characters (toot or tweet) · · ,
  147. Minimizing Google Fonts by Only Loading It for Certain Characters (toot or tweet) · · , , , ,
  148. React State Management Libraries in 2022 (toot or tweet) · · , ,
  149. There Is No Character Limit for “Alt Text” (toot or tweet) · · ,
  150. You Can “throw()” Anything in JavaScript—and Other “async”/“await” Considerations (toot or tweet) · ·
  151. Comparing Node JavaScript to JavaScript in the Browser (toot or tweet) · · , , ,
  152. Core Web Vitals: What Next? (toot or tweet) · · , ,
  153. Structuring Documentation in Multi-Brand Design Systems (toot or tweet) · · ,
  154. Using “mask” as “clip-path” (toot or tweet) · · ,
  155. Flexbox Dynamic Line Separator (toot or tweet) · ·
  156. How to Create a Search Page for a Static Website with Vanilla JS (toot or tweet) · · ,
  157. Web Developers and Cognitive Biases (toot or tweet) · · ,
  158. What Makes Writing More Readable? (toot or tweet) · · ,
  159. 7 Lessons I’ve Learned in the Last Year as a Software Engineer (toot or tweet) · ·
  160. An Auto-Filling CSS Grid with Max Columns of a Minimum Size (toot or tweet) · · ,
  161. The Harsh Reality for JavaScript Developers: If You Don’t Study the Fundamentals You Will Be Just Another “Coder” (toot or tweet) · · , ,
  162. The State of JavaScript 2021 (toot or tweet) · · ,
  163. Track Down the JavaScript Code Responsible for Polluting the Global Scope (toot or tweet) · ·
  164. What is the Difference Between WCAG Compliance Level A, AA, and AAA? (toot or tweet) · · , ,
  165. 10 Mental Models Developers Can Use to Get Unstuck (toot or tweet) · ·
  166. Colors That Make Sense (toot or tweet) · · , ,
  167. Foundations: Colour and Meaning (toot or tweet) · · ,
  168. The Basics of package.json (toot or tweet) · · , , ,
  169. Version 100 in Chrome and Firefox (toot or tweet) · · , , , , ,
  170. 7 Killer One-Liners in JavaScript (toot or tweet) · ·
  171. WCAG 2.2 Update (toot or tweet) · · ,
  172. Functions and the Future of Design Systems (toot or tweet) · ·
  173. The Entire Cascade (as a Funnel) (toot or tweet) · · , ,
  174. Hello, CSS Cascade Layers (toot or tweet) · · ,
  175. Multi-Value CSS Properties with Optional Custom Property Values (toot or tweet) · · ,
  176. Using the Language Attribute to Make Your Website Accessible (toot or tweet) · · , ,
  177. Why Radio Buttons Are Called Radio Buttons in UIs? (toot or tweet) · · , ,
  178. How to Keep Your Repo Package Dependencies Up to Date Automatically (toot or tweet) · · ,
  179. Moving from JavaScript to TypeScript (toot or tweet) · · ,
  180. Accessibility Monitoring: How We Test (toot or tweet) · · , ,
  181. Everything Publishers Need to Know About URLs (toot or tweet) · · ,
  182. How Thinking About Hierarchical Grids Helps You Take a Content-First Approach to Design (toot or tweet) · · , ,
  183. How to Make CSS Slanted Containers (toot or tweet) · ·
  184. MHTML in Chromium (toot or tweet) · · ,
  185. Only 2% of Sites Meet Accessibility Standards—Let’s Change That (toot or tweet) · ·
  186. The Difference Between Brotli and Gzip Compression Algorithms to Speed Up Your Site (toot or tweet) · · ,
  187. What I Learned Implementing a Design System for an Existing Product (toot or tweet) · ·
  188. Building an Adaptive Favicon (toot or tweet) · · ,
  189. Debugging JavaScript (toot or tweet) · · ,
  190. Developing a Focus Style for a Themable Design System (toot or tweet) · · , ,
  191. Move Over JavaScript: Back-End Languages Are Coming to the Front-End (toot or tweet) · ·
  192. Replace JavaScript Dialogs with the New HTML Dialog Element (toot or tweet) · · ,
  193. This Is Why Your Node.js Application Is Slow (toot or tweet) · · ,
  194. Aspect Ratio Is Great (toot or tweet) · · ,
  195. New in JavaScript: “reportError”—a Method to Report to Global Event Handlers (toot or tweet) · · ,
  196. Accessibility Testing Best Practices in CI/CD (toot or tweet) · · , , ,
  197. Creating Generative SVG Grids (toot or tweet) · · ,
  198. CSS Animations Tutorial: Complete Guide for Beginners (toot or tweet) · · , ,
  199. Do We Need Screen Reader for Accessibility Testing (toot or tweet) · · , , ,
  200. Modern, Single-Page Web Design: UX Design Trends and Tips (toot or tweet) · · , ,
  201. Introducing the Dialog Element (toot or tweet) · · ,
  202. How to Favicon in 2022: Six Files That Fit Most Needs (toot or tweet) · · ,
  203. How to Create a UX-Vision Statement (toot or tweet) · ·
  204. How to Use the Accessibility Tree for A11Y Testing (toot or tweet) · · ,
  205. UX and User Personas: How to Get it Right (toot or tweet) · · , ,
  206. Are We Live? (toot or tweet) · · ,
  207. Design System Versioning: Single Library or Individual Components? (toot or tweet) · · ,
  208. Foundations: Colour Contrast (toot or tweet) · · , ,
  209. Understanding the W3C’s Accessibility Conformance Testing (ACT) Requirements (toot or tweet) · · , ,
  210. What Web Frameworks Solve: The Vanilla Alternative (toot or tweet) · · , ,
  211. 8 Key Elements for Creating a Culture of Accessibility (toot or tweet) · · ,
  212. No Accessibility Without Disabilities (toot or tweet) · · ,
  213. The Impact of Motion Animation on Cognitive Disability (toot or tweet) · · , ,
  214. Why Efficient Hydration in JavaScript Frameworks Is So Challenging (toot or tweet) · · , ,
  215. Reducing the Web’s Carbon Footprint: Optimizing Social Media Embeds (toot or tweet) · · , , ,
  216. Assistive Technology, Accessible Technology, and the Accessibility Tree (toot or tweet) · · , , ,
  217. Grow Your Design System from Good to Great (toot or tweet) · ·
  218. Settings Are Not a Design Failure (toot or tweet) · · , ,
  219. State of Frontend 2022 (toot or tweet) · ·
  220. Improving JavaScript Bundle Performance with Code-Splitting (toot or tweet) · · , , ,
  221. 24 Lesser-Known HTML Attributes You May Want to Use (toot or tweet) · ·
  222. 5 Pitfalls of Using Micro Frontends and How to Avoid Them (toot or tweet) · ·
  223. Building Like It’s 1984: A Comprehensive Guide to Creating Intuitive Context Menus (toot or tweet) · · , ,
  224. Career Advice Nobody Gave Me: Never Ignore a Recruiter (toot or tweet) · ·
  225. Structuring Your Storybook (toot or tweet) · ·
  226. Website Themes and Color Schemes (toot or tweet) · · , ,
  227. “Evergreen” Does Not Mean Immediately Available (toot or tweet) · ·
  228. CSS—Understanding the Cascade (toot or tweet) · · , ,
  229. Cascade Layers Are Coming to Your Browser (toot or tweet) · · , , ,
  230. 4 Questions to Ask Before Using ARIA (toot or tweet) · · , , ,
  231. A More Easy Way to Write “if … or” Checks with Vanilla JavaScript (toot or tweet) · ·
  232. Accessibly Insecure (toot or tweet) · · ,
  233. Speed Matters, but It Isn’t Everything (toot or tweet) · · , ,
  234. The Focus-Indicated Pseudo-Class “:focus-visible” (toot or tweet) · ·
  235. Use Cases for CSS “fit-content” (toot or tweet) · ·
  236. Learn Responsive Design (toot or tweet) · · ,
  237. Preventing Smooth Scrolling with JavaScript (toot or tweet) · · ,
  238. Inclusive Design (toot or tweet) · · ,
  239. Cascade Layers: First Contact (toot or tweet) · · ,
  240. How Does “!important” Actually Work? (toot or tweet) · · , ,
  241. Internal Onboarding for Design System Teams (toot or tweet) · · ,
  242. WCAG, But in Language I Can Understand (toot or tweet) · · ,
  243. What Web Frameworks Solve and How to Do Without Them (toot or tweet) · · , ,
  244. Why Testing After Is a Bad Practice (toot or tweet) · ·
  245. Why You Should Use a Developer Font (toot or tweet) · · , ,
  246. A Pipe Operator for JavaScript: Introduction and Use Cases (toot or tweet) · · ,
  247. Caching Header Best Practices (toot or tweet) · · , ,
  248. Cherry Picking Commits in Git (toot or tweet) · · ,
  249. Demystifying TypeScript Discriminated Unions (toot or tweet) · ·
  250. Naming Design Tokens (toot or tweet) · · ,