Frontend Dogma

News and Tools for Frontend Developers (15)

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

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