659: CSS Carousel Configurator Demos with Adam Argyle
Episode
70 min
Read time
2 min
Topics
Productivity, Leadership
AI-Generated Summary
Key Takeaways
- ✓Scroll Buttons Pseudo-Elements: CSS now generates native scroll buttons using `::scroll-button(left)` and `::scroll-button(right)` that automatically page through 85% of scroll port width, disable at edges, and maintain proper focus order without requiring JavaScript event handlers or DOM manipulation.
- ✓Scroll Markers for Navigation: The `::scroll-marker` pseudo-element creates navigation dots automatically for each list item, announces as ARIA tab list, supports keyboard arrow navigation, and allows custom content including text labels or images with alt text for screen readers using the attr() function.
- ✓Interactivity Inert Property: New CSS property enables scroll-based focus management where off-screen carousel items become non-focusable, creating flyover navigation that prevents keyboard users from tabbing through hundreds of hidden items while maintaining full accessibility when items scroll into view using scroll-driven animations.
- ✓Auto-Pages with CSS Columns: Setting `columns: 1` with `::column` pseudo-element creates dynamically snappable page fragments that adjust automatically on resize, generating corresponding scroll markers without measuring or JavaScript, enabling responsive pagination that adapts to any container width changes.
- ✓Content Visibility Virtualization: Combining `content-visibility: auto` with `contain-intrinsic-size` enables rendering only visible carousel items from thousands, lazy loading images with `loading="lazy"`, and using `scroll-start-target` to position users at specific items on page load without JavaScript intersection observers.
What It Covers
Adam Argyle demonstrates new CSS features in Chrome Canary that enable fully functional carousels without JavaScript, including scroll buttons, scroll markers, interactivity inert, and scroll state queries for accessible navigation patterns.
Key Questions Answered
- •Scroll Buttons Pseudo-Elements: CSS now generates native scroll buttons using `::scroll-button(left)` and `::scroll-button(right)` that automatically page through 85% of scroll port width, disable at edges, and maintain proper focus order without requiring JavaScript event handlers or DOM manipulation.
- •Scroll Markers for Navigation: The `::scroll-marker` pseudo-element creates navigation dots automatically for each list item, announces as ARIA tab list, supports keyboard arrow navigation, and allows custom content including text labels or images with alt text for screen readers using the attr() function.
- •Interactivity Inert Property: New CSS property enables scroll-based focus management where off-screen carousel items become non-focusable, creating flyover navigation that prevents keyboard users from tabbing through hundreds of hidden items while maintaining full accessibility when items scroll into view using scroll-driven animations.
- •Auto-Pages with CSS Columns: Setting `columns: 1` with `::column` pseudo-element creates dynamically snappable page fragments that adjust automatically on resize, generating corresponding scroll markers without measuring or JavaScript, enabling responsive pagination that adapts to any container width changes.
- •Content Visibility Virtualization: Combining `content-visibility: auto` with `contain-intrinsic-size` enables rendering only visible carousel items from thousands, lazy loading images with `loading="lazy"`, and using `scroll-start-target` to position users at specific items on page load without JavaScript intersection observers.
Notable Moment
The demonstration reveals that CSS columns can generate dynamic page fragments with automatic scroll markers, where resizing the carousel instantly updates the number of navigation dots without any JavaScript measurement, solving a previously complex responsive pagination problem with pure CSS.
You just read a 3-minute summary of a 67-minute episode.
Get Shop Talk Show summarized like this every Monday — plus up to 2 more podcasts, free.
Pick Your Podcasts — FreeKeep Reading
More from Shop Talk Show
718: 3D Printing Life Upgrades, Don’t Give Away Your Dopamine, and CodePen App Deploys
Jun 8 · 58 min
How I AI
The Codex feature that works while you sleep
May 27
More from Shop Talk Show
717: Better DX for Web Components, What Was Popular That Now We’re Used To?
Jun 1 · 53 min
Beyond Biotech
The problem at the heart of drug discovery: Lexogen & Ochre Bio on the power of AI on human data
May 22
More from Shop Talk Show
We summarize every new episode. Want them in your inbox?
718: 3D Printing Life Upgrades, Don’t Give Away Your Dopamine, and CodePen App Deploys
717: Better DX for Web Components, What Was Popular That Now We’re Used To?
716: Google I/O 2026 Recap Edition
715: Would You Like a LLM With Your Browser?
714: Camping, Burnout, and Chris’ CSS Talk
Similar Episodes
Related episodes from other podcasts
How I AI
May 27
The Codex feature that works while you sleep
Beyond Biotech
May 22
The problem at the heart of drug discovery: Lexogen & Ochre Bio on the power of AI on human data
How I AI
Apr 20
How Intercom 2x’d their engineering velocity in 9 months with Claude Code | Brian Scanlan
The WHOOP Podcast
Mar 18
Scaling Access to Healthcare: The Future of AI and Wearables with Dr. Trishan Panch
Syntax
Feb 23
981: Browsers Are Finally Catching Up (Interop 2026)
Explore Related Topics
This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.
You're clearly into Shop Talk Show.
Every Monday, we deliver AI summaries of the latest episodes from Shop Talk Show and 192+ other podcasts. Free for up to 3 shows.
Start My Monday DigestNo credit card · Unsubscribe anytime