Frontend Dogma

“2021” Archive (2)

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