Chapter 1
Introduction
Scroll this article to move through the chapters. The sidebar's blue progress meter is CSS-only and attached to a named view timeline registered on the article content.
The JavaScript layer only handles navigation controls, active labels, and fallback readouts; it does not drive the blue meter in supporting browsers.
Chapter 2
Background
Visibility ranges such as cover and contain describe where a subject is in the scrollport. They are useful for reveal animations, but not ideal for full-document progress.
Chapter 3
Approach
The article content declares view-timeline-name: --chapter-scroll. The sidebar can target that timeline because the shared layout declares timeline-scope: --chapter-scroll.
Chapter 4
Results
The scroll named range maps the animation attachment range to the startmost and endmost scroll positions of the underlying scroller.
Chapter 5
Conclusion
When a ViewTimeline subject has no principal box, the timeline is inactive. The inactive-timeline check exposes that failure branch directly.