Skip to content
Native Carousel Controls via CSS Pseudos episode artwork

Nov 26, 2025 31 min

Native Carousel Controls via CSS Pseudos

from Blink286 Hosted by Free Debreuil

The source outlines a technical proposal for new CSS pseudo-elements aimed at solving the "Carousel Problem" by allowing developers to build accessible, interactive carousels without relying on complex JavaScript or extraneous markup. The design introduces ::scroll-marker and ::scroll-button() to enable the browser to automatically generate slide indicators and navigation controls, dramatically simplifying authoring and maintenance. This approach integrates natively with core CSS features like Scroll Snap and manages dynamic states, such as enabling/disabling buttons and highlighting the active slide using the :target-currentpseudo-class. Crucially, the system bakes in WAI-ARIA accessibility features by managing focus order and screen reader roles, ensuring consistent user experience. The document further explains the complex internal browser engine coordination required, including how the marker container is generated as a sibling box to the scrolling element. Ultimately, the proposal seeks to create a more performant and consistently accessiblepattern for ubiquitous UI components.

Episode details come from the podcast's RSS feed.

Embed this episode

Ready to play

Native Carousel Controls via CSS Pseudos

0:00 31:56

No transcript yet.

Requests help us decide what to transcribe next.

Frequently asked questions

How long is this episode of Blink286?

This episode is 31 minutes long.

When was this Blink286 episode published?

This episode was published on November 26, 2025.

Can I download this Blink286 episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.