Frontend Dogma

News and Tools for Frontend Development (19)

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

  1. SVG Sprites: Old-School, Modern, Unknown, and Forgotten (by) · · , ,
  2. Usability Heuristic Frameworks: Which One Is Right for You? (by/via) · · ,
  3. Personas: Study Guide (by/via) · · , , , ,
  4. Turn Around Your Git Mistakes in 17 Ways (by) · · , ,
  5. 4 Required Tests Before Shipping New Features (by) · · ,
  6. Layout Breakouts With CSS Grid (by) · · ,
  7. Understanding “async” and “await” (by) · ·
  8. 2022 Web Almanac Report Finds WordPress Adoption Is Growing, Adds New Page Builder Data (by/via) · · , , ,
  9. Debugging CSS, No Extensions Required (by) · · , ,
  10. Five Months Worth of Takes on the Digital Accessibility Space (by/via) · · , ,
  11. The Future of Rendering in React (by) · · , ,
  12. The Future of the Web Is on the Edge (by/via) · · ,
  13. Unless You’re in the Mafia, Your Company Isn’t Your Family (by) · ·
  14. Adding Components to Eleventy With WebC (by) · · ,
  15. Awesome Tools for Open Source Contributions (by) · · , ,
  16. How to Safely Share Your Email Address on a Website (via) · · , ,
  17. WordPress.org Plugin Developers Demand Transparency Regarding the Removal of Active Install Growth Data (by/via) · · , ,
  18. How to Safely Pass Data to JavaScript in a Django Template (by) · · , ,
  19. AI Code Completion Is Like Cruise Control—and That’s Great News for Bigger Teams (by) · · , , ,
  20. Foundations: HTML Semantics (by/via) · · ,
  21. Front-End Development Is Like… (by) · ·
  22. Using Web Components With Next (or Any SSR Framework) (by/via) · · , ,
  23. Easy Fluid Typography With “clamp()” Using Sass Functions (by/via) · · , , , ,
  24. Quick Tip: How to Use the Spread Operator in JavaScript (via) · · , , ,
  25. Patching the Open Web (by) · ·
  26. Use “npm query” and jq to Dig Into Your Dependencies (by) · · , , ,
  27. 3 Things to Consider Before You Implement CAPTCHA for Accessibility (via) · · ,
  28. Can Consistency Harm Your Product? (by/via) · · ,
  29. Component-Level Design Tokens: Are They Worth It? (by) · · ,
  30. Four Ways to Pick the Right UX Method (by/via) · · ,
  31. One Formula to Rule Them All: The ROI of a Design System (by+/via) · ·
  32. The Missing Math Methods in JavaScript (via) · · ,
  33. Where Are the Accessibility Statements? Digital Accessibility Shouldn’t Be a Surprise (via) · ·
  34. CSS Halftone Patterns (by/via) · · ,
  35. Designing a Secure API (by/via) · · , ,
  36. When Going Somewhere Does a Thing: On Links and Buttons (by) · · , , , ,
  37. A CSS Class-Naming Convention Might Still Be Your Best Choice (by) · · , ,
  38. A Beginner’s Complete Guide to Form Accessibility: The 5 Things Accessible Forms Need and How to Fix Common Errors (via) · · , ,
  39. I Changed My Mind About Writing New JavaScript Frameworks (by) · · ,
  40. Minimalism as Narcissism (by) · ·
  41. The Difference Between “undefined” and “not defined” in JavaScript (by/via) · ·
  42. Delightful UI Animations With Shared Element Transitions API (by/via) · · , , ,
  43. Mobile UX Design in 2022 (by/via) · · , ,
  44. Busting the Myths About Agile Development and User Research (via) · · , , ,
  45. I Turned JS Into a Compiled Language (for Fun and Wasm) (by) · · , ,
  46. CSS-Only Type Grinding: Casting Tokens Into Useful Values (by/via) · · ,
  47. Phylum Detects Active Typosquatting Campaign Targeting npm Developers (via) · · , ,
  48. Ten Years of TypeScript (by/via) · ·
  49. What Is Website Minimalism? (by) · · ,
  50. Building Delight in Your Design System (by/via) · · ,
  51. Templating in HTML (by) · · ,
  52. Why UX? (via) · · ,
  53. depngn (via) · · , , ,
  54. Optimize Long Tasks (by/via) · · ,
  55. Learn Accessibility (by/via) · · ,
  56. Getting Started With WordPress Block Development (via) · · ,
  57. A Web Component Story (by) · · ,
  58. Choosing the Best Node.js Docker Image (by/via) · · ,
  59. Intersectionality, Accessibility, and Inclusion (via) · · , ,
  60. Why You Should Care About Design in Uncertain Times (via) · ·
  61. Yes, Accessibility Is Also a Backend Concern (by) · ·
  62. “:has()” Opens Up New Possibilities With CSS (by) · · , ,
  63. How to Center a Div Using CSS Grid (by/via) · · , ,
  64. State of CSS 2022 (by+/via) · · ,
  65. GIFs Without the .gif: The Most Performant Image and Video Options Right Now (by/via) · · , , , ,
  66. This Site’s Type Is Now Variable (by) · · , ,
  67. Websites Need to Be Accessible to Be Inclusive (by+/via) · · ,
  68. Let Me Understand How JavaScript Works Under the Hood (by) · ·
  69. How to Make Your Designs Scannable (and Why You Should) (by/via) · · , ,
  70. Performance Budgets: The Easiest Way to a Faster Site (by/via) · · ,
  71. How to Return Multiple Values From a Function in JavaScript (by) · · , ,
  72. Five Data-Loading Patterns to Boost Web Performance (via) · ·
  73. Named Element IDs Can Be Referenced as JavaScript Globals (by/via) · · ,
  74. 7 Things to Consider When Working On a Personal Project · · ,
  75. Learn HTML (by/via) · · ,
  76. Don’t Worry, Nobody Is Replacing Node, Not Even Bun and Even Less Deno (by/via) · · , ,
  77. Useful JavaScript Math Functions and How to Use Them (by/via) · · , ,
  78. Dear Console… (by) · · , ,
  79. A Deep Dive Into WCAG 2.2—and Beyond (by+/via) · · , ,
  80. Closing a 30 Pixel Gap Between Native and Web (by/via) · · , ,
  81. 100 Days of More or Less Modern CSS (by) · ·
  82. 6+5 Ways to Make a Two-Column Layout: From Pretty Reasonable to Completely Wrong (by) · · ,
  83. I Am Not That Excited About New CSS Features (by) · ·
  84. The New Wave of JavaScript Web Frameworks (via) · · ,
  85. How to Create Wavy Shapes and Patterns in CSS (by/via) · · , ,
  86. Accessibility (by+/via) · · , ,
  87. CMS (by/via) · · , ,
  88. CSS (by/via) · · , ,
  89. Fonts (by/via) · · , ,
  90. HTTP (by/via) · · , , ,
  91. Interoperability (by/via) · · , ,
  92. JavaScript (by+/via) · · , ,
  93. Markup (by/via) · · , ,
  94. Media (by/via) · · , , ,
  95. Page Weight (by+/via) · · , ,
  96. Security (by+/via) · · , ,
  97. SEO (by+/via) · · , ,
  98. Sustainability (by+/via) · · , ,
  99. How to Get All Sibling Elements of a Link or Button With Vanilla JavaScript (by) · · , , ,
  100. Continue Using .env Files as Usual (by) · · ,
  101. Streamable HTML Fragments (by) · · ,
  102. Two Things I Learned by Validating My HTML Again (by) · · , ,
  103. Audience-Based Website Navigation (by/via) · · , ,
  104. Writing Composable SQL Using JavaScript (by/via) · · , ,
  105. Attitudes to Digital Accessibility Survey 2022 (via) · · , ,
  106. Blind People Need to Be Considered More When Making Data Visualizations (by/via) · · ,
  107. Quick Reminder: HTML5 “required” and “pattern” Are Not a Security Feature (by) · · , ,
  108. The Indisputable Truth About Accessibility (by/via) · · ,
  109. Things I Wish I Had Known About Angular When I Started (by/via) · ·
  110. Top Task Analysis: Make It Fast and Efficient (by) · ·
  111. A Designer’s Guide to Documenting Accessibility (by/via) · · , , ,
  112. Randomness in CSS (by) · · ,
  113. Use Cases for CSS Comparison Functions (by) · · ,
  114. Testing Web Design Color Contrast (by+/via) · · , ,
  115. Speedy CSS Tip! Animated Loader (by/via) · · ,
  116. 5 Ways That UX Developers Influence SEO (via) · · ,
  117. Creative Section Breaks Using CSS “clip-path” (by/via) · · ,
  118. Element Timing: One True Metric to Rule Them All? (by/via) · · , ,
  119. Rest vs. Spread Syntax in JavaScript (by) · · ,
  120. Designing Better Inline Validation UX (by/via) · · , ,
  121. Will Serving Real HTML Content Make a Website Faster? Let’s Experiment! (by/via) · · , , ,
  122. Accessibility Is Systemic (by) · ·
  123. Clarifying Color Contrast and Font Size Guidelines (by) · · , , ,
  124. React I Love You, but You’re Bringing Me Down (by/via) · ·
  125. The Web Is Good Now (by/via) · · ,
  126. Type-Level TypeScript (by) · · ,
  127. Why Designers Quit (by/via) · · ,
  128. Making Your Web Pages Printer-Friendly With CSS (by/via) · · ,
  129. It’s Good to Make Mistakes (by) · · , ,
  130. How to Generate Random Numbers in JavaScript With “Math.random()” (by/via) · · , , ,
  131. CSS Rules vs. CSS Rulesets (by) · · ,
  132. Prototyping to Learn (by) · · ,
  133. A “details” Element as a Burger Menu Is Not Accessible (by/via) · · , ,
  134. Shell Scripting With Node.js (by) · · , ,
  135. 5 Ways to Use Data Visualization in Your Content to Increase Traffic (via) · · , ,
  136. Design 4.0: Leading Design in the New Industry (via) · ·
  137. How Rapid Usability Testing Is Changing UX Research (by/via) · · , , ,
  138. Rethinking a Design System (by) · ·
  139. Web Sustainability and the Ethical Dilemma (by/via) · · , ,
  140. CSS Drawings (by) · · ,
  141. Building a Retro Draggable Web Component With Lit (by/via) · · ,
  142. Stop Using .env Files Now (by) · · ,
  143. How to Get the Current Timestamp in JavaScript (by) · · ,
  144. Accidental Dismissal of Overlays: A Common Mobile Usability Problem (by+/via) · · , ,
  145. Debunking Myths About HTTPS · · , ,
  146. The Git Commands I Use Every Day (by) · · ,
  147. Accessibility Is for Every One (by) · ·
  148. Brief Note on Super- and Subscript Text (by) · · , , ,
  149. When Design Systems Lie (by/via) · · ,
  150. How to (Not) Make a Button (by) · · , , , ,
  151. Accessibility in Times of Headless (by/via) · · , ,
  152. Design Tokens 101 (by) · ·
  153. Let’s Get Logical (by) · · ,
  154. The Rise of the TikTok Pattern (by/via) · · ,
  155. Total Blocking Time: A Short and Sweet Guide for Happier Users (by/via) · · ,
  156. Why Are Vanity Metrics Still Problematic? (via) · ·
  157. Why the Number Input Is the Worst Input (by/via) · · , , ,
  158. Invalid CSS (by) · · ,
  159. Designing for People With Cognitive Disabilities and Everyone Else (by/via) · · , ,
  160. I Never Thought This Would Be Possible With CSS (by) · · , ,
  161. Five Things You Can Do to Be More Inclusive (by) · · ,
  162. How to Substantially Slow Down Your Node.js Server (via) · · , ,
  163. Buttons and the Baader–Meinhof Phenomenon (by) · · ,
  164. 7 Must Know JavaScript Tips and Tricks (by) · · ,
  165. 3 Problems Scrum Doesn’t Solve (by/via) · · , ,
  166. A Guide to Rounding Numbers in JavaScript (by/via) · · ,
  167. Container Queries in Browsers! (by) · · , ,
  168. JavaScript APIs You Don’t Know About (by/via) · · ,
  169. The State of Digital Accessibility: Three Key Challenges (by/via) · · , ,
  170. W3C TAG Ethical Web Principles (by) · · , ,
  171. When Is It OK to Disable Text Selection? (by/via) · · , ,
  172. On Better Browsers: Arbitrary Media Queries and Browser UIs (by) · · , ,
  173. Quick Tip: Embedding YouTube Videos in GitHub Pages (by) · · , , ,
  174. Secure Your Node.js App With JSON Web Tokens (by/via) · · , ,
  175. Better Accessible Names (by) · · ,
  176. Conditionally Spreading Objects in JavaScript (by) · · ,
  177. Disability Is Not a Dirty Word (by) · · ,
  178. Wtf Is an Island and Why Is It in My Website? (by) · · , , ,
  179. Detecting CSS Selector Support (by/via) · · , , ,
  180. Intrinsic CSS With Container Queries and Units (by/via) · · , , ,
  181. PureComponents vs. Functional Components With Hooks (by) · · , ,
  182. The Power of CSS Blend Modes (by/via) · · ,
  183. Node.js Native Binary Compilation Using Vercel pkg (by/via) · · ,
  184. Making Sense of WAI-ARIA: A Comprehensive Guide (by/via) · · , , ,
  185. What Is Data Engineering? (by) · · ,
  186. The Basics of Remix (by/via) · · , ,
  187. First Batch of Color Fonts Arrives on Google Fonts (by/via) · · , , ,
  188. Best Practices for Creating a Modern npm Package (by/via) · · ,
  189. Nuclear Footnotes (by) · · ,
  190. When Life Gives You Lemons, Write Better Error Messages (by/via) · · ,
  191. Which Fonts to Use for Your Charts and Tables (by/via) · · , ,
  192. The “details” and “summary” Elements, Again (by) · · ,
  193. My Five Biggest Design System Mistakes (by) · · ,
  194. Justin Yarbrough Talks About Alt Text (by/via) · · , , ,
  195. The Seventh Way to Call a JavaScript Function Without Parentheses (by/via) · · ,
  196. 2022: 0 of the Global Top 100 Websites Use Valid HTML (by) · · , , ,
  197. Antipersonas: What, How, Who, and Why? (via) · · ,
  198. Mastering DOM Manipulation With Vanilla JavaScript (by) · · ,
  199. Mastering These 7 Basics CSS Skills Will Make You a Frontend Wizard (by) · · ,
  200. Your Next.js Bundle Will Thank You (by) · · , ,
  201. Converting PNG Images to WebP Using PHP (by) · · , , , ,
  202. Make It Short—Make It Better (by) · · ,
  203. A Guide to Choosing the Right React State Management Solution (by/via) · · , ,
  204. CSS “line-height” (by) · · ,
  205. How I Made a Pure CSS Puzzle Game (by/via) · ·
  206. How to Monitor a Next.js Application (via) · · , ,
  207. Keeping Your CSS Small: Scopes, Containers, and Other New Stuff (by/via) · · , , ,
  208. Button Minimum Width (by/via) · · ,
  209. Node Version Manager—nvm Install Guide (by/via) · · ,
  210. Lightning CSS (by/via) · · , ,
  211. Text Is the Universal Interface (by/via) · ·
  212. Towards a Factory Model of Designing User Interfaces—Slotted Systems in Figma (by/via) · · , ,
  213. What’s New With Forms in 2022? (by/via) · · , ,
  214. 12 Modern UI Components to Inspire Your Future Designs (by) · · ,
  215. Me and React: 5 Years in 15 Minutes (by) · ·
  216. A Quick Primer on Testing JavaScript (by) · · , ,
  217. Dependabot Unlocks Transitive Dependencies for npm Projects (via) · · , ,
  218. How Your Favourite UI Libraries Manage Their Icons (by/via) · · , ,
  219. Building the Main Navigation for a Website (by/via) · · , ,
  220. Are Modals in Web Design a UX Disaster? (via) · · , , ,
  221. WCAG 2.2 Hits Candidate Recommendation—but What Does It Mean? (by/via) · · ,
  222. Detect When Users Switch Tabs Using JavaScript (by) · ·
  223. Rewriting Tests From Cypress to Playwright Using GPT3 (by/via) · · , , , , ,
  224. An Overview of Node.js: Architecture, APIs, Event Loop, Concurrency (by) · · , , , , ,
  225. A Whole Cascade of Layers (by) · · ,
  226. An Attempt at Outlining the Many Factors Influencing Developer Experience (by) · ·
  227. Hacking CSS Animation State and Playback Time (by/via) · · ,
  228. So Your Designer Wants Stuff to Overlap (by) · · ,
  229. W3C Accessibility Maturity Model (by+/via) · · ,
  230. Rewrite Your Git History in 4 Friendly Commands (by) · · ,
  231. How to Improve Largest Contentful Paint for Faster Load Times (by/via) · · , , ,
  232. Introducing Signals (via) · · , ,
  233. How to Build Event-Driven Architecture on AWS? (by/via) · · , , ,
  234. Critical CSS? Not So Fast! (by) · · ,
  235. The Realities and Myths of Contrast and Color (via) · · , , ,
  236. 5 Reasons to Invest in User Experience (via) · ·
  237. Dreamy Blur (by) · · , ,
  238. Top 5 Technology Trends in UX Design (via) · · , ,
  239. Understanding Regulatory Compliance and Making It Work on Your Web Site (by/via) · · ,
  240. Getting Started With MathML (via) · · ,
  241. A/B Testing in 7 Steps to Quickly Improve Your Conversions (by/via) · · , ,
  242. HTML Markup Tips for Developing Accessible Websites (by/via) · · , ,
  243. The Art of Writing Secrets: Encryption for JavaScript Developers (by/via) · · ,
  244. A Beginner’s Guide to Design Tokens (by/via) · · ,
  245. A Content Warning Component (by) · · , ,
  246. Infinite Scrolling: When to Use It, When to Avoid It (by/via) · · , ,
  247. Prestige Is the Designer’s Achilles’ Heel (via) · ·
  248. Git Cheatsheet · · , ,
  249. Disabled JavaScript Turns Off Native Lazy Loading (by) · · , , ,
  250. Dear Oracle, Please Release the JavaScript Trademark (by) · · ,