Frontend Dogma

News and Tools for Frontend Development (16)

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

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