Frontend Dogma

“2021” Archive (2)

Featured on Frontend Dogma? Confirm and whitelist your domain.

  1. Indecisive Skip Links and Their Targets—the Renaissance of the “<hr>” Element (by) · · , ,
  2. Make Your Design System Accessible—Color (by/via) · · , ,
  3. Add a Contact Form to a React App With Netlify Forms (by/via) · · , , ,
  4. Using CSS Variables for Reduced Motion on a Global Scale (by) · · ,
  5. UX Design Isn’t Killing Creativity, Money Is (by/via) · · , ,
  6. Best Practices on Embedding Third-Party Web Widgets (via) · · , ,
  7. A Step by Step TypeScript Tutorial for Beginners (by/via) · · ,
  8. New WebKit Features in Safari 15 (by/via) · · , , , ,
  9. The Problem With “Click Here” and “Learn More” Links (by/via) · · , ,
  10. So, You Want an Accessibility Score? (by/via) · · ,
  11. Reimagine Atomic CSS (by) · ·
  12. Photoshop’s Journey to the Web (by/via) · · , ,
  13. Media Queries Level 4: Media Query Range Contexts (by/via) · · ,
  14. In-Page Filtered Search With Vanilla JavaScript (by/via) · · , ,
  15. Design Systems at Replit: Better Tokens (by/via) · · , ,
  16. A Deep Dive Into “object-fit” and “background-size” in CSS (by/via) · · , ,
  17. How to Get Started With Social Media Automation (by/via) · · , , ,
  18. Why Outdated jQuery Is Still the Dominant JavaScript Library (by/via) · · , ,
  19. Why Accessibility Overlays on Your Website Can Make Things Worse (via) · · ,
  20. Web Performance Metrics Cheatsheet (by/via) · · , ,
  21. The Process of Building a CSS Framework (by/via) · · ,
  22. If HTML and ARIA Don’t Allow It, It’s Probably a Bad Idea (by) · · , ,
  23. Building an Effective Image Component (by/via) · · , ,
  24. Switch Role Support (by) · · , ,
  25. Micro-Frontends: The Next Gen Way to Build Web Apps (by) · · ,
  26. Finding Common Patterns Across Frameworks (by) · · ,
  27. The Start of a New Era for Responsive Web Design (by/via) · · ,
  28. On Using Custom Properties (by/via) · · ,
  29. Common Mistakes When Writing CSS With BEM (by/via) · · , , ,
  30. Identify Potential CSS Improvements (by/via) · · , , , , ,
  31. Semantic “menu” Context (by) · · ,
  32. Respecting Users’ Motion Preferences (by/via) · · ,
  33. Prevent Scroll Chaining With Overscroll Behavior (by) · · ,
  34. Making the Web Developer’s Pilgrimage (by) · ·
  35. Designing for Color Contrast: Guidelines for Accessibility (via) · · , , ,
  36. Decoupling HTML, CSS, and JavaScript in Design Systems (by) · · , , ,
  37. This Is the Way: A Phased Approach to Accessibility in the Development Lifecycle (by/via) · ·
  38. Optimizing Resource Loading With the Fetch Priority API (by+/via) · · , , ,
  39. How I Made Google’s Data Grid Scroll 10× Faster With One Line of CSS (by) · · ,
  40. We Analyzed 425,909 Favicons · · ,
  41. New HTTP Standards for Caching on the Modern Web (by/via) · · , , , ,
  42. How to Cancel an HTTP Request in Node.js (by) · · , ,
  43. Back to Basics: Understanding the “for…in” Loop in JavaScript (by/via) · · ,
  44. “@ supports selector()” (by/via) · · , ,
  45. Yes, Node.js Is Part of the Web Platform (by/via) · · , ,
  46. It’s Time for a Healthy Tech Approach (by) · ·
  47. Evaluating Clever CSS Solutions (by/via) · ·
  48. Chrome DevTools: Easily Change CSS Units and Values (by) · · , , , , ,
  49. Understanding and Implementing OAuth2 in Node.js (by/via) · · , , ,
  50. What Svelte’s Accessibility Warnings Won’t Tell You (by) · · ,
  51. HTML With Superpowers (by) · · , ,
  52. Fix Web Accessibility Systematically (by) · · ,
  53. Disability: Let’s Say the Word (via) · · ,
  54. Landmarks (by/via) · · , ,
  55. 100 Bytes of CSS to Look Great Everywhere (by) · ·
  56. Processing CPU-Intensive Jobs in Node.js (by) · ·
  57. Dealing With Timezones in Web Development (by) · ·
  58. Expandable Sections Within a CSS Grid (by/via) · · , ,
  59. Beginner’s Guide to Responsive Images: How to Get Them Right (by/via) · · , , ,
  60. Custom Properties With Defaults: 3+1 Strategies (by) · · ,
  61. Stop Writing JavaScript Like This · ·
  62. Smart CSS Solutions for Common UI Challenges (via) · · ,
  63. “min()”, “max()”, and “clamp()”: Three Logical CSS Functions to Use Today (by/via) · · ,
  64. Different Degrees of Custom Property Usage (by/via) · · ,
  65. Conditional “border-radius” and Three Future CSS Features (by) · · ,
  66. 1999: The Fall of Netscape and the Rise of Mozilla (by/via) · · , , ,
  67. The Tortuous Journey of Enhancing Our Color Palette (via) · · ,
  68. The Ultimate Guide to 3xx HTTP Status Codes (via) · · , ,
  69. Five Proven Approaches for a Better Developer Experience in Your Organisation (by+/via) · ·
  70. Building a Multi-Select Component (by/via) · · , , ,
  71. What Constitutes a Digital Accessibility Audit (by/via) · · , ,
  72. How to Win at CORS (by) · · , , , ,
  73. Google Chrome Hidden Features Every Developer Should Know (by/via) · · , , ,
  74. How Design Debt Can Hurt Your Product (via) · · ,
  75. Easy Read Is Hard to Get Right (via) · · ,
  76. Best UI Frameworks for React.js (via) · · ,
  77. Introduction to Styled Components (by) · · , , ,
  78. Appreciation for Being a Web Developer (by) · ·
  79. A Tangled Web of ARIA (by) · · , ,
  80. Native CSS Nesting: What You Need to Know (by/via) · · , ,
  81. Why We Crave Software With Style Over “Branding” (by/via) · · ,
  82. The Ultimate Guide to Getting Started With the Rollup.js JavaScript Bundler (by/via) · · , , , ,
  83. How We Improved Our Design System Delivery (by) · · , , ,
  84. Have Single-Page Apps Ruined the Web? (by) · · , ,
  85. Why Does Everything Look the Same? (via) · ·
  86. Internationalization: How to Boost Traffic With a Multilingual Site (via) · · , ,
  87. Buttons vs. Links (by) · · , , , ,
  88. Accessibility: A Gentle Introduction (by) · · ,
  89. RenderingNG: An Architecture That Makes and Keeps Chrome Fast for the Long Term (by/via) · · , , , , ,
  90. My Challenge to the Web Performance Community (by) · ·
  91. Safe DOM Manipulation With the Sanitizer API (via) · · , ,
  92. What Is Micro-Content? (via) · · , ,
  93. The Options for Password-Revealing Inputs (by/via) · · , , , ,
  94. How to Implement and Style the “Dialog” Element (by/via) · · , , ,
  95. Engineer to Engineer: Art Is in the Code (by+/via) · · , ,
  96. A Guide to CSS Debugging (by/via) · · , ,
  97. Browsing With a Mobile Screen Reader (via) · · , , , , ,
  98. What Creating a Simple Font Taught Me About Font Design (by/via) · · ,
  99. UX Accessibility: How to Start Designing for All (by/via) · · , ,
  100. Automating a Design System (by) · · , ,
  101. Why Do Webdevs Keep Trying to Kill REST? (by) · · , ,
  102. What Is a Good User Experience? (via) · · , ,
  103. Writing Clean JavaScript Tests With the BASIC Principles (by) · · , ,
  104. Redundantly Redundant a11y Accessibility (by) · · ,
  105. How to Build an Expandable Accessible Gallery (by/via) · · , , ,
  106. Conditional Border Radius in CSS (by) · · ,
  107. Animation Techniques for Adding and Removing Items From a Stack (via) · · , ,
  108. The CSS “prefers-color-scheme” User Query and Order of Preference (by) · ·
  109. jsPerf—Online JavaScript Performance Benchmark · · , ,
  110. Using JavaScript to Detect High Contrast and Dark Modes (by) · · , , , ,
  111. Introducing Svelte, and Comparing Svelte With React and Vue (by) · · , , , ,
  112. Understanding and Working With Submodules in Git (by/via) · · ,
  113. Sorting JavaScript Arrays by Nested Properties (by) · · , ,
  114. Links, Missing “href” Attributes, and Over-Engineered Code (by) · · , ,
  115. Declaring Page Language—and Declaring Changes in Language (by) · · , ,
  116. Web Streams Everywhere (and Fetch for Node.js) (by/via) · · , , ,
  117. Practical Frontend Philosophy · · ,
  118. How I Built a Modern Website in 2021 (by) · · , ,
  119. 9 Tag Management Solutions You Should Consider (via) · · , , ,
  120. Comparing Page Language Declaration Setups in Screen Readers (by) · · , , , , ,
  121. Guidelines for Choosing a Node.js Framework (by) · · , ,
  122. Figma Cheat Sheet · · , ,
  123. Faster React Apps With Memoization (via) · · , ,
  124. Design Tokens Automation Pipeline: From Design Tools to Component Libraries · · , ,
  125. Let’s Dive Into Cypress for End-to-End Testing (by/via) · · ,
  126. Accessibility Isn’t New—and Neither Is Ableism (via) · ·
  127. How I Make CSS Art (by) · · ,
  128. A JavaScript Developer’s Guide to Browser Cookies (by) · · , ,
  129. Beware False Negatives (by) · ·
  130. Not Releasing Late on Fridays, a Matter of Courtesy (by) · · ,
  131. One Last Time: Custom Styling Radio Buttons and Checkboxes (by) · · , ,
  132. 7 UI Design Fundamentals for Developers (by) · · ,
  133. A Content Model Is Not a Design System (by/via) · · ,
  134. Specification for Spoken Presentation in HTML (by+/via) · · ,
  135. “initial” Doesn’t Do What You Think It Does (by) · · ,
  136. When Everything Is Urgent, Nothing Is: What Is Alarm Fatigue and How to Deal With It · · ,
  137. Simplifying Form Styles With “accent-color” (by/via) · · ,
  138. Just Redux: The Complete Guide (by) · · ,
  139. Introduction to GSAP · · , , ,
  140. ct.css—Let’s Take a Look Inside Your “<head>” (by) · · , ,
  141. Container Units Should Be Pretty Handy (by/via) · · , ,
  142. 7 Useful HTML Attributes You May Not Know (via) · ·
  143. Yarn vs. npm: Everything You Need to Know (by/via) · · , ,
  144. Using Monorepos Is Not That Bad (by) · · ,
  145. Optimising a JavaScript Library With WebAssembly, a Failed Attempt (by) · · , ,
  146. Node.js Garbage Collection Explained (via) · · ,
  147. Intro to MJML: Responsive HTML Email Coding Made Easy (by/via) · · , , , ,
  148. CSS Container Queries: Container-Relative Lengths (by/via) · · ,
  149. Cascade Layers? (by/via) · · ,
  150. 7 Practical Uses for the “::before” and “::after” Pseudo-Elements in CSS (by/via) · · ,
  151. Understanding “min-content”, “max-content”, and “fit-content” in CSS (via) · ·
  152. Contemporary Design Has Lost Its Soul (via) · ·
  153. Simpler Block Spacing in WordPress With “:is()” and “:where()” (by/via) · · , ,
  154. Provide Pronunciation for Ambiguous Words (by) · · , ,
  155. How I Learnt to Stop Worrying and Love Animating the Box Model (by) · · , ,
  156. Practical Frontend Architecture · ·
  157. 20 Killer JavaScript One-Liners (by) · ·
  158. Why Inequalities Can Appear in Digital Accessibility and Inclusive Design (by) · · , ,
  159. CSS Container Query Units (by) · · , ,
  160. The New Requirements for WCAG 2.2 (via) · · ,
  161. Small Bundles, Fast Pages: What to Do With Too Much JavaScript (via) · · , ,
  162. Design Direction as a Step Before Design System (by/via) · · ,
  163. What’s the Right Font Size in Web Design? (by) · · ,
  164. Web Vitals Patterns (by/via) · ·
  165. Web Quality Assurance: From User Requirements to Web Risk Management (by/via) · · ,
  166. New Principle: Do Not Design Around Third-Party Tools Unless It Actually Breaks the Web (by) · · , ,
  167. Minding the “gap” (by/via) · ·
  168. How to Expand Your Engineering Skill Set Without Quitting Your Day Job (via) · · , ,
  169. Accessible Palette: Stop Using HSL for Color Systems (by/via) · · , , ,
  170. The Future of CSS: Cascade Layers (CSS “@ layer”) (by/via) · · ,
  171. Optimizing Images on the Web (by/via) · · , ,
  172. Reducing the Need for Pseudo-Elements (by/via) · · ,
  173. 1995: MySQL Arrives, Completing the LAMP Stack (by/via) · · , , ,
  174. Modernising CSS Infrastructure in DevTools (by/via) · · , , , , ,
  175. Master Frontend Development by Cloning These Websites (by) · ·
  176. Designing Beautiful Shadows in CSS (by) · · ,
  177. Notes on Synthetic Speech (by) · · , ,
  178. Scripting With Google zx (by) · ·
  179. 29 Projects to Help You Practice HTML CSS JavaScript 2021 (by) · · , ,
  180. The Ultimate Guide to Web Console (by) · · , , ,
  181. Myths About Web Accessibility (by) · · ,
  182. Less Absolute Positioning With Modern CSS (by) · · ,
  183. Indieweb vs. Fediverse (by) · · , ,
  184. Vanilla JS Is a Web Performance Decision (by) · · ,
  185. Blowing Up HTML Size With Responsive Images (via) · · , , ,
  186. The Case for “Developer Experience” (by/via) · · ,
  187. What Is Redundant Entry, and How Does It Affect Accessibility? (via) · · ,
  188. Subsets and Supersets of WCAG (by) · · ,
  189. Okhsv and Okhsl (by) · · , ,
  190. Line Length Revisited: Following the Research (via) · · , , ,
  191. Flexible API Design: Create Hooks for Your PHP API Pipeline (by/via) · · , ,
  192. Enterprise UX: Essential Resources to Design Complex Data Tables (by) · · , , ,
  193. Developer Decisions for Building Flexible Components (by/via) · ·
  194. Bundling Non-JavaScript Resources (by/via) · ·
  195. 13 Advanced (but Useful) Git Techniques and Shortcuts (by/via) · · ,
  196. What’s New With DevTools: Cross-Browser Edition (by/via) · · , , , , , , , , ,
  197. Firefox’s “bolder” Default Is a Problem for Variable Fonts (by/via) · · , , , , ,
  198. What’s New in PHP 8.1: Features, Changes, Improvements, and More (by/via) · ·
  199. Using CSS 3 Overflow Properties to Make Containers Meet WCAG 2.1 (via) · · , ,
  200. Fractional SVG Stars With CSS (by) · · , ,
  201. Defining Basic JavaScript Terms: “map”, “filter”, and “reduce” (by) · ·
  202. Becoming a Design Tokens Ambassador (by/via) · ·
  203. 5 Steps for Writing Alt Text for Accessibility (via) · · , ,
  204. Color and Universal Design (by/via) · · , , , ,
  205. HTTP/3: Practical Deployment Options (by/via) · · , ,
  206. A Practical Guide to Creating Reusable React Components (via) · · , ,
  207. Designing for Long Waits and Interruptions: Mitigating Breaks in Workflow in Complex Application Design (by/via) · · , ,
  208. Avoiding FOUT With Async CSS (by) · ·
  209. Stop! Put Down That Ternary, Lines Are Free (by) · ·
  210. Make Accessibility Part of Your Startup’s Products and Culture From Day One (by/via) · · ,
  211. WebKit—Patches and Tests (by) · · ,
  212. The Pros and Cons of Professional Language (by) · ·
  213. Reducing Carbon Emissions on the Web (via) · ·
  214. Multiple Accounts and Git (by/via) · ·
  215. The Effect of CSS on Screen Readers (by) · · , , ,
  216. Interactive Learning Tools for Front-End Developers (by/via) · ·
  217. Understanding Next.js Data Fetching (CSR, SSR, SSG, ISR) (by) · · , , , ,
  218. Threats of Using Regular Expressions in JavaScript (by/via) · · ,
  219. Getting Started With Web Accessibility Testing (via) · · , ,
  220. Element Diversity (by) · ·
  221. CSS Dangling Characters (by) · ·
  222. Twitter’s Div Soup and Uglyfied CSS, Explained (by) · · , ,
  223. timefind (by) · · , ,
  224. Web Scraping With JavaScript and Node.js (via) · · , ,
  225. It Takes a PhD to Develop That · · , ,
  226. Building a Split-Button Component (by/via) · · , , ,
  227. Best Practices for Logging in Node.js (by/via) · · , ,
  228. Writing High-Performance JavaScript (by) · · ,
  229. Why You Should Manage Your Energy, Not Your Time (by) · · ,
  230. 9.5 Ways Google Rewrites Your Title Tags (by/via) · · ,
  231. Using SVG With Media Queries (by/via) · · , ,
  232. Understanding Target Size Under WCAG 2.2 and How It Affects People With Disabilities (via) · · ,
  233. State Management in Next.js (by/via) · · ,
  234. Shifting Accessibility Testing to the Left (by/via) · · , ,
  235. Rethinking User Personas (by/via) · · , ,
  236. Color and Contrast, What Does It Mean? (by) · · , ,
  237. Building Reactive Systems With Node.js (via) · · ,
  238. Building a Stepper Component (by) · · , ,
  239. 1995: Apache and Microsoft IIS Shake Up the Web Server Market (by/via) · · , , , ,
  240. Times New Roman Doesn’t Have to Be Boring—Here’s Why (by/via) · · ,
  241. What Are the Web Performance Metrics That Actually Matter? (by) · · ,
  242. The Seniority Rollercoaster (by) · ·
  243. Exploring the CSS Paint API: Blob Animation (by/via) · · , ,
  244. Common npm Mistakes Every Developer Should Avoid (via) · · ,
  245. 7 Practices to Create Good JavaScript Variables (by) · ·
  246. Creating a Positive Culture Around Accessibility (by/via) · · ,
  247. Essential Concepts in JS (by) · · ,
  248. 7 Useful CSS Cheat Sheets to Improve Your Skills (by/via) · · ,
  249. 10 Fun Things You Can Do With GitHub.dev (by) · ·
  250. 5 Tools to Automate Your Development (by) · · , ,