Frontend Dogma

News and Tools for Frontend Development (8)

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

  1. Why Is Creativity So Blurry, and Am I Creative? · · , ,
  2. How Custom Property Values Are Computed · · ,
  3. Submit Your Proposals for Interop 2024 · · , ,
  4. Why I Quit Open Source · · , ,
  5. Use Cases for IIFEs · ·
  6. Documentation Is a Living Thing: How We Talk Informs What We Make · · , ,
  7. Getting Started With CSS in JS · · ,
  8. Multi-Page Web Apps · · , ,
  9. Why Drupal 10 · · ,
  10. I Think I Kind of Hate Lazy Loading · · ,
  11. Nuclear Anchored Sidenotes · · ,
  12. Stop Lazy Loading Product and Hero Images · · , ,
  13. The Cult of Productivity · · , ,
  14. Limitations of Scoped CSS · · ,
  15. From Silos to Design Systems · · , ,
  16. Changes and Additions in Pointer Events Level 3 · · , , ,
  17. State of Web Accessibility, ARIA in HTML, and Missing UI Patterns · · , , ,
  18. The Real Value of Tokens · · ,
  19. What Is Functional Testing? Definition, Key Concepts, and Types · · , ,
  20. Gradients, Blend Modes, and a Really Cool Hover Effect · · , ,
  21. JPEG and EXIF Data Manipulation in JavaScript · · , ,
  22. Cool Tools · · ,
  23. Discover Bun—a Faster, Modern JavaScript Runtime · · , ,
  24. Medium vs. DEV vs. Hashnode vs. Hackernoon · · , , ,
  25. Rewriting Digital Content for Brevity · · , , ,
  26. Creating Dynamic README.md File · · ,
  27. Why Your Design System Needs a Component Process · · , ,
  28. Running a Playwright Script on AWS Lambda · · , ,
  29. How I Approach and Structure Enterprise Frontend Applications After 4 Years of Using Next.js · · , ,
  30. Bun, Javascript, and TCO · · , ,
  31. Bun 1.0 · · ,
  32. The Dangers of Deceptive Design Patterns (and How to Avoid Them) · · ,
  33. JavaScript WTF: Why Does “every()” Return “true” for Empty Arrays? · ·
  34. A New Method to Validate URLs in JavaScript · · , ,
  35. CSS “display” Is a Multi-Keyword Property? · · ,
  36. CSS Lobotomized Owl Selector: A Modern Guide · · , , ,
  37. From Data-Driven to Decision-Driven · · , ,
  38. The “Array.prototype.every()” Method Always Returns “true” for an Empty Array · · ,
  39. The New Google Fonts: Find What You’re Looking For · · ,
  40. Web Components Accessibility FAQ · · ,
  41. Why Are We Not Still Using Tables-for-Layout? · · , ,
  42. WOFF Has Left the Building · · , , ,
  43. Delay, Sleep, Pause, and Wait in JavaScript · ·
  44. Building a Real-Time Chat With Websockets, Novel, and Clerk · · , , , , ,
  45. Gulp vs. Webpack—What Is Better: Using Webpack or Gulp.js? · · , ,
  46. GoDaddy Retires Media Temple Brand · · ,
  47. Is AI the Silver Bullet of Accessibility? · · ,
  48. Long Live the Test Pyramid · · , ,
  49. Making Sense of React Server Components · · ,
  50. Using Labeled Loops in JavaScript · ·
  51. Four Common Types of Code Coverage · · ,
  52. Turbo 8 Is Dropping TypeScript · · , ,
  53. Release Notes for Safari Technology Preview 178 · · , , ,
  54. Equivalent Experience Can Cut Both Ways · · ,
  55. Essential Metrics for Click Testing · · , ,
  56. Node.js Includes Built-In Support for .env Files · · , ,
  57. Node.js vs. Deno vs. Bun: JavaScript Runtime Comparison · · , , , , ,
  58. Progressively Enhanced Form Validation: Custom Validation Messages · · , , ,
  59. The Perpetual Circle of Accessibility · · ,
  60. 8 Micro Tips for Remarkably Better Typography · · , ,
  61. Browser Video Players Review · · , , , , , ,
  62. First, Do No Harm: Mistakes to Avoid in Creating Accessible User Experiences · · , ,
  63. Web Components Don’t Need You · ·
  64. Node v20.6.0 · · ,
  65. Understanding SSR, CSR, ISR, and SSG: A Comprehensive Guide · · , , ,
  66. NODE_ENV Considered Harmful · · ,
  67. Information Architecture vs. Sitemaps: What’s the Difference? · · , ,
  68. A Wide View of Automated Testing in React Apps · · , ,
  69. On Productivity Metrics and Management Consultants · · , ,
  70. Style Is Consistent Constraint · · ,
  71. Top Website Redesign Tips for 2023 · · ,
  72. Three Dimensions of Developer Productivity · · , ,
  73. Clocks and Countdowns: Timing in CSS and JavaScript · · ,
  74. Selecting the Scoping Root · · ,
  75. Small Details to Improve Your Website’s Experience · · , , ,
  76. Type Safe CSS Design Systems With “@ property” · · , ,
  77. Dialog Dilemmas and Modal Mischief: A Deep Dive into Popovers and How to Build Them · · , , ,
  78. Build a GraphQL Gateway: Combine, Stitch, or Merge Any Datasource · · ,
  79. How to Make Charts and Graphs More Accessible · · , , ,
  80. Is Atomic Design Dead? · · ,
  81. Things That Jakob’s Law Is Not · · , ,
  82. Decoding WCAG: “Alternative for Time-Based Media” and “Media Alternative for Text” · · , ,
  83. Understanding Feature Flags: Improving Feature Management · · , ,
  84. An Introduction to the Laravel PHP Framework · · , , ,
  85. Case Study: Rebuilding TechCrunch Layout With Modern CSS · · , ,
  86. CSS Loaders · · , , ,
  87. Accessibility Theater · ·
  88. Astro 3.0 · · ,
  89. Memorization and Learning to Code · · , , ,
  90. Using “rem” Doesn’t Make Your Website Responsive—Here’s Why · · , ,
  91. What Is Inclusion Anyways? Lessons from the Disabled Community · · , , ,
  92. What Is the View Transitions API and How to Use It With Meta Frameworks · · , , ,
  93. Getting Started With htmx: A Comprehensive Guide for Beginners · · , ,
  94. Web Sustainability Guidelines (WSG) 1.0 · · ,
  95. Why Do I Have Layout Shift? · · , ,
  96. Let’s Make a Rubber Button With HTML, CSS and SVG · · , , ,
  97. Connected Grid Layout Animation · · , ,
  98. Tracking Errors in a Node.js Application · · , ,
  99. Git Uncommit · · ,
  100. Five Optimization and Performance Tools That Enhance Website User Experience · · , , , ,
  101. Hover Triangles · · ,
  102. Benchmarks [for 24 CSV Parsing Approaches] · · , , ,
  103. Building Accessibility into Your Company, Team, and Culture · · , ,
  104. How to Implement SSL/TLS Pinning in Node.js · · , , , ,
  105. Measuring Developer Productivity? A Response to McKinsey · · ,
  106. Web Apps Are Better Than No Apps · ·
  107. Announcing Cypress 13 With Test Replay · · ,
  108. Why Are Websites Embarrassing? · · ,
  109. Falling for OKLCH: A Love Story of Color Spaces, Gamuts, and CSS · · , ,
  110. How I Write Alt Text for Code Snippets on Social Media · · , , ,
  111. 8 Habits That Hold Back Your Developer Potential · · ,
  112. From User Needs to User Dreams: Find the Future of Your Product · · , ,
  113. Six Reasons Not to Use React · · ,
  114. Realistic CSS Animations and the “linear()” Timing Function · · , ,
  115. Navigating Web Accessibility Litigation: Advice from a General Counsel · · ,
  116. Single-Page Applications: Ember vs. Angular · · , , ,
  117. Code Splitting in React: Optimize Performance by Splitting Your Code · · , , ,
  118. An Overview of Feature Flags · · , , , ,
  119. Web UX: Study Guide · · , , ,
  120. Dark Mode: How Users Think About It and Issues to Avoid · · , , ,
  121. State of CSS 2023 · · ,
  122. Co-Authoring Git Commits · · ,
  123. Biases in Design: Hiding in Plain Sight in a World Full of Visuals · ·
  124. Accessible Navigation · · ,
  125. Package-Based Architecture—Let’s Deliver the Packages · · , ,
  126. Visualizing Recursion With the Sierpinski Triangle · · ,
  127. Browser Automation With Puppeteer · · , ,
  128. Catching Errors Thrown from “connectedCallback” · · , ,
  129. Introducing the 100-Year Plan: Secure Your Online Legacy for a Century · · , ,
  130. Where to Put Focus When Deleting a Thing · · ,
  131. Scope vs. Shadow DOM · · , , , , ,
  132. WTF Is a Vector Database: A Beginner’s Guide · · ,
  133. Announcing TypeScript 5.2 · · ,
  134. A More Intelligent and Secure Web · · , , , , ,
  135. European Accessibility Act: Article 32, and Why It Sucks · · ,
  136. Main-ly Speaking · · ,
  137. TypeScript 5.3 First Look · ·
  138. What Is Alt Text and How to Write It · · , ,
  139. Stakeholder Management for Design Systems · · , ,
  140. A Few Interesting Ways to Use CSS Shadows for More Than Depth · · , ,
  141. The Art of UX Writing · · , ,
  142. Use Web Components for What They’re Good At · ·
  143. Google August 2023 Broad Core Update Is Live—What We Are Seeing Now · · ,
  144. How Organisations Respond to Accessibility Monitoring · · ,
  145. Pros and Cons of Using Shadow DOM and Style Encapsulation · · , ,
  146. To Test or Not to Test, a Technical Perspective · · , ,
  147. How to Get 12% More LinkedIn Followers, Impressions, and Clicks—Practical Accessibility Tips and Tricks · · , , , ,
  148. Block the Bots That Feed “AI” Models by Scraping Your Website · · , ,
  149. WebGlossary.info · · , , , ,
  150. Debugging Speculation Rules · · ,
  151. A Quick Introduction to CSS “@ scope” · · , , ,
  152. View Transitions Break Incremental Rendering · · , ,
  153. No One Actually Wants Simplicity · · ,
  154. A Guide to Migrating from Webpack to Vite · · , , ,
  155. Release Notes for Safari Technology Preview 177 · · , , ,
  156. Changes over the Last 25 Years of UX Research · · , ,
  157. Two Important New Roles for UX Designers in the Era of AI · · , , ,
  158. Can We Truly “Create” Value? · · ,
  159. Bézier Curves · ·
  160. Migrating from Color Styles to Local Variables in Figma · · , ,
  161. Please Size Your Inline SVGs · ·
  162. Patterns for Reactivity With Modern Vanilla JavaScript · · ,
  163. Progressively Enhanced Form Validation: Validating a Checkbox Group · · , ,
  164. Writing Component Specs · · , ,
  165. The Ideal Viewport Doesn’t Exist · · ,
  166. “We’re All Just Temporarily Abled” · ·
  167. How to Make an Impact as a Developer Advocate · · , ,
  168. 7 Reasons to Replace Advanced Search With Filters So Users Can Easily Find What They Need · · , , ,
  169. The Definitive Guide to Web Personalization: Strategies, Tools, and More to Know · · , ,
  170. Combining “:placeholder-shown” and “:has” · · , ,
  171. Let’s Build a Website Using XML · · ,
  172. Getting Started With SCSS—the CSS Preprocessor With Superpowers · · , ,
  173. Why htmx Does Not Have a Build Step · · ,
  174. Styling Links and Buttons · · , , ,
  175. Identifying, Fixing, and Preventing Cannibalization · · ,
  176. Being “Polite” Does Not Ensure Access · · ,
  177. How to Use Headless Chrome in Serverless Functions With a 50 MB Limit · · , , , , , ,
  178. Demystifying CORS: Understanding How Cross-Origin Resource Sharing Works · · , ,
  179. React JSX · · ,
  180. Adding a “Share to Mastodon” Link to Any Web Site · · , , , ,
  181. Scroll Shadows With “animation-timeline” · · , ,
  182. React Props: A Visual Guide · · , ,
  183. A Beginner’s Guide to Using Pico CSS · · ,
  184. “aria-haspopup” and Screen Readers · · , , , ,
  185. Why Do Users Prefer Certain Design? Insights from the Landscape Theory · ·
  186. The New CSS Math: “round()” · · ,
  187. Tabs Are Objectively Better Than Spaces · · , ,
  188. How to Use the CSS “gap” Property · · , ,
  189. A Deep Dive into CSS “color-mix()” · · , ,
  190. XUL and HTML · · , ,
  191. A Better “setTimeout()” in JavaScript · ·
  192. Four New CSS Features for Smooth Entry and Exit Animations · · , , , , ,
  193. Accessibility Is Not Inclusive Design or Disability Rights—It’s a Part of It · · , ,
  194. Getting Started in a New Codebase · · , ,
  195. Towards HTTPS by Default · · , , , , ,
  196. Thinking on Ways to Solve Adaptive Typography · · , , ,
  197. CSS-Only Syntax Highlighting… With a Single Element and Gradients · · ,
  198. BEM Methodology Is Not About CSS · · , ,
  199. A Beginner’s Guide to SvelteKit · · ,
  200. A Guide to Optimizing JavaScript Files · · , , , , ,
  201. Beginner’s Guide to Lists and How to Make Them Accessible · · , ,
  202. CSS Selectors: A Visual Guide · · , ,
  203. How Layout Position Impacts Three Big Web Performance Levers · · ,
  204. An Intro to the “dialog” Element · · , , ,
  205. New in Chrome 116: Document Picture-in-Picture API, “notRestoredReasons” Property, and More · · , , ,
  206. WebAssembly: Byte-Code of the Future · ·
  207. Useable · · ,
  208. How to Test Mobile Apps on a Real Device Cloud · · , ,
  209. Progressively Enhanced Form Validation: Layering in JavaScript · · , , ,
  210. An “alt” Decision Tree Using Only “:has()” · · , ,
  211. Why Inclusive Language Matters in Coding · · , , ,
  212. Testing Your Animation Refresh Rate With CSS Crimes? · · , ,
  213. Unveiling the Power of Code-Splitting With Webpack for React and Redux Applications · · , , ,
  214. Debugging Rules: Understand the System · ·
  215. Write About What You Learn—It Pushes You to Understand Topics Better · · , , ,
  216. Sophisticated, Highly-Targeted Attacks Continue to Plague npm · · ,
  217. Balance in UX Design: Symmetry, Asymmetry, and Radial Balance · · , ,
  218. Designing Accessible Text over Images: Best Practices, Techniques, and Resources II · · , , , ,
  219. Nostalgia in UX Design · · , ,
  220. WCAG 3.0: Further on up the Road · · , ,
  221. Browsers Barely Care What HTTP Status Code Your Web Pages Are Served With · · , ,
  222. Create Direction-Aware Effects Using Modern CSS · · , ,
  223. Deprecating the “unload” Event · · , , , ,
  224. OKLCH in CSS: Consistent, Accessible Color Palettes · · , , , ,
  225. Google Tag Manager Performance: 9 Tips for Faster Site Speed · · , , ,
  226. A Beginner’s Guide to CSS Grid Layout · · , ,
  227. Progressively Enhanced HTML Accordion · · , , ,
  228. An Introduction to the esbuild Bundler · · , ,
  229. It’s Time to End Damaging Website Design Practices That May Harm Your Users · · , , , ,
  230. Node.js’s Config Hell Problem · · , , , ,
  231. Defining Test Cases and Priorities · ·
  232. What Happens When You Select “count(*)” in MySQL · · ,
  233. An Update on Chrome Security Updates—Shipping Security Fixes to You Faster · · , , ,
  234. OpenAI Launches Web Crawling GPTBot, Sparking Blocking Effort by Website Owners and Creators · · , ,
  235. 200 Web-Based, Must-Try Web Design and Development Tools · · ,
  236. UX Is Not Dead, It’s Just Misunderstood · ·
  237. 8 Common Heading Questions · · , ,
  238. Definition of Done vs. Acceptance Criteria: What’s the Difference? · · , , ,
  239. An Intro to State-Based UI With JavaScript · · , ,
  240. Micro Benevolences · · , , ,
  241. An Introduction to htmx, the HTML-Focused Dynamic UI Library · · ,
  242. User-Adaptive Interfaces With “AccentColor” · · ,
  243. My Experience Modernizing Packages to ESM · · , ,
  244. What Does It Mean for Web Browsers to Have a Baseline · · , , ,
  245. OpenAI’s ChatGPT New Web Crawler—GPTBot · · ,
  246. Migrating My Blog from Gatsby to Astro · · , ,
  247. Top 7 Things That Kill Developer Productivity · · , , , , ,
  248. Alt Text Hall of Fame · · , , ,
  249. Some Tactics for Writing in Public · · , ,
  250. You Don’t Need a Mentor: Embracing the Power of Community · · , ,