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.
| Key | Action |
|---|---|
| → ← · ↓ ↑ | Next / previous slide (or reveal step) |
| Space PgDn | Advance · PgUp back |
| Home End | First / 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.
| Value | Effect |
|---|---|
absent, or all | Every mechanism is on (the default). |
none | The mouse does not navigate at all. |
| a space-separated list | Only 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 ← / →.
| Key | Action | Edge fallback |
|---|---|---|
| ← → | Previous / next chapter | Linear step at deck edges |
| ↑ ↓ | Walk slides inside a chapter | Crosses 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
- Check and deliver · run the deck checks, then export the deck as HTML or PDF.
- deck-root API · every attribute and property of the wrapper element.