Frontend Dogma

News and Tools for Frontend Developers (13)

(Stay up-to-date on all topics by RSS feed, on Mastodon, and through other channels.)

  1. Web Components Don’t Need You (by/via) · ·
  2. Understanding SSR, CSR, ISR, and SSG: A Comprehensive Guide (by) · · , , ,
  3. Node v20.6.0 (by/via) · · ,
  4. NODE_ENV Considered Harmful (by) · · ,
  5. Top Website Redesign Tips for 2023 (via) · · ,
  6. Style Is Consistent Constraint (by) · · ,
  7. On Productivity Metrics and Management Consultants (by) · · ,
  8. Information Architecture vs. Sitemaps: What’s the Difference? (by/via) · · , ,
  9. A Wide View of Automated Testing in React Apps (by) · · , ,
  10. JetBrains Qodana Review (via) · · ,
  11. Why I Switched From Sublime Text to Visual Studio Code · · , , ,
  12. Type Safe CSS Design Systems With “@ property” (by) · · , , ,
  13. Three Dimensions of Developer Productivity (by) · · , ,
  14. Small Details to Improve Your Website’s Experience (by) · · , , ,
  15. Selecting the Scoping Root (by) · · ,
  16. Dialog Dilemmas and Modal Mischief: A Deep Dive Into Popovers and How to Build Them (by) · · , , ,
  17. Clocks and Countdowns: Timing in CSS and JavaScript (by) · · ,
  18. Understanding Feature Flags: Improving Feature Management (by/via) · · , ,
  19. Things That Jakob’s Law Is Not (by) · · , ,
  20. The Role of Cloud Computing in Web Development (via) · ·
  21. Is Atomic Design Dead? (by/via) · · , ,
  22. How to Make Charts and Graphs More Accessible (via) · · , , ,
  23. Decoding WCAG: “Alternative for Time-Based Media” and “Media Alternative for Text” (by/via) · · , ,
  24. Build a GraphQL Gateway: Combine, Stitch, or Merge Any Datasource (by/via) · · ,
  25. An Introduction to the Laravel PHP Framework (via) · · , , ,
  26. Guide to Using Template Engines (Such as Twig) With PHP · · , , ,
  27. Accessibility Theater (via) · ·
  28. Why Do I Have Layout Shift? (by+/via) · · , ,
  29. What Is the View Transitions API and How to Use It With Meta Frameworks (by/via) · · , , ,
  30. What Is Inclusion Anyways? Lessons From the Disabled Community · · , , ,
  31. Web Sustainability Guidelines (WSG) 1.0 (by+/via) · · ,
  32. Using “rem” Doesn’t Make Your Website Responsive—Here’s Why · · , ,
  33. Tracking Errors in a Node.js Application (by/via) · · , ,
  34. Sustainable SEO: Processes and Practices (via) · · , , ,
  35. Memorization and Learning to Code (by/via) · · , , ,
  36. Let’s Make a Rubber Button With HTML, CSS and SVG (by/via) · · , , , ,
  37. Getting Started With htmx: A Comprehensive Guide for Beginners (via) · · , ,
  38. CSS Loaders (by) · · , , ,
  39. Connected Grid Layout Animation (by/via) · · , ,
  40. Case Study: Rebuilding TechCrunch Layout With Modern CSS (by) · · , ,
  41. Astro 3.0 (by+/via) · · ,
  42. Why Are Websites Embarrassing? (by) · · ,
  43. Web Apps Are Better Than No Apps (by) · ·
  44. Measuring Developer Productivity? A Response to McKinsey (by+) · · ,
  45. How to Implement SSL/TLS Pinning in Node.js (via) · · , , , ,
  46. Hover Triangles (by) · · ,
  47. Git Uncommit (by) · · ,
  48. Five Optimization and Performance Tools That Enhance Website User Experience (via) · · , , , ,
  49. Building Accessibility Into Your Company, Team, and Culture (by/via) · · , ,
  50. Benchmarks [for 24 CSV Parsing Approaches] (by) · · , , ,
  51. Announcing Cypress 13 With Test Replay (via) · · ,
  52. From User Needs to User Dreams: Find the Future of Your Product (by/via) · · , ,
  53. Six Reasons Not to Use React (by) · · ,
  54. Single-Page Applications: Ember vs. Angular (via) · · , , ,
  55. Realistic CSS Animations and the “linear()” Timing Function (by) · · , ,
  56. Navigating Web Accessibility Litigation: Advice From a General Counsel (via) · · ,
  57. How I Write Alt Text for Code Snippets on Social Media (by) · · , , ,
  58. Falling for OKLCH: A Love Story of Color Spaces, Gamuts, and CSS (by/via) · · , ,
  59. Code Splitting in React: Optimize Performance by Splitting Your Code (by) · · , , ,
  60. An Overview of Feature Flags (via) · · , , , ,
  61. 8 Habits That Hold Back Your Developer Potential (by) · · ,
  62. Biases in Design: Hiding in Plain Sight in a World Full of Visuals (via) · ·
  63. Web UX: Study Guide (via) · · , , ,
  64. State of CSS 2023 (by+/via) · · ,
  65. Package-Based Architecture—Let’s Deliver the Packages (by/via) · · , ,
  66. Dark Mode: How Users Think About It and Issues to Avoid (by/via) · · , , ,
  67. Co-Authoring Git Commits (by) · · , ,
  68. Accessible Navigation (by) · · ,
  69. Visualizing Recursion With the Sierpinski Triangle (by) · · , ,
  70. Browser Automation With Puppeteer (by) · · , ,
  71. Introducing the 100-Year Plan: Secure Your Online Legacy for a Century (by/via) · · , , ,
  72. WTF Is a Vector Database: A Beginner’s Guide (by) · · ,
  73. Where to Put Focus When Deleting a Thing (by) · · ,
  74. Scope vs. Shadow DOM (by) · · , , , , ,
  75. Catching Errors Thrown From “connectedCallback” (by) · · , ,
  76. What Is Alt Text and How to Write It (via) · · , ,
  77. Stakeholder Management for Design Systems (by/via) · · , ,
  78. TypeScript 5.3 First Look (by) · ·
  79. Main-ly Speaking (by) · · ,
  80. European Accessibility Act: Article 32, and Why It Sucks (by) · · ,
  81. Announcing TypeScript 5.2 (by/via) · · ,
  82. A More Intelligent and Secure Web (by/via) · · , , , , ,
  83. Use Web Components for What They’re Good At (by) · ·
  84. To Test or Not to Test, a Technical Perspective (by/via) · · , ,
  85. The Art of UX Writing (via) · · , ,
  86. Pros and Cons of Using Shadow DOM and Style Encapsulation (by) · · , ,
  87. How to Get 12% More LinkedIn Followers, Impressions, and Clicks—Practical Accessibility Tips and Tricks (by/via) · · , , , ,
  88. How Organisations Respond to Accessibility Monitoring (via) · · ,
  89. Google August 2023 Broad Core Update Is Live—What We Are Seeing Now (by/via) · · ,
  90. Block the Bots That Feed “AI” Models by Scraping Your Website (by) · · , ,
  91. A Few Interesting Ways to Use CSS Shadows for More Than Depth (by/via) · · , ,
  92. WebGlossary.info (by) · · , , , ,
  93. View Transitions Break Incremental Rendering (by) · · , ,
  94. Release Notes for Safari Technology Preview 177 (by/via) · · , , ,
  95. No One Actually Wants Simplicity (by) · · ,
  96. Debugging Speculation Rules (by/via) · · ,
  97. A Quick Introduction to CSS “@ scope” (by/via) · · , , , ,
  98. A Guide to Migrating From Webpack to Vite (by/via) · · , , ,
  99. All 12 “useState” and “useEffect” Mistakes Junior React Developers Still Make in 2024 (by) · · , ,
  100. Can We Truly “Create” Value? (by/via) · · ,
  101. Migrating From Color Styles to Local Variables in Figma (via) · · , ,
  102. Writing Component Specs (by) · · , ,
  103. Two Important New Roles for UX Designers in the Era of AI (by/via) · · , , ,
  104. The Ideal Viewport Doesn’t Exist (by+/via) · · ,
  105. Progressively Enhanced Form Validation: Validating a Checkbox Group (by/via) · · , ,
  106. Please Size Your Inline SVGs (by) · · ,
  107. Patterns for Reactivity With Modern Vanilla JavaScript (by/via) · · ,
  108. Changes Over the Last 25 Years of UX Research (by/via) · · , ,
  109. Bézier Curves (by+) · ·
  110. “We’re All Just Temporarily Abled” (by) · ·
  111. The Definitive Guide to Web Personalization: Strategies, Tools, and More to Know (via) · · , ,
  112. How to Make an Impact as a Developer Advocate (by) · · , , ,
  113. 7 Reasons to Replace Advanced Search With Filters So Users Can Easily Find What They Need (by) · · , , ,
  114. Why htmx Does Not Have a Build Step (by/via) · · ,
  115. Styling Links and Buttons (by) · · , , ,
  116. Let’s Build a Website Using XML (by) · · ,
  117. Getting Started With SCSS—the CSS Preprocessor With Superpowers · · , ,
  118. Combining “:placeholder-shown” and “:has” (by) · · , ,
  119. Scroll Shadows With “animation-timeline” (by) · · , ,
  120. React Props: A Visual Guide · · , ,
  121. React JSX (via) · · ,
  122. Identifying, Fixing, and Preventing Cannibalization (by/via) · · ,
  123. How to Use Headless Chrome in Serverless Functions With a 50 MB Limit (by) · · , , , , , ,
  124. Demystifying CORS: Understanding How Cross-Origin Resource Sharing Works · · , ,
  125. Being “Polite” Does Not Ensure Access (via) · · ,
  126. Adding a “Share to Mastodon” Link to Any Web Site (by) · · , , , ,
  127. A Beginner’s Guide to Using Pico CSS (by/via) · · ,
  128. A Deep Dive Into CSS “color-mix()” (by) · · , ,
  129. XUL and HTML (by/via) · · , ,
  130. Why Do Users Prefer Certain Design? Insights From the Landscape Theory (via) · ·
  131. The New CSS Math: “round()” (by) · · ,
  132. Tabs Are Objectively Better Than Spaces (by) · · , ,
  133. How to Use the CSS “gap” Property (by/via) · · , ,
  134. “aria-haspopup” and Screen Readers (by) · · , , , ,
  135. Towards HTTPS by Default (by/via) · · , , , , ,
  136. Thinking on Ways to Solve Adaptive Typography (by/via) · · , , ,
  137. Getting Started in a New Codebase (by) · · , ,
  138. Four New CSS Features for Smooth Entry and Exit Animations (by+/via) · · , , , , ,
  139. CSS-Only Syntax Highlighting… With a Single Element and Gradients (by) · · , ,
  140. BEM Methodology Is Not About CSS (by) · · , ,
  141. Accessibility Is Not Inclusive Design or Disability Rights—It’s a Part of It (by) · · , ,
  142. A Better “setTimeout()” in JavaScript (by) · ·
  143. New in Chrome 116: Document Picture-in-Picture API, “notRestoredReasons” Property, and More (by/via) · · , , , ,
  144. How Layout Position Impacts Three Big Web Performance Levers (by/via) · · ,
  145. CSS Selectors: A Visual Guide (by) · · , ,
  146. Beginner’s Guide to Lists and How to Make Them Accessible (via) · · , ,
  147. An Intro to the “dialog” Element (by) · · , , ,
  148. A Guide to Optimizing JavaScript Files (by/via) · · , , , , ,
  149. A Beginner’s Guide to SvelteKit (by/via) · · ,
  150. WebAssembly: Byte-Code of the Future (by) · ·
  151. Useable (by) · · ,
  152. Progressively Enhanced Form Validation: Layering in JavaScript (by/via) · · , , ,
  153. How to Test Mobile Apps on a Real Device Cloud (via) · · , ,
  154. Why Inclusive Language Matters in Coding (by/via) · · , , ,
  155. Unveiling the Power of Code-Splitting With Webpack for React and Redux Applications · · , , ,
  156. Testing Your Animation Refresh Rate With CSS Crimes? (by) · · , ,
  157. An “alt” Decision Tree Using Only “:has()” (by) · · , ,
  158. dependency-time-machine (by) · · , , , ,
  159. Write About What You Learn—It Pushes You to Understand Topics Better (by) · · , , ,
  160. Sophisticated, Highly-Targeted Attacks Continue to Plague npm (via) · · ,
  161. Debugging Rules: Understand the System (by) · ·
  162. Supercharge Your HTML With WebC (by) · · , ,
  163. Nostalgia in UX Design (by) · · , ,
  164. Designing Accessible Text Over Images: Best Practices, Techniques, and Resources II (by/via) · · , , , ,
  165. Balance in UX Design: Symmetry, Asymmetry, and Radial Balance (via) · · , ,
  166. WCAG 3.0: Further on Up the Road (by/via) · · , ,
  167. Create Direction-Aware Effects Using Modern CSS (by) · · , ,
  168. OKLCH in CSS: Consistent, Accessible Color Palettes (by/via) · · , , , ,
  169. Google Tag Manager Performance: 9 Tips for Faster Site Speed (via) · · , , ,
  170. Deprecating the “unload” Event (by+/via) · · , , , ,
  171. Browsers Barely Care What HTTP Status Code Your Web Pages Are Served With (by) · · , ,
  172. Progressively Enhanced HTML Accordion (by) · · , , ,
  173. Node.js’s Config Hell Problem (by/via) · · , , , ,
  174. It’s Time to End Damaging Website Design Practices That May Harm Your Users (via) · · , , , ,
  175. Defining Test Cases and Priorities (by/via) · ·
  176. An Introduction to the esbuild Bundler (by/via) · · , ,
  177. A Beginner’s Guide to CSS Grid Layout (by/via) · · , ,
  178. What Happens When You Select “count(*)” in MySQL (by) · · ,
  179. What Does It Mean for Web Browsers to Have a Baseline (by/via) · · , ,
  180. UX Is Not Dead, It’s Just Misunderstood (by/via) · ·
  181. User-Adaptive Interfaces With “AccentColor” (by) · · ,
  182. OpenAI Launches Web Crawling GPTBot, Sparking Blocking Effort by Website Owners and Creators (via) · · , ,
  183. My Experience Modernizing Packages to ESM (by) · · , ,
  184. Micro Benevolences (by/via) · · , , ,
  185. Lean UX and Agile: Study Guide (by/via) · · , , , , ,
  186. Definition of Done vs. Acceptance Criteria: What’s the Difference? (by/via) · · , , ,
  187. An Update on Chrome Security Updates—Shipping Security Fixes to You Faster (via) · · , , ,
  188. An Introduction to htmx, the HTML-Focused Dynamic UI Library (by/via) · · ,
  189. An Intro to State-Based UI With JavaScript (by) · · , ,
  190. 8 Common Heading Questions (via) · · , ,
  191. 200 Web-Based, Must-Try Web Design and Development Tools (by) · · ,
  192. You Don’t Need a Mentor: Embracing the Power of Community (by/via) · · , ,
  193. Top 7 Things That Kill Developer Productivity (by) · · , , , , ,
  194. The Risks of Micro-Frontends (by/via) · · ,
  195. Some Tactics for Writing in Public (by) · · , ,
  196. Progressively Enhanced Form Validation: HTML and CSS (by/via) · · , , , ,
  197. OpenAI’s ChatGPT New Web Crawler—GPTBot (by/via) · · ,
  198. Migrating My Blog From Gatsby to Astro (by) · · , ,
  199. JSX Without React (by) · · ,
  200. How to Improve Performance of Your Database by Indexing Large Tables (by) · · , , ,
  201. Alt Text Hall of Fame (by/via) · · , , ,
  202. A Guide to Single-Page Application Performance (via) · · , , , ,
  203. Scrolljacking 101 (via) · · ,
  204. Optimizing Speed on ebay.com (by) · · , , ,
  205. Beautify Your Git Log With a Single Command (by) · · ,
  206. A Compilation of Outstanding Testing Articles (With JavaScript) (by/via) · · , ,
  207. Assistive Technology Shouldn’t Be a Mystery Box (by) · · , , , , ,
  208. Things You Forgot (or Never Knew) Because of React (by) · · , ,
  209. The Next Generation of Web Layouts (by) · · , ,
  210. The Easy Intro to the APCA Contrast Method (by) · · , , , ,
  211. Route-Based Code Splitting With React (by) · · , ,
  212. Insertion Sort: A Deep Dive (by) · · ,
  213. Implementing Design Tokens: Colors (by) · · ,
  214. How Google Measures Developer Productivity (by) · · , , , ,
  215. Finding My Blogging Path: Lessons From My Journey (by) · · , , , ,
  216. Designing Accessible Text Over Images: Best Practices, Techniques, and Resources (by/via) · · , , , ,
  217. How Does Reflowing Content Affect People With Screen Magnification? (via) · · , , ,
  218. New DOJ Web Accessibility Regulation Is a Disaster (via) · · ,
  219. Prepare to Spy on a Method Added Dynamically (by) · · , , , ,
  220. How We Optimized Performance to Serve a Global Audience (by/via) · · , ,
  221. Contextual Form Errors and ARIA (by) · · , , ,
  222. An Overview of CSS Sizing Units (by/via) · · , ,
  223. A Blog Post With Every HTML Element (by) · · ,
  224. No Exit — Every Feed Is a Traffic Jam (by/via) · · , ,
  225. How to Use the CSS Grid “repeat()” Function (by/via) · · , , ,
  226. Why Isn’t “z-index” Working? (by+/via) · · ,
  227. What’s New in Svelte: August 2023 (by/via) · · , ,
  228. Understanding React Server Components (by/via) · · ,
  229. Mixing Colors to Create Variants in CSS (by) · · ,
  230. Midori Browser Will Change Its Engine to Gecko (via) · · , ,
  231. I’m Betting on HTML · · ,
  232. Evading JavaScript Anti-Debugging Techniques (by/via) · · ,
  233. CSS and Accessibility: Inclusion Through User Choice (by/via) · · , , ,
  234. Creating Custom Easing Effects in CSS Animations Using the “linear()” Function (by/via) · · , ,
  235. Accessibility of the Button: Should We Fix It or the Root Cause Problem? (via) · · , ,
  236. Why I No Longer Believe in Content Design (by/via) · · , ,
  237. What Happens When Developers Are Liable for Accessibility? (via) · · ,
  238. Tuesday, August 8, 2023 Security Releases (by/via) · · , ,
  239. The Virtual Keyboard API (by) · ·
  240. The Curious Case of “iff” and Overriding Screenreader Pronunciations (by) · · , , , ,
  241. Start by Writing Messy Code (by) · · ,
  242. Randomness in CSS Using Trigonometry (by) · · ,
  243. New to the Web Platform in July (by/via) · · , , , , , , , ,
  244. How to Earn High-Authority Links That Drive Rankings (by/via) · · , ,
  245. Front End Practice: Top 25+ JavaScript Code Best Practices for Development · · ,
  246. Contrast Checker Bookmarklet (via) · · , , ,
  247. Accessibility Represents Maturity (by) · · ,
  248. Should New Developers Use AI Coding Tools? (by) · · , , , ,
  249. Resume and Pause Animations in CSS (by) · · ,
  250. A Future of Themes With CSS Container Style Queries (by) · · , ,