TypeScript: Mapped types for type maps
Explains how to use TypeScript's mapped and conditional types to create precise typings for DOM factory functions like document.createElement.
Explains how to use TypeScript's mapped and conditional types to create precise typings for DOM factory functions like document.createElement.
A tutorial showing two ways to scroll to specific items in a React list component using the native scrollIntoView API.
A technical guide exploring native HTML form elements and DOM APIs like document.forms for accessing and manipulating forms without frameworks.
Explains a specific XSS vulnerability when embedding JSON data in <script> tags and provides the solution of escaping '<' characters.
A tutorial on validating empty form inputs in JavaScript, covering event handling and trimming whitespace.
Explains the Shadow DOM, a web technology for creating isolated, encapsulated DOM trees with their own elements and styles.
Explains the Document Object Model (DOM), its role in web development, and how it differs from source HTML.
A technical exploration of a CSS-Tricks challenge: how to create nested link functionality using a clever <object> element hack to work around HTML specification limitations.
Explores the limitations of JavaScript for styling web elements and introduces CSS as a more declarative and reactive alternative.
Learn two methods to retrieve CSS property values in JavaScript: accessing inline styles via the style property and computed styles via getComputedStyle.
Explains the technical challenges of automated screen reader testing and why testing the accessibility tree is a better approach.
A guide on how to approach and debug common JavaScript errors, using a practical example of a null reference error.
A frontend developer shares best practices for using id, class, and data attributes in HTML, CSS, and JavaScript to avoid conflicts.
A technical exploration of using SVG's <foreignObject> and canvas to render interactive DOM elements as textures in WebGL, bypassing manual font/layout work.
Explains the six stages of the browser's Critical Rendering Path (CRP) and how understanding it is key to improving website performance.
Explains how to execute code after AngularJS's ng-repeat directive finishes rendering a list using the $last property.
Exploring a method to extend native DOM prototypes safely by using a single namespace property to avoid collisions in JavaScript libraries.
Explains the innerText property's behavior and algorithm for extracting text from HTML nodes, focusing on CSS and whitespace handling.
Explains how a project's version control history, especially commit messages, serves as crucial documentation for understanding code changes and developer intent.