Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

revealjs speaker view: missing named landmarks for current slide, upcoming slide, time, and notes

Aperta Adatta ai principianti
#15,160 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@jooyoungseo ci sta già lavorando.

Dal 22/10/2026.

  • #15164 di @jooyoungseo — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
76/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript
Ambito
accessibility

Direzione di ricerca

Inizia dal markup della vista del relatore incluso in src/resources/formats/revealjs/reveal/plugin/notes/speaker-view.html, righe 309–338, e confrontalo con l’issue 3952 di reveal.js upstream. Verifica come sono rappresentati i quattro pannelli visibili nei vari layout e dove vengono generati i bundle delle note. Il lavoro è completato quando i pannelli espongono punti di riferimento denominati, stabili e utili, senza esporre pannelli nascosti o inattivi, e i bundle delle note generati sono sincronizzati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug revealjs

Bug description

The speaker view lacks named semantic landmarks for its current slide, upcoming slide, time, and notes panels.

This reproduces in a default Quarto revealjs deck as well as standalone upstream reveal.js 6.0.2. This is a downstream tracking report for the bundled notes plugin, not a Quarto-only regression.

Steps to reproduce

  1. Save the following as speaker.qmd and run quarto preview speaker.qmd.
  2. Advance past the title slide to First slide, then press S to open speaker view. Wait until the previews and speaker notes are visible.
  3. In the speaker-view window, inspect the layout select and the four top-level panel containers using browser accessibility/DOM tools. For the layout issue, focus the select and change its selected option using the keyboard.
---
title: Speaker view accessibility reproduction
format: revealjs
---

## First slide

First slide content.

::: {.notes}
Speaker notes for the first slide.
:::

## Second slide

Second slide content.

::: {.notes}
Speaker notes for the second slide.
:::

No custom filters, extensions, themes, or author CSS are used. The tested deck was rendered with quarto render speaker.qmd and served by a local HTTP static server.

Actual behavior

The top-level speaker-view containers are generic divs with neither landmark roles nor accessible names:

<div id="current-slide">...</div>
<div id="upcoming-slide"><span class="overlay-element label">Upcoming</span>...</div>
<div class="speaker-controls-time">...</div>
<div class="speaker-controls-notes">...</div>

Live inspection of all four containers returned role=null, aria-label=null, and aria-labelledby=null. Notes were present and visible in the test, so this is not just the intentionally hidden empty-notes state. The visible Time and Notes headings and Upcoming span do not turn these divs into landmarks.

The preview iframes contain their own slide region/application semantics. Those inner-slide regions are not named landmarks for the speaker-view panels and do not distinguish "Current slide" from "Upcoming slide" in the parent speaker window.

Consequently, these major presentation-management areas cannot be identified and traversed as named landmarks in the speaker-view document.

Expected behavior

Expose the major visible speaker-view areas as named landmarks, for example section elements with aria-labelledby or role="region" plus useful accessible names: "Current slide", "Upcoming slide", "Time", and "Speaker notes". Keep names stable across layouts and do not expose hidden/inactive panels. Each landmark should group the panel content, not just label an empty wrapper.

Please incorporate the corresponding upstream fix into the bundled notes plugin (or backport as appropriate), keeping generated notes bundles synchronized.

Your environment and verification scope

Quarto CLI 1.11.5 (prerelease), bundling reveal.js 5.1.0 according to the generated reveal.js header. The installed speaker-view.html matches the current quarto-cli main source at 517944ddc441a64d66f18b90b51c7a9d3c1af5b8 after normalizing line endings/trailing whitespace. Runtime testing used the installed build, not a separately built main checkout.

Windows, Chromium-based Aside Browser (user agent Chrome/153.0.0.0). Verified through live DOM inspection, browser snapshots, and keyboard interaction. No JAWS/NVDA/VoiceOver speech-output session was run; this report does not assert a particular spoken utterance or behavior across all screen readers.

Source

Bundled speaker-view markup.

Quarto check output (relevant excerpt)

Quarto 1.11.5
Pandoc version 3.10.0: OK
Dart Sass version 1.101.0: OK
Deno version 2.7.14: OK
Typst version 0.15.1: OK
Checking versions of quarto dependencies: OK
Checking Quarto installation: OK
Version: 1.11.5
CodePage: 1252

Searched existing open and closed issues; no matching speaker-view report was found.

Upstream report

https://github.com/hakimel/reveal.js/issues/3952

Lingua principale
JavaScript
Stelle
6.1k
Fork
471
Merge medio
21h 50m
PR unite (30g)
105

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di quarto-dev/quarto-cli

Tutte le issue di quarto-dev/quarto-cli

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.