Hide/Show Passwords: Ten Years Later

A look back at one of my first (and most popular) open source projects.
You appear to be offline, some content may be unavailable.
A look back at one of my first (and most popular) open source projects.
Part 4 explores the ValidityState API, a powerful, approachable, and well-supported API we can use to define custom validation messages.
When developing websites, I often create the same boilerplate structure over and over. By creating a custom scaffolding script, I can automate this boring task and save a lot of time.
Parts 1 and 2 of this series explore the browser's built-in HTML & CSS form validation features and how to progressively enhance the experience by layering in JavaScript. This article continues the exploration, focusing on a use case not handled natively: a checkbox group.
In Part 2 of this series, we take the base HTML and CSS form validation experience and progressively enhance it by adding JavaScript and the Constraint Validation API while also addressing accessibility concerns.
The new Zelda game uses repeated patterns to build a cohesive world. Let's write code to generate these patterns and then print them with a robot!
Animation can help inform user about changes in your app. And the View Transitions API makes adding animations easier than ever.
On a recent project I finally found a solution to an issue I've run into several times: When listening for events in JavaScript, how can I tell whether an event was triggered directly by a user or by my code?
The single best feature of Vite, as far as I’m concerned, is its simplicity. Compared to the nightmare of configuring WebPack and Babel? Vite is delightfully easy to use.
Hand-code an SVG snowflake, experiment in an interactive playground, and generate infinite random snowflakes with a dash of JavaScript.