Frontend Dogma

News and Tools for Frontend Development (11)

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

  1. Design for the Web Without Figma (by) · · ,
  2. The “article” Element and Screen Readers (by) · · , , , , ,
  3. Build a Simple Beginner App With Node, Bootstrap, and MongoDB (by/via) · · , , ,
  4. Introduction to MongoDB and NoSQL Databases (via) · · , ,
  5. What Is Page Bloat? And How Is It Hurting Your Business, Your Search Rank, and Your Users? (by/via) · · , , , ,
  6. 90s Websites—Key Characteristics and Examples (via) · · , , , , ,
  7. The Fake Aura of Care in UX (via) · ·
  8. Understanding SVG Paths (by) · ·
  9. Your Browser May Be Having a Secret Relationship With a Screen Reader (via) · · , , ,
  10. How I Am Blogging the IndieWeb Way (by) · · , ,
  11. HTML Form Validation Using Cypress (by) · · , ,
  12. AI and the Automation of Work (by) · · , ,
  13. 4 Design Principles I Use Every Day to Avoid Bad UX and Create Products That Work for Everyone (by) · · , , ,
  14. And 4 More HTML Concepts You Didn’t Know (by) · · , ,
  15. How to Use Node.js to SSH Into Remote Servers: A Comprehensive Guide (by) · · , , , , ,
  16. Identify Unused npm Packages in Your Project (by) · · , ,
  17. Setting Expectations for the Node.js Test Runner (by) · · , ,
  18. The Big Problem With Variables in Figma (by/via) · ·
  19. How to Measure the Impact of a Design System? (by/via) · · , ,
  20. Observing Node.js Processes With eBPF (by) · · ,
  21. How to Tackle Docker and Kubernetes for Frontend · · , ,
  22. Angular Is Getting New Template Syntax (by/via) · ·
  23. Designers Who Code, What Is It Good For? (by) · · ,
  24. In Defence of “DOM­Content­Loaded” (by) · · , ,
  25. CommonJS Is Hurting JavaScript (by/via) · ·
  26. New to the Web Platform in June (by/via) · · , , , , , , , ,
  27. Introduction to JSX (by/via) · · , ,
  28. React Developers Love Preact, Here’s Why (by/via) · · , ,
  29. The “details” Element and In-Page Search (by) · · , , ,
  30. What’s the Perfect Design Process? (by/via) · · ,
  31. Under-Engineered Comboboxen? (by) · · , , ,
  32. Accessible Overlays Aren’t Accessible (via) · · ,
  33. An Introduction to the View Transitions API (by/via) · · , ,
  34. WCAG 2.2, Quick and Simplified (by) · · , ,
  35. JavaScript Gom Jabbar (by) · ·
  36. What’s Next for Redux With Mark Erikson (by/via) · · , , , ,
  37. Understanding TypeScript Generators (via) · ·
  38. How to Build Things People Want to Use (by) · · ,
  39. Solved: Tricky Floating Image Alignment (by/via) · · , ,
  40. Combat Accessibility Decay: How to Maintain Ongoing Accessibility (via) · · , ,
  41. Introduction to MySQL Data Types (via) · · , ,
  42. The Importance of Verifying Webhook Signatures (via) · · ,
  43. Position-Driven Styles (by) · · ,
  44. 4 Ways to Improve Mobile Accessibility (by) · · ,
  45. Web and App ADA Lawsuits: 6 Trends So Far in 2023 (via) · · , ,
  46. Why You Must Commit to Grounding Every DEI-Related Effort With Data (by+/via) · · , , ,
  47. How to Use CSS “background-size” and “background-position” (by/via) · · , ,
  48. Feature Flags Configuration, Instrumentation, and Use (via) · · , , ,
  49. Release Notes for Safari Technology Preview 173 (by/via) · · , , ,
  50. JavaScript Console Methods: A Deep Dive (by) · · , ,
  51. Form and Search Landmarks (by) · · , , , , ,
  52. Getting Started With Native Design Tokens in Figma (by/via) · · , ,
  53. The Massive Bug at the Heart of the npm Ecosystem (by/via) · · , ,
  54. Building Sliding Cards With “position: sticky;” (by) · ·
  55. Demystifying JavaScript Operators: What Does That Symbol Mean? (by/via) · · ,
  56. Amplify Design Values Through Building Design System (via) · · ,
  57. Feature Management and Feature Experimentation, Why You Should Do Both—How It Helps Both Product and Software Engineering Teams (via) · · , , ,
  58. Popular DevTools Tips (by/via) · · , ,
  59. Screen Magnification: Digital Accessibilitiy (via) · · , , ,
  60. What’s Next for JavaScript: New Features to Look Forward To (by/via) · ·
  61. Faking a “:snapped” Selector With Scroll-Driven Animations (by/via) · · , , ,
  62. Going Beyond Constants With Custom Properties (by/via) · · ,
  63. Transition Between Pages Smoothly With a Single Line of Code (by) · · ,
  64. AI Is Killing the Old Web, and the New Web Struggles to Be Born (by/via) · · ,
  65. What Does the Image “decoding” Attribute Actually Do? (by) · · , ,
  66. Learn How to Use Hue in CSS Colors With HSL (by/via) · · , ,
  67. Live Regions in React (by) · · , , ,
  68. Tips for Upgrading Your Techstack for Faster Frontend Development (by/via) · · , , , ,
  69. Qwik Introduction—a Framework That Goes Fast (by) · · , ,
  70. What’s Your Type? Try These Tests to Pick the Perfect Font for You (by+/via) · · , ,
  71. Mapping Typography (by/via) · · , ,
  72. Top Tips From a Web Accessibility Evaluator at WebAIM (by/via) · · , ,
  73. An Introduction to Parser Combinators (by) · · ,
  74. Mixing Colors With CSS (by) · · ,
  75. A Beginner’s Guide to Laravel: Introduction and Key Features · · , ,
  76. XML Is the Future (by) · · ,
  77. WebSockets 101 (by/via) · · , ,
  78. Text Wrap Pretty Is Coming to CSS (by) · · ,
  79. Choosing a Color Palette (via) · · , , ,
  80. Converting [a] JavaScript Codebase to TypeScript (by/via) · · , , ,
  81. Understanding Authorization Before Authentication: Enhancing Web API Security (by/via) · · , , , ,
  82. Debugging INP (by) · · , , ,
  83. All You Need to Know About CORS and CORS Errors (by/via) · · , ,
  84. An Introduction to Command Injection Vulnerabilities in Node.js and JavaScript (by) · · , , , ,
  85. Using BEM for Design System Tokens (by) · · , , ,
  86. Announcing Svelte 4 (via) · · ,
  87. The Cost of JavaScript 2023 (by) · · , ,
  88. Future CSS: State Container Queries (by) · · ,
  89. Component Driven User Interface Testing (CDUIT) · · ,
  90. The Unlikely Story of UTF-8: The Text Encoding of the Web (by) · · ,
  91. Introducing the MDN Playground: Bring Your Code to Life (via) · · , ,
  92. What Exactly Is [the] “:root” Pseudo-Element in CSS? (by/via) · · , ,
  93. WCAG 2.2 Removes 4.1.1 Parsing and How axe-core Is Impacted (by/via) · · , , ,
  94. Design Systems Directory (by) · · ,
  95. Designing for Inclusion (by/via) · · , ,
  96. How Designers Can Beat AI at Design (by/via) · · ,
  97. Using Multiple Selectors With JavaScript Selector Methods (by) · · ,
  98. Cascade Layers Are Useless * (by) · · ,
  99. CSS in Micro Frontends (by) · · ,
  100. The 5 Pillars of Every HTTP Request · ·
  101. Too Much JavaScript? Why the Frontend Needs to Build Better (by/via) · · , ,
  102. State of CSS 2023 (by) · · ,
  103. W3C Launch Their New Website (by/via) · ·
  104. Three Key Principles for an Accessible Website (by+/via) · · ,
  105. Creating a Flexible Design Token Taxonomy for Intuit’s Design System (by) · · ,
  106. Making Your Design Tokens Future-Proof (by) · ·
  107. Authentication vs. Authorization · · , ,
  108. Continuous Accessibility (by) · · , ,
  109. Style Your RSS Feed (by) · · , , ,
  110. Thoughts From “Meet Safari for Spatial Computing” (by) · · , , , ,
  111. Balancing Users’ Data Privacy and the User Experience (by/via) · · ,
  112. Can Web Developers Be Held Liable? (by/via) · · ,
  113. Balancing Users’ Needs and Business Goals in UX Design (via) · · ,
  114. Packaging and Selling a Node.js App (by/via) · ·
  115. Why UX Testing Is Critical to Your Web Site’s Success (by/via) · · ,
  116. Gatsby Headaches and How to Cure Them: I18N II (by/via) · · ,
  117. Button Types (by) · · ,
  118. Radix UI Component With Next.js and Tailwind CSS (by) · · , , , ,
  119. Import Maps to Natively Import JavaScript Modules Using Bare Names (by) · ·
  120. The New CSS (by) · · , ,
  121. The Problem With Sticky Menus That Appear on Scroll and What to Do Instead (by) · · , ,
  122. How to Clean Up Your Local Repository With Git Commands (by/via) · · , , ,
  123. It’s Time for Dimensional Thinking in Design (via) · · ,
  124. IndexedDB Tutorial for Beginners: A Comprehensive Guide with Coding Examples · · , , , ,
  125. Git Concepts Everyone Should Know (by) · · ,
  126. TypeScript 5.2’s New Keyword: “using” (by) · ·
  127. The Five Types of People Who Produce Inaccessible Code (by) · · ,
  128. Standardising Design Tokens (by) · · ,
  129. Create React UI Lib: Component Library Speedrun (by) · · , , ,
  130. Scoping (by) · · ,
  131. Creating Scroll-Triggered Animations by Combining Scroll-Driven Animations, Custom Properties, Style Queries, and Transitions (by/via) · · , , , , ,
  132. 6 Quick Tests You Can Do to Test Your Forms for Accessibility (by) · · , ,
  133. The Next Phase of Eleventy: Return of the Side Project (by) · ·
  134. What’s UnAI-Able (by/via) · ·
  135. What Are Deceptive Patterns? (via) · · ,
  136. An Explosion in Software Engineers Using AI Coding Tools? (by) · · , ,
  137. A Guide to Coding Standards to Improve Code Quality (by/via) · · , , , ,
  138. How to Add a CSS Reveal Animation to Your Images (by/via) · · , , ,
  139. Top 10 Things You Should Add While Coding: Valuable Tips for Programmers (by) · · ,
  140. Using Color Wheel Combinations in Your Designs (via) · · ,
  141. Cyclic Dependency Space Toggles (by) · · ,
  142. How (and Should?) We Stop the Infinite Scroll (via) · · ,
  143. How to Build Server-Side Rendered (SSR) Svelte Apps With SvelteKit (by/via) · · , , , ,
  144. Design vs. Accessibility and the CSS “visually-hidden” Class (by/via) · · , , ,
  145. npm Won’t Publish Packages Containing the Word “keygen” · · , ,
  146. Puppeteer in Node.js: More Antipatterns to Avoid (via) · · , , , ,
  147. Rebuilding a Comment Component With Modern CSS (by) · · , ,
  148. The Gotchas of CSS Nesting (by) · · ,
  149. When and Why to Use a Click Test (via) · · ,
  150. Nuxt in 100 Seconds (by/via) · · , ,
  151. Tuesday, June 20, 2023 Security Releases (by/via) · · , ,
  152. Chrome for Testing: Reliable Downloads for Browser Automation (by/via) · · , , ,
  153. Gatsby Headaches and How to Cure Them: I18N (by/via) · · ,
  154. Blur Vignette Effect in CSS (by) · · ,
  155. Naming Components · · , ,
  156. “margin-trim” as a Best Practice? (by) · ·
  157. Positioning Anchored Popovers (by) · · ,
  158. CSS! CSS! CSS! (by) · · ,
  159. How to Highlight Required and Optional Form Fields (by) · · , , ,
  160. Bottom Sheets: Definition and UX Guidelines (by/via) · · , , ,
  161. The Continuing Tragedy of CSS: Thoughts From CSS Day 2023 (by) · · ,
  162. You Can Stop Using “user-scalable=no” and “maximum-scale=1” in Viewport Meta Tags Now (by) · · , , ,
  163. Design Under Constraints: Challenges, Opportunities, and Practical Strategies (by/via) · · ,
  164. Modern CSS for Dynamic Component-Based Architecture (by) · · , ,
  165. That’s Not How I Wrote CSS Three Years Ago (by/via) · · , ,
  166. Shining Light on the Shadow DOM (by/via) · · , ,
  167. Liven Up Your Websites With Scroll-Driven Animations and View Transitions (by/via) · · , , , ,
  168. Best Animation Libraries for React (by) · · , , ,
  169. CSS Containers, What Do They Know? (by/via) · · , ,
  170. Internet Explorer: The 1st Browser to Support CSS (by+/via) · · , , , , , ,
  171. An Introduction to DevOps · · ,
  172. State of the CSS Community (by/via) · · , ,
  173. Sticky Content: Focus in View (by/via) · · , , ,
  174. The CSS “overscroll‑behavior” Property Can Be Used to Disable Default Browser Gestures (by/via) · · ,
  175. No, “AI” Will Not Fix Accessibility (by) · · ,
  176. Style Recalculation Secrets They Don’t Want You to Know (by/via) · · , , ,
  177. The Universal Focus State (by) · · , ,
  178. Why Doesn’t CSS Have Scope? (by/via) · · , ,
  179. Must Know JavaScript API—IndexedDB API (by/via) · · , , ,
  180. Are Simple Websites Better for Business? (via) · · ,
  181. 48 Laws, Rules, and Principles of Web Development (by) · · , ,
  182. Chrome DevTools Tips: Styles Pane and Elements Panel (by/via) · · , , , ,
  183. Before Your Next Frontend Pull Request, Use This Checklist (by+/via) · · , , , , , ,
  184. Best Practices for Container Queries (by) · · , ,
  185. Testing Sites and Apps With Blind Users: A Cheat Sheet (by+/via) · · , , , , , ,
  186. Designing a Scalable Backend in Node.js (by/via) · · , ,
  187. Assume the Position—a Labelling Story (by/via) · · , ,
  188. Be Careful With “ch” Units (by) · · ,
  189. Modern CSS in Real Life (by) · ·
  190. Reducing Complexity in Front End Development (by/via) · · , , ,
  191. Exploring Universal and Cognitive-Friendly UX Design Through Pivot Tables and Grids (by/via) · · ,
  192. Styling Scrollbars (by) · · ,
  193. What’s New in CSS (by/via) · · , ,
  194. Tokens Are the Most Valuable Artifact a Design System Can Provide (by/via) · · ,
  195. Angular at Google I/O 2023 (by/via) · · , ,
  196. The Ultimate Guide to Writing Technical Blog Posts (by) · · , ,
  197. Accessibility and Artificial Intelligence (by) · · ,
  198. Accessible Rich Internet Applications (WAI-ARIA) 1.2 (via) · · , ,
  199. RSC From Scratch: Server Components (by) · · , ,
  200. Accessibility Testing—Pay Attention to the Details (via) · · ,
  201. An Introduction to Debugging in Node.js (by/via) · · , ,
  202. Primitive Objects in JavaScript: When to Use Them (via) · · ,
  203. Is React Having An Angular.js Moment? (by/via) · · ,
  204. One More Thing—Apple’s Push on Web Apps on macOS (by) · · ,
  205. The Problem With Automatically Focusing the First Input and What to Do Instead (by) · · , , ,
  206. New Job? Negotiate as If Your Life Depends on It (by) · ·
  207. How to Detect Unnecessary Renderings of DOM Elements in Your Web App to Improve Performance (by) · · , , , , ,
  208. No Single Metric Captures Productivity (by) · · ,
  209. wasmati: You Should Write Your WebAssembly in TypeScript (by/via) · · , ,
  210. Every Design Team Needs Writers (by/via) · · ,
  211. How Chrome Achieved High Scores on Three Browser Benchmarks (by/via) · · , , ,
  212. WCAG 2.2 Misses Mark on Defining Visible Focus (by) · · , , ,
  213. How AI Can Make Software More Intuitive (by) · · ,
  214. Do Not Drop Sass for CSS · · , ,
  215. An Introduction to “@ scope” in CSS (by) · · , ,
  216. New CSS Color Spaces and Functions in All Major Engines (by/via) · · , , , ,
  217. How We Created an Accessible, Scalable Color Palette · · , , , ,
  218. The Many Ways to Select the n-th Character From a String (by) · ·
  219. Announcing TypeScript 5.1 (by/via) · · ,
  220. Asynchronous JavaScript for Beginners (by+/via) · ·
  221. The Context Dilemma (by) · · ,
  222. Accessible Components: The Hamburger Menu · · , ,
  223. Semantic Code in HTML: What Is It and Does It Still Matter? (by) · · ,
  224. Why We Should Stop Using JavaScript According to Douglas Crockford (by/via) · · ,
  225. Performance Is Not a Checklist (by) · · , ,
  226. A Practical Guide to Deploying a Complex, Production-Level, Three-Tier Architecture on AWS · · , , , ,
  227. Advanced Form Control Styling With “selectmenu” and Anchoring API (by/via) · · , ,
  228. Presentational Colors (by/via) · · ,
  229. Quick Tip: Shipping Resilient CSS Components (by/via) · · , , , ,
  230. Watch Transitions in Slow Motion in Chrome’s DevTools (by) · · , , , ,
  231. Some Things I Learnt From Working on Big Frontend Codebases (by) · · ,
  232. Design Systems: A Curated List for Today’s UI/UX Designers (via) · · , , ,
  233. Accessibility Audits for All (by) · · , ,
  234. security.txt Now Mandatory for Dutch Government Websites · · ,
  235. Re-Evaluating “px” vs. “em” in Media Queries (by) · · , , ,
  236. Token Operations (by) · ·
  237. New to the Web Platform in May (by/via) · · , , , , , , , ,
  238. Is There a Viable Animated GIF Alternative Yet or What? (by/via) · · ,
  239. Watch Out for Layout Shifts With “ch” Units (by/via) · · , ,
  240. Linting Defensive and Logical CSS With Stylelint Plugins (by/via) · · , , , ,
  241. How Blink Invalidates Styles When “:has()” [Is] in Use (by/via) · · , , ,
  242. Release Notes for Safari Technology Preview 171 (by/via) · · , , ,
  243. 21 Awesome Web Features You’re Not Using Yet (by/via) · · , , ,
  244. Cracking the Theme Switcher and Dark Mode (by/via) · · , ,
  245. An Introduction to JavaScript Proxies (by/via) · · ,
  246. Hands on With the Node.js Test Runner (by/via) · · ,
  247. The Art of Code Review (by/via) · · , ,
  248. I Think I Finally “Get” JS Objects (by) · · ,
  249. What Is Personalization? (via) · · ,
  250. Announcing the Second Compute Pressure Origin Trial (by/via) · · , , ,