Frontend Dogma

News and Tools for Frontend Developers (20)

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

  1. Writing JavaScript Without a Build System (by) · · ,
  2. What to Expect From Vue in 2023 and How It Differs From React (by/via) · · , ,
  3. The Return to the Office Could Be the Real Reason for the Slump in Productivity (by/via) · ·
  4. Screen Readers Don’t Convey the Semantics of “strong” and “em” (by) · · , , , , ,
  5. Scaling Accessibility Through Design Systems (by+/via) · · , , ,
  6. My 2023 CSS Wishlist (by) · · ,
  7. Igalia Chats/Shop Talk Crossover: Ecosystem Health Part IX (by+/via) · · , , ,
  8. How to Use View Transitions in Hotwire Turbo (by/via) · · , ,
  9. Buttons, Links, and Focus (by) · · , , , ,
  10. The User Activation API (by/via) · · ,
  11. Some of the Future Is Now for CSS: A Postscript (by) · ·
  12. IT Incident Management (by/via) · ·
  13. Is It Worth Learning JavaScript? Popularity, Salaries, and Future (via) · · ,
  14. How the Web Works: Understanding the Architecture of the Web (by) · · , ,
  15. Angular Reactivity With Signals (by/via) · · , ,
  16. A Practical Approach to Automated Accessibility (by) · · , ,
  17. CSS Grid Gap Behavior With Hidden Elements (by) · · , ,
  18. Quick Tip: How to Hash a Password in PHP (by/via) · · , , , ,
  19. Well-Known Symbols (by) · ·
  20. Using Playwright to Monitor Third-Party Resources That Could Impact User Experience (by/via) · · ,
  21. The Modern Web’s Underrated Powerhouse (by/via) · ·
  22. The (Extremely) Loud Minority (by) · · ,
  23. My CSS Wish List (by) · · ,
  24. Microsoft to Phase Out Internet Explorer With Newer Edge Browser (by/via) · · , , ,
  25. Mastodon and Open Graph (by) · · , , , ,
  26. Is It Time to Go Back to the Monolith? (by) · ·
  27. How to Inspect Interactions in the Browser (by/via) · · , , ,
  28. CSS Nesting Module (by+/via) · · ,
  29. Container Queries Land in Stable Browsers (by/via) · · , , ,
  30. Automation Is Not the Enemy (by) · · , ,
  31. This Is Why Performance Matters (by) · · , ,
  32. So, What’s Next [for core-js]? (by) · · , , ,
  33. Git: How to Skip Hooks (by) · · ,
  34. Declarative Shadow DOM (by/via) · · ,
  35. Change Tab Bar Color Dynamically Using JavaScript (by) · · , , ,
  36. An Approach to Lazy Loading Custom Elements (via) · · , ,
  37. Using the Multi-Keyword Syntax With CSS Display (by/via) · ·
  38. Technical Writing Process: How to Write a Good Technical Article (by) · · , ,
  39. Sandboxing JavaScript Code (by) · · ,
  40. Rethinking the Modern Web (by) · · , ,
  41. MathML in Chrome · · , , , ,
  42. Why Developers Should Learn Docker and Kubernetes in 2023 (by) · · ,
  43. Technical SEO Basics for React Developers (by) · · , ,
  44. My CSS Wishlist (by) · · ,
  45. Automated Testing Won’t Solve Web Accessibility (by) · · , ,
  46. A Minimal, Multi-Framework, Responsive Image Component (by) · · , ,
  47. A Comparison of SUS, UMUX-LITE, and UEQ-S (via) · · , , ,
  48. Platform Engineering Teams Done Right… (by) · · ,
  49. Why I’m Not the Biggest Fan of Single Page Applications (by) · ·
  50. Foundations: Introduction to WAI–ARIA (by/via) · · , ,
  51. You Kinda Want an Orange Favicon (by) · · , , ,
  52. The Case for Frameworks (by) · · , ,
  53. React.js: The Documentary (via) · · , ,
  54. Quick Guide for YAML · · ,
  55. Improved Font Fallbacks (by/via) · · , ,
  56. How to Scale Node.js Applications With Clustering (by/via) · · , ,
  57. Discovering Primitive Objects in JavaScript (via) · · ,
  58. Different Ways to Get CSS Gradient Shadows (by/via) · · , ,
  59. Caching at DEV (by) · · , ,
  60. The Troublesome Life and Lamentable Death of Success Criterion 4.1.1 · · , , ,
  61. What’s New in Lighthouse 10 (by/via) · · , , ,
  62. My CSS Wishlist (by) · · ,
  63. Moving Backgrounds (by/via) · · ,
  64. More Control Over “:nth-child()” Selections With the “of S” Syntax (by/via) · · ,
  65. Classless CSS Frameworks (by) · · ,
  66. Can You Be a Designer if You Have No Training? (by) · · ,
  67. Introduction to Symfony PHP Framework (by) · · ,
  68. Use Maps More and Objects Less (by/via) · · ,
  69. Try Out CSS Nesting Today (by/via) · · , , ,
  70. Top 13 Node.js Books for Beginners and Advanced Coders (via) · · , ,
  71. No SVG, No Image, CSS-Only Fluid Slider With “input[type=range]” (by) · · , , ,
  72. CSS Wish List 2023 (by) · · ,
  73. Creating Sites, the Jamstack Way (via) · · ,
  74. The Story of the World Wide Web (by) · · , , , , , , ,
  75. Quick Tip: How to Check if a Variable Is Set in PHP (by/via) · · , ,
  76. Nest.js Crash Course—Introduction and Setup (by) · · , , ,
  77. Theming a Design System (via) · · ,
  78. Advanced Figma Prototyping Tips and Tricks (by/via) · · , ,
  79. How to Write Semantic CSS (by) · · , , ,
  80. Testing Colour Accessibility With Dev Tools (by/via) · · , , , ,
  81. Table of Contents Progress Animation (by) · · , , ,
  82. Mozilla, Like Google, Is Looking Ahead to the End of Apple’s WebKit Rule (by/via) · · , , , , ,
  83. Modularizing React Applications With Established UI Patterns (by/via) · · , ,
  84. How to Build Accessible Main Navigation? (by/via) · · , ,
  85. How to Add an Event Handler in React (by) · · , , ,
  86. Focus Appearance Thoughts (by) · · , ,
  87. A “color-contrast()” Strategy for Complimentary Translucent Backgrounds (by) · · , , , ,
  88. How to Build a Magazine Layout With CSS Grid Areas (by/via) · · , , ,
  89. Supporting CSS Multi Direction Languages in 2023 (by/via) · · , ,
  90. My Favourite 3 Lines of CSS (by/via) · ·
  91. Should Inclusive Design Be a UX Concern? (by/via) · · , ,
  92. Qodana Code Quality Platform—Overview (by/via) · · , , , , ,
  93. The “margin-trim” Property (by) · ·
  94. The Different Names for Values in CSS (by) · ·
  95. The Difference Between Iteration and Prototyping (by) · · , ,
  96. Testing Vue Components the Right Way (by) · · , ,
  97. Non-Text Content Contrast Also Matters (by) · · , ,
  98. Mozilla’s Abandoned Servo Web Engine Is Making a Comeback in 2023 (by/via) · · , , ,
  99. Interop 2023 CMS Checkin (by) · · , , , , ,
  100. How to Favicon in 2023: Six Files That Fit Most Needs (by/via) · · , ,
  101. Frontend Frameworks for Web-App Development (via) · · ,
  102. Building a Dev Blog With the Pelican Static Site Generator (by) · · ,
  103. A Historical Reference of React Criticism (by) · · ,
  104. Speeding Up the JavaScript Ecosystem—ESLint (by) · · , , ,
  105. React Anti-Patterns and Best Practices—Dos and Don’ts (by) · · , ,
  106. How to Pick a Font (That Doesn’t Suck) (by) · · , , ,
  107. Discovery in Agile (by/via) · · ,
  108. The Market for Lemons (by) · · , ,
  109. Rotating Gallery With CSS Scroll-Driven Animations (by) · · , , , ,
  110. Typography Manual (by) · · ,
  111. Multi-Threaded React App Using useWorker (by) · · , , ,
  112. How to Make a Zoom Effect Using CSS (by/via) · · , ,
  113. Foundation: The Best Framework for Building Responsive Sites (via) · ·
  114. Advice for Engineers, From a Manager (by) · · , , ,
  115. What Is Bootstrap: A Beginner’s Guide (by/via) · · ,
  116. WCAG 2.2 Update: It’s Time to Say Goodbye to the Parsing Criterion (by) · · , ,
  117. The YAML Document From Hell—JavaScript Edition (by) · · ,
  118. How to Get the Last Matching Item in an Array With Vanilla JavaScript (by) · · , ,
  119. How to Build a Static Website (by/via) · · ,
  120. High Definition CSS Color Guide (by/via) · · , ,
  121. 3 Notion Templates to Better Manage Your Design System (by) · · , ,
  122. Quick Tip: How to Manage Timezones in PHP (by/via) · · , , ,
  123. Design for AI: What Should People Who Design AI Know? (by/via) · · ,
  124. Cancel Duplicate Fetch Requests in JavaScript Enhanced Forms (by) · · ,
  125. WordPress.com Introduces Browse Mode, Style Book, and Push to Global Styles Features (by/via) · ·
  126. Why Is Making a Dark Mode Greyscale So Hard to Get Right? (by) · · , , ,
  127. Understanding App Directory Architecture in Next.js (by/via) · · ,
  128. The Guide to Responsive Design in 2023 and Beyond (by) · · ,
  129. The Gotcha With Animating Custom Properties (by/via) · · , , ,
  130. Screen Reader Quick Guide (by) · · , , ,
  131. Pushing Interop Forward in 2023 (by+/via) · · ,
  132. Modular Web Design: Flexibility, Examples, and Alternatives · ·
  133. Microsoft Edge and Interop 2023 (via) · · , , , ,
  134. Learn Images (by/via) · · , , , , , , ,
  135. Interop 2023 (via) · · ,
  136. Interop 2023: Continuing to Improve the Web for Developers (by+/via) · · ,
  137. Igalia and Interop 2023 (via) · · ,
  138. How the CSS “box-sizing” Property Works (by) · · ,
  139. Hex Colors Aren’t Great at Anything Except Being Popular (by) · · ,
  140. Gatsby Is Joining Netlify (by/via) · · ,
  141. Don’t Use Return Types, Unless… (by) · · ,
  142. Caching Data in SvelteKit (by/via) · · ,
  143. Announcing Interop 2023 (via) · · ,
  144. Invoking React Components From Your Ember Apps (by) · · , ,
  145. Should You Start a Web Development YouTube Channel in 2023? (by/via) · · , ,
  146. Understanding Color and Accessibility (by) · · ,
  147. Typographic Hierarchy in Print, Web, and App Design (by) · · ,
  148. The Ultimate Guide to JavaScript Error Handling (by/via) · · , ,
  149. Speed for Who? (by) · · , , ,
  150. Setting Expectations for Asking ChatGPT Web Accessibility Questions (by) · · ,
  151. New to the Web Platform in January (by/via) · · , , , , , , , ,
  152. External Links: In or Out (by/via) · · , , ,
  153. 6 Approaches for Data Fetching in React (by) · · ,
  154. 19 Must-Visit Sites for Product Design Inspiration (by/via) · · ,
  155. Using Local Storage in JavaScript and React (by) · · , ,
  156. Easy SVG Customization and Animation: A Practical Guide (by/via) · · , , ,
  157. CSS “color-mix()” (by/via) · ·
  158. Léonie Watson on Accessibility (by+/via) · · , ,
  159. You’ve Got Options for Removing Event Listeners (by) · · ,
  160. New WCAG 2.2 Features Rated (by) · · , ,
  161. An Introduction to MIME Types (by/via) · · ,
  162. The Pros and Cons of Responsive Web Design in 2023 (via) · ·
  163. Is It a Bad Idea to Use “target="_blank"” for Links in an Email? (via) · · , ,
  164. HTML Input Types (by) · · ,
  165. Git Commit Patterns (by) · · ,
  166. Accessible Hamburger Buttons Without JavaScript · · , ,
  167. 10 GitHub Repositories You Should Know as a JavaScript Developer (by) · · , , , ,
  168. Screen Readers Support for Text Level HTML Semantics (by/via) · · , , , , ,
  169. Login Form UI Design Guide (by/via) · · , ,
  170. Your Web Performance Is Too Reactive; It’s Time to Do More Than Put Out Fires (by/via) · ·
  171. Use the Dialog Element (Reasonably) (by) · · , ,
  172. Flow Control in JavaScript: Callbacks, Promises, “async/await” (by+/via) · · , ,
  173. Creating a High-Contrast Design System With CSS Custom Properties (by/via) · · , , , ,
  174. Container Queries and Typography (by) · · , ,
  175. Animating CSS Grid (How-To and Examples) (by/via) · · , , ,
  176. CSS Layers for CSS Resets (by/via) · · ,
  177. Quick Tip: How to Manage Error Reporting in PHP (by/via) · · , , ,
  178. The Modern Way of Serving Images (by) · · , ,
  179. “scrollend”, a New JavaScript Event (by/via) · · ,
  180. Release Notes for Safari Technology Preview 162 (by/via) · · , , ,
  181. Musing Upon an “[alt]” Text Badge on Images (by) · · , ,
  182. Are We There Yet? WCAG 2.2 Is at the Candidate Recommendation Stage Again (by/via) · · , ,
  183. A “nth-child” CSS Trick (by) · · , ,
  184. 10 Web Development Trends in 2023 (by) · · , , , , , , ,
  185. Things to Do and Not to Do During a Wave of Tech Layoffs (by) · ·
  186. Locking “body” Scroll for Modals on iOS (by) · · , ,
  187. Introduction to Gulp.js: Beginner’s Guide (via) · · , ,
  188. CSS Wishlist 2023 (by) · · ,
  189. Copying Designs Doesn’t Work, and Here’s Why (by/via) · · ,
  190. A Simple Custom (by) · · , , ,
  191. CSS Named Colors: Groups, Palettes, Facts, and Fun (by) · · , ,
  192. Visual Design Rules You Can Safely Follow Every Time (by) · ·
  193. Ship Small, Ship Fast (by) · ·
  194. Making Sense of TypeScript Using Set Theory (by) · ·
  195. Level Up Your CSS Skills With the “:has()” Selector (by/via) · · ,
  196. International Domain Names: Where Does meßagefactory.ca Lead You? (by) · · ,
  197. If You Need a Link, Don’t Use a Button (by) · · , , , ,
  198. CSS Art Tutorial: Create a Cute Cartoon Creature (by) · · , ,
  199. Creating a Community That Values Accessibility (via) · · ,
  200. Be a Digital Ally: Further Exploration of WCAG 2.2 (via) · · , ,
  201. 3 Essential Design Trends, January 2023 (by/via) · · ,
  202. Is CSS-in-JS Actually Bad? (by) · · , ,
  203. Replace Create React App Recommendation With Vite (by/via) · · , ,
  204. Improve Your HTML Semantic With Pico CSS (by) · · ,
  205. How to Review a Web Site (via) · · , , ,
  206. Accessibility Tools and Resources for Designers (by/via) · · , ,
  207. How to Use Pico CSS and Next.js? (by) · · , ,
  208. Web Scraping—A Complete Guide (by) · · ,
  209. Web Accessibility Global Usage Survey · · ,
  210. Comparing Level Access Automated Tools to Manual Accessibility Testing (by) · · , , ,
  211. Cascading Components—a Way to Organize Figma Component Variants · · ,
  212. Designing a Robust Right-to-Left UI in Arabic, Hebrew, and Farsi (via) · · ,
  213. What Is a Core Update? (by/via) · ·
  214. Unordered Lists in Main Navigations (by) · · , ,
  215. The Key to Good Component Design Is Selfishness (by/via) · · , ,
  216. So You Want to Make a New JS Framework (by) · · ,
  217. More Real-World Uses for “:has()” (via) · · ,
  218. Building Reliable Distributed Systems in Node.js (via) · ·
  219. 15 Must-Have Cheatsheets for Developers (by) · · ,
  220. Unlocking Security Updates for Transitive Dependencies With npm (by/via) · · , , ,
  221. Two Ways to Safely Break a Long Word in HTML (by) · ·
  222. Three Attributes for Better Web Forms (by) · · ,
  223. Optimize Time to First Byte (by/via) · · ,
  224. Don’t Target 100% Coverage (by) · · ,
  225. Comparing Manual and Free Automated WCAG Reviews (by) · · , , ,
  226. “::backdrop” Doesn’t Inherit From Anywhere (by) · ·
  227. Solved With “:has()”: Vertical Spacing in Long-Form Text (via) · · ,
  228. On-Scroll Typography Animations (by/via) · · ,
  229. Front-End Is So Much More Than Building Designs (by) · ·
  230. Discovering the Capable Web (by/via) · ·
  231. Deep Cloning Objects in JavaScript, the Modern Way (by/via) · · ,
  232. CSS Tip: Style Your Radio Buttons and Checkboxes for Printing (by) · · , , ,
  233. Accessible Writing Is Just Good Writing (via) · · ,
  234. Quick Tip: How to Read a Local File With PHP (by/via) · · , , ,
  235. The Storytelling Power of Simple Design Solutions (by/via) · ·
  236. Promises, Thenables, and Lazy-Evaluation: What, Why, How (by) · · ,
  237. Why We Switched CDNs: How Google’s Core Web Vitals Led Us to Cloudflare Pages · · , , ,
  238. Using “:is()” in Complex Selectors Selects More Than You Might Initially Think (by/via) · · ,
  239. The Truth About CSS Selector Performance (by/via) · · , ,
  240. Scalable CSS (by) · · ,
  241. Can a Bridge Be Unethical? (via) · · ,
  242. Blind News Audiences Are Being Left Behind in the data Visualisation Revolution: Here’s How We Fix That (by/via) · · ,
  243. 6 Common SVG Fails (and How to Fix Them) (by/via) · · ,
  244. Optimizing the Image Element LCP (via) · · , ,
  245. Minimal Dark Mode Styling (by) · · , ,
  246. Greater Styling Control Over Type With “initial-letter” (by) · · ,
  247. A Better Way to Work With Number and Date Inputs in JavaScript (by/via) · ·
  248. Speeding Up the JavaScript Ecosystem—Module Resolution (by) · · , , , ,
  249. User Style Sheets (via) · · , ,
  250. The Only Markdown Cheatsheet You Will Ever Need (by) · · ,