Frontend Dogma

“2021” Archive (2)

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