The Shifting Line Between CSS States and JavaScript Events | CSS-Tricks
CSS has always had pseudo-classes that style things when baed on user interactions. Recent features, however, are blurring the line between what CSS "listens" for and how they are alternatives to what Javascript typically listens for.