Concepts

Navigation

Every key, click, wheel and URL a presenter or the viewer of an embedded deck can use to move through the slides, and how to restrict them with mouse-nav.

Linear by default

Out of the box navigation is linear: the arrow keys move to the next / previous slide (or reveal step), wherever you are. Adding a<deck-section> does not change that on its own.

KeyAction
· Next / previous slide (or reveal step)
Space PgDnAdvance · PgUp back
Home EndFirst / last slide
O · P · ?Overview · presenter · help

The mouse navigates too: click to advance, Shift+click to go back, the scroll wheel, the bottom-right chevrons, and the mouse back/forward buttons. The wheel yields to scrollable content (a tall code block, a zoomable SVG): it scrolls that element and only advances the deck once it reaches the scroll edge.

Scoping the mouse with mouse-nav

The mouse-nav attribute on <deck-root>selects which pointer mechanisms the deck claims. This matters for an embedded deck, which would otherwise swallow the host page's scroll.

ValueEffect
absent, or allEvery mechanism is on (the default).
noneThe mouse does not navigate at all.
a space-separated listOnly the named mechanisms, among click, wheel, arrows and aux (the back/forward buttons). A word the list does not know matches nothing, so a typo disables rather than enables.

Example: <deck-root mouse-nav="click arrows"> keeps the click and the chevrons and leaves the wheel to the page. The other<deck-root> attributes are listed in thedeck-root API.

2D navigation (opt-in)

Add nav="2d" to <deck-root> (with two or more<deck-section> chapters) to opt into a two-dimensional grid where the axes split apart. Without it, arrows stay linear, so adding a section never silently remaps / .

KeyActionEdge fallback
Previous / next chapterLinear step at deck edges
Walk slides inside a chapterCrosses into next chapter linearly

Overview mode

Press O to open a thumbnail view of the whole deck, with a search bar at the top. Up to 60 slides it uses a path layout: one row per chapter, sub-slides flowing rightward, the current slide highlighted. Past that it switches to two columns · a chapter sidebar on the left, a wrapping grid of thumbnails on the right. Click any thumbnail to jump there. PressEsc or O again to close.

The overview module is lazy-loaded · the JS and CSS fetch on first O. Same for the help overlay below.

Help overlay

Press ? or H for the full keyboard cheatsheet. The list adapts to whether 2D nav applies in the current deck.

Presenter window

Press P to open a second window for the speaker. It mirrors the current slide, previews the next one, shows the text of the slide's<deck-notes> and runs a timer; the two windows stay in sync while you navigate from either. The module loads on the firstP, so a deck whose speaker never presses it never fetches it.Optional modules · presenter covers the second-screen placement and the notes element.

URL hash

The canonical URL is #N · slide N (1-indexed, flat). Share#5 and the deck opens on slide 5; #5.2 opens it at step 2. With nav="2d", #chapter.slide coordinates are also accepted. Out-of-range links are clamped to the nearest valid slide and step (never reset to slide 1), so a bookmarked link survives while you edit the deck.

The bottom-left hint

Rikiki shows a small keyboard cheatsheet in the bottom-left corner: it lists , O, P, ? · and adds when nav="2d" is active. The chips are clickable shortcuts for the matching action.

Next