Frontend Dogma

News and Tools for Frontend Development (19)

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

  1. A Beginner’s Guide to Chrome Tracing (by) · · , , , ,
  2. Code Coverage With Storybook Test Runner (by/via) · · , ,
  3. The Math Behind Nesting Rounded Corners (by/via) · · , ,
  4. Guide to the Best JavaScript Books for Beginners (via) · · , , ,
  5. Conditionally Adaptive CSS—Browser Behavior That Might Improve Your Performance (by) · · , ,
  6. CSS Animated Grid Layouts (by/via) · · , ,
  7. Animated Border Gradient (by) · · , , , ,
  8. Building a Tooltip Component (by/via) · · , ,
  9. Performance (by+/via) · · , , ,
  10. Structured Data (by+/via) · · , , ,
  11. OKLCH in CSS: Why We Moved From RGB and HSL (by+/via) · · , ,
  12. Detect System Theme Preference Change Using JavaScript (by) · · ,
  13. Do You Really Understand CSS Radial Gradients? (by) · · ,
  14. Don’t Be Afraid of Reverting Code in Git (by) · ·
  15. Is There Too Much CSS Now? (by/via) · ·
  16. What? How? Why? “@ layer” (by) · · , ,
  17. Disruptive Design Patterns—an Uncharted Territory (by/via) · ·
  18. How We Improved React Loading Times by 70% With Next.js (via) · · , , ,
  19. Evolution of Manuals: UX Inspiration From History (via) · · , ,
  20. Tailwind CSS v3.2: Revisiting My “Feature Creep” Warning (by) · · ,
  21. Twitter Reminds Us About Alt Text, but How Good Are We at It? (by/via) · · , , ,
  22. Things Strong Developers Do That Drive Their Team Crazy (by) · · ,
  23. New Git Guidelines: We Have Switched to Conventional Commits (by/via) · · , ,
  24. JavaScript Shallow Copy—What Is a Shallow Copy? (by) · ·
  25. 53 UX Statistics to Know for 2023 (via) · · ,
  26. Let’s Talk About Web Components (by) · ·
  27. How to Set Up the New Google Auth in a React and Express App (by/via) · · , , , ,
  28. CSS Is Awesome (by/via) · · ,
  29. Responsive Animations for Every Screen Size and Device (by/via) · · , ,
  30. Usable, Useful, and Valuable (by/via) · · , , ,
  31. Which Serverless Edge Platform Has the Fastest Git Deployments? (by/via) · · , , , ,
  32. Why I Never Understood CSS-in-JS (by) · · , ,
  33. A Dashing Navbar Solution (by) · ·
  34. Ethical Design Is a Risk Management Strategy (by/via) · · , ,
  35. SEO and Accessibility Are Symbiotic (via) · · ,
  36. Digital Accessibility—Ask Me Anything (by+/via) · · ,
  37. GitHub Copilot Investigation · · , , ,
  38. Redo Websites Less Often (to Become a Better Developer) (by) · · ,
  39. State of CSS Frameworks (via) · · , ,
  40. The True Type in PHP 8.2 (by) · ·
  41. What If the Team Hates My Functional Code? (by) · ·
  42. Why We Need CSS Speech (by) · · ,
  43. How to Build the Foundation for Digital Accessibility (by/via) · · , , ,
  44. Highly Customizable Background Gradients (by/via) · · , ,
  45. I Made a Full-Stack and Type-Safe Personal Site Using the T3 Stack (by) · · , , ,
  46. Applying the 8 Golden Rules of User-Interface Design (via) · · , ,
  47. CSS Specificity for Beginners (by) · · ,
  48. Edit Someone Else’s Website: “contenteditable” and “designMode” (by) · ·
  49. Designing for Users With Disabilities: 10 Factors to Consider (via) · · , ,
  50. Forging Successful Partnerships With Software Developers (by/via) · · ,
  51. Common ARIA Mistakes and How to Avoid Them (by) · · , , ,
  52. Google on Alt Text SEO and Accessibility (by+/via) · · , , , ,
  53. Secure JavaScript URL Validation (by/via) · · , , ,
  54. Data-Oriented Django (by) · · , ,
  55. The Proprietary Syndication Formats (by) · · ,
  56. Hands-On Guide to Color Fonts and “@ font-palette-values” (by/via) · · , , , ,
  57. Next.js Crash Course (by) · · ,
  58. The Wasted Potential of CSS Attribute Selectors (by) · · , ,
  59. Why We’re Breaking Up With CSS-in-JS (by) · · , ,
  60. Don’t Be Arrogantly Ignorant: Don’t Flame (by) · · ,
  61. How to Rebase Stacked Git Branches (by) · · ,
  62. Moving From React to htmx (via) · · , ,
  63. Accessibility Checkers—a Good Start, Not a Solution (by/via) · · , ,
  64. Design for Them Not for You (by/via) · · , ,
  65. New Brutalism and Web Accessibility: What You Need to Know (by/via) · · ,
  66. Scoop: Meta Ending Support for Instant Articles (by/via) · · ,
  67. Container Queries: Style Queries (by/via) · · ,
  68. Microfrontends: Microservices for the Frontend (by/via) · · ,
  69. Intro to Why Accessibility Is Important for Good SEO (via) · · , ,
  70. Two JavaScripts (by) · ·
  71. Upgrading Colors to HD on the Web (by/via) · · ,
  72. A Pure CSS Gallery Focus Effect With “:not” (via) · · ,
  73. Augmenting Node.js With WebAssembly (by/via) · · , ,
  74. CDN (by/via) · · , , , ,
  75. Some Things I Took Away From an Event Apart 2022 in Denver (by/via) · · , ,
  76. What I Learned About SVG Accessibility (Among Other Things) From NBC News’ Senate “What If” Project (by) · · , ,
  77. The Web’s Next Transition (by) · ·
  78. Create a Passkey for Passwordless Logins (by/via) · · , ,
  79. Early Days of Container Style Queries (by/via) · · ,
  80. How to Animate CSS Box Shadows and Optimize Performance (by/via) · · , , , ,
  81. Design Specifications Template (by/via) · · ,
  82. Speeding Up Async Snippets (by) · · ,
  83. Representation in “alt” Text (by) · · , ,
  84. The Border Property You Never Knew You Needed (by) · · ,
  85. Tree Views in CSS (by) · ·
  86. Sustainable Web Development Strategies Within an Organization (by/via) · · , ,
  87. Bun? Deno? Node.js? Creating Your Own JavaScript Runtime Using V8, Libuv, and More (by) · · , , ,
  88. Quick Tip: How to Use the Ternary Operator in JavaScript (via) · · , , ,
  89. Challenges of Multi-Brand Design Systems (by/via) · · , ,
  90. When New CSS Features Collide: Possibility and Complexity at the Intersections (by) · · , , ,
  91. Delightful UI Animations With Shared Element Transitions API II (by/via) · · , , ,
  92. WCAG 2.2 Success Criteria (by) · · ,
  93. :where :is CSS? (by) · · ,
  94. New Patterns for Amazing Apps (by/via) · ·
  95. A Little Semantic HTML Trick for React Components (by) · · , , , ,
  96. Landing the Second Click: A Guide to Designing Better Landing Pages (by/via) · · , , ,
  97. HTML 2022: 20 Additional Observations From Analyzing the Web Almanac Data (by) · · ,
  98. How to Write Good Alt Text (by) · · , , ,
  99. SVG Sprites: Old-School, Modern, Unknown, and Forgotten (by) · · , ,
  100. Usability Heuristic Frameworks: Which One Is Right for You? (by/via) · · ,
  101. Personas: Study Guide (by/via) · · , , , ,
  102. Turn Around Your Git Mistakes in 17 Ways (by) · · , ,
  103. 4 Required Tests Before Shipping New Features (by) · · ,
  104. Layout Breakouts With CSS Grid (by) · · ,
  105. Understanding “async” and “await” (by) · ·
  106. 2022 Web Almanac Report Finds WordPress Adoption Is Growing, Adds New Page Builder Data (by/via) · · , , ,
  107. Debugging CSS, No Extensions Required (by) · · , ,
  108. Five Months Worth of Takes on the Digital Accessibility Space (by/via) · · , ,
  109. The Future of Rendering in React (by) · · , ,
  110. The Future of the Web Is on the Edge (by/via) · · ,
  111. Unless You’re in the Mafia, Your Company Isn’t Your Family (by) · ·
  112. Adding Components to Eleventy With WebC (by) · · ,
  113. How to Safely Share Your Email Address on a Website (via) · · , ,
  114. WordPress.org Plugin Developers Demand Transparency Regarding the Removal of Active Install Growth Data (by/via) · · , ,
  115. How to Safely Pass Data to JavaScript in a Django Template (by) · · , ,
  116. Awesome Tools for Open Source Contributions (by) · · , ,
  117. AI Code Completion Is Like Cruise Control—and That’s Great News for Bigger Teams (by) · · , , ,
  118. Foundations: HTML Semantics (by/via) · · ,
  119. Front-End Development Is Like… (by) · ·
  120. Using Web Components With Next (or Any SSR Framework) (by/via) · · , ,
  121. Easy Fluid Typography With “clamp()” Using Sass Functions (by/via) · · , , , ,
  122. Quick Tip: How to Use the Spread Operator in JavaScript (via) · · , , ,
  123. Patching the Open Web (by) · ·
  124. Use “npm query” and jq to Dig Into Your Dependencies (by) · · , , ,
  125. 3 Things to Consider Before You Implement CAPTCHA for Accessibility (via) · · ,
  126. Can Consistency Harm Your Product? (by/via) · · ,
  127. Component-Level Design Tokens: Are They Worth It? (by) · · ,
  128. Four Ways to Pick the Right UX Method (by/via) · · ,
  129. One Formula to Rule Them All: The ROI of a Design System (by+/via) · ·
  130. The Missing Math Methods in JavaScript (via) · · ,
  131. Where Are the Accessibility Statements? Digital Accessibility Shouldn’t Be a Surprise (via) · ·
  132. CSS Halftone Patterns (by/via) · · ,
  133. Designing a Secure API (by/via) · · , ,
  134. When Going Somewhere Does a Thing: On Links and Buttons (by) · · , , , ,
  135. A CSS Class-Naming Convention Might Still Be Your Best Choice (by) · · , ,
  136. A Beginner’s Complete Guide to Form Accessibility: The 5 Things Accessible Forms Need and How to Fix Common Errors (via) · · , ,
  137. I Changed My Mind About Writing New JavaScript Frameworks (by) · · ,
  138. Minimalism as Narcissism (by) · ·
  139. The Difference Between “undefined” and “not defined” in JavaScript (by/via) · ·
  140. Delightful UI Animations With Shared Element Transitions API (by/via) · · , , ,
  141. Mobile UX Design in 2022 (by/via) · · , ,
  142. Busting the Myths About Agile Development and User Research (via) · · , , ,
  143. I Turned JS Into a Compiled Language (for Fun and Wasm) (by) · · , ,
  144. CSS-Only Type Grinding: Casting Tokens Into Useful Values (by/via) · · ,
  145. Phylum Detects Active Typosquatting Campaign Targeting npm Developers (via) · · , ,
  146. Ten Years of TypeScript (by/via) · ·
  147. What Is Website Minimalism? (by) · · ,
  148. Building Delight in Your Design System (by/via) · · ,
  149. Templating in HTML (by) · · ,
  150. Why UX? (via) · · ,
  151. depngn (via) · · , , ,
  152. Optimize Long Tasks (by/via) · · ,
  153. Learn Accessibility (by/via) · · ,
  154. Getting Started With WordPress Block Development (via) · · ,
  155. A Web Component Story (by) · · ,
  156. Choosing the Best Node.js Docker Image (by/via) · · ,
  157. Why You Should Care About Design in Uncertain Times (via) · ·
  158. Yes, Accessibility Is Also a Backend Concern (by) · ·
  159. “:has()” Opens Up New Possibilities With CSS (by) · · , ,
  160. How to Center a Div Using CSS Grid (by/via) · · , ,
  161. State of CSS 2022 (by+/via) · · ,
  162. Intersectionality, Accessibility, and Inclusion (via) · · , ,
  163. GIFs Without the .gif: The Most Performant Image and Video Options Right Now (by/via) · · , , , ,
  164. This Site’s Type Is Now Variable (by) · · , ,
  165. Let Me Understand How JavaScript Works Under the Hood (by) · ·
  166. How to Make Your Designs Scannable (and Why You Should) (by/via) · · , ,
  167. Performance Budgets: The Easiest Way to a Faster Site (by/via) · · ,
  168. How to Return Multiple Values From a Function in JavaScript (by) · · , ,
  169. Websites Need to Be Accessible to Be Inclusive (by+/via) · · ,
  170. Five Data-Loading Patterns to Boost Web Performance (via) · ·
  171. Named Element IDs Can Be Referenced as JavaScript Globals (by/via) · · ,
  172. 7 Things to Consider When Working On a Personal Project · · ,
  173. Learn HTML (by/via) · · ,
  174. Don’t Worry, Nobody Is Replacing Node, Not Even Bun and Even Less Deno (by/via) · · , ,
  175. Useful JavaScript Math Functions and How to Use Them (by/via) · · , ,
  176. Dear Console… (by) · · , ,
  177. A Deep Dive Into WCAG 2.2—and Beyond (by+/via) · · , ,
  178. Closing a 30 Pixel Gap Between Native and Web (by/via) · · , ,
  179. 100 Days of More or Less Modern CSS (by) · ·
  180. 6+5 Ways to Make a Two-Column Layout: From Pretty Reasonable to Completely Wrong (by) · · ,
  181. I Am Not That Excited About New CSS Features (by) · ·
  182. The New Wave of JavaScript Web Frameworks (via) · · ,
  183. How to Create Wavy Shapes and Patterns in CSS (by/via) · · , ,
  184. Accessibility (by+/via) · · , ,
  185. CMS (by/via) · · , ,
  186. CSS (by/via) · · , ,
  187. Fonts (by/via) · · , ,
  188. HTTP (by/via) · · , , ,
  189. Interoperability (by/via) · · , ,
  190. JavaScript (by+/via) · · , ,
  191. Markup (by/via) · · , ,
  192. Media (by/via) · · , , ,
  193. Page Weight (by+/via) · · , ,
  194. Security (by+/via) · · , ,
  195. SEO (by+/via) · · , ,
  196. Sustainability (by+/via) · · , ,
  197. How to Get All Sibling Elements of a Link or Button With Vanilla JavaScript (by) · · , , ,
  198. Continue Using .env Files as Usual (by) · · ,
  199. Streamable HTML Fragments (by) · · ,
  200. Two Things I Learned by Validating My HTML Again (by) · · , ,
  201. Audience-Based Website Navigation (by/via) · · , ,
  202. Writing Composable SQL Using JavaScript (by/via) · · , ,
  203. Blind People Need to Be Considered More When Making Data Visualizations (by/via) · · ,
  204. Quick Reminder: HTML5 “required” and “pattern” Are Not a Security Feature (by) · · , ,
  205. The Indisputable Truth About Accessibility (by/via) · · ,
  206. Things I Wish I Had Known About Angular When I Started (by/via) · ·
  207. Top Task Analysis: Make It Fast and Efficient (by) · ·
  208. A Designer’s Guide to Documenting Accessibility (by/via) · · , , ,
  209. Randomness in CSS (by) · · ,
  210. Use Cases for CSS Comparison Functions (by) · · ,
  211. Testing Web Design Color Contrast (by+/via) · · , ,
  212. Speedy CSS Tip! Animated Loader (by/via) · · ,
  213. Attitudes to Digital Accessibility Survey 2022 (via) · · , ,
  214. 5 Ways That UX Developers Influence SEO (via) · · ,
  215. Creative Section Breaks Using CSS “clip-path” (by/via) · · ,
  216. Element Timing: One True Metric to Rule Them All? (by/via) · · , ,
  217. Rest vs. Spread Syntax in JavaScript (by) · · ,
  218. Designing Better Inline Validation UX (by/via) · · , ,
  219. Will Serving Real HTML Content Make a Website Faster? Let’s Experiment! (by/via) · · , , ,
  220. Accessibility Is Systemic (by) · ·
  221. Clarifying Color Contrast and Font Size Guidelines (by) · · , , ,
  222. React I Love You, but You’re Bringing Me Down (by/via) · ·
  223. The Web Is Good Now (by/via) · · ,
  224. Type-Level TypeScript (by) · · ,
  225. Why Designers Quit (by/via) · · ,
  226. Making Your Web Pages Printer-Friendly With CSS (by/via) · · ,
  227. It’s Good to Make Mistakes (by) · · , ,
  228. How to Generate Random Numbers in JavaScript With “Math.random()” (by/via) · · , , ,
  229. CSS Rules vs. CSS Rulesets (by) · · ,
  230. Prototyping to Learn (by) · · ,
  231. A “details” Element as a Burger Menu Is Not Accessible (by/via) · · , ,
  232. Shell Scripting With Node.js (by) · · , ,
  233. Design 4.0: Leading Design in the New Industry (via) · ·
  234. How Rapid Usability Testing Is Changing UX Research (by/via) · · , , ,
  235. Rethinking a Design System (by) · ·
  236. Web Sustainability and the Ethical Dilemma (by/via) · · , ,
  237. CSS Drawings (by) · · ,
  238. Building a Retro Draggable Web Component With Lit (by/via) · · ,
  239. Stop Using .env Files Now (by) · · ,
  240. How to Get the Current Timestamp in JavaScript (by) · · ,
  241. 5 Ways to Use Data Visualization in Your Content to Increase Traffic (via) · · , ,
  242. Accidental Dismissal of Overlays: A Common Mobile Usability Problem (by+/via) · · , ,
  243. Debunking Myths About HTTPS · · , ,
  244. The Git Commands I Use Every Day (by) · · ,
  245. Accessibility Is for Every One (by) · ·
  246. Brief Note on Super- and Subscript Text (by) · · , , ,
  247. When Design Systems Lie (by/via) · · ,
  248. How to (Not) Make a Button (by) · · , , , ,
  249. Accessibility in Times of Headless (by/via) · · , ,
  250. Design Tokens 101 (by) · ·