Skip to content

Feature Request: Vertical Continuous Scroll Mode for EPUB #684

Description

@bimemto

Summary

Add support for vertical continuous scrolling in EPUB scroll mode, allowing users to scroll vertically through all chapters/spreads seamlessly without needing to swipe horizontally to change spreads.

Current Behavior

In EPUB scroll mode (EPUBPreferences.scroll = true):

  • Each spread (chapter/resource) is still contained in a horizontal PaginationView
  • Users can scroll vertically within each spread
  • To move to the next spread, users must swipe horizontally
  • This creates a jarring reading experience with mixed scroll directions
Current: Vertical scroll within spread + Horizontal swipe between spreads
┌─────────────┐
│  Spread 1   │ ← Vertical scroll works here
│             │
│  (scroll ↕) │
└─────────────┘
      ↓ Horizontal swipe required →
┌─────────────┐
│  Spread 2   │
│             │
└─────────────┘

Proposed Behavior

In vertical scroll mode, all spreads should be stacked vertically in PaginationView:

  • Users scroll vertically through all content continuously
  • Spreads transition seamlessly as user scrolls
  • No horizontal swiping required
  • Similar to modern web reading experiences (Medium, Substack, etc.)
Proposed: Pure vertical continuous scroll
┌─────────────┐
│  Spread 1   │
│             │ ↕ Vertical scroll through
│  Spread 2   │   all spreads continuously
│             │
│  Spread 3   │
└─────────────┘

Benefits

  1. Better UX: Natural reading flow without direction changes
  2. Consistency: Matches user expectations from web reading
  3. Accessibility: Easier for users with motor difficulties
  4. Modern: Aligns with contemporary reading apps (Apple Books scroll mode, Kindle app)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions