revealjs speaker view: missing named landmarks for current slide, upcoming slide, time, and notes
Maintainer thường phản hồi trong vòng 1 ngày
Một pull request liên quan đã được merge.
- #15164 của @jooyoungseo — đã merge
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 76/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript
- Lĩnh vực
- accessibility
Hướng nghiên cứu
Bắt đầu với phần đánh dấu speaker view đi kèm tại src/resources/formats/revealjs/reveal/plugin/notes/speaker-view.html, dòng 309–338, rồi so sánh với issue 3952 của reveal.js upstream. Kiểm tra cách bốn bảng hiển thị được thể hiện trong các bố cục và nơi tạo các gói notes. Công việc hoàn tất khi các bảng cung cấp các landmark có tên ổn định và hữu ích mà không để lộ các bảng ẩn hoặc không hoạt động, đồng thời các gói notes được tạo ra đã đồng bộ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Save the following as speaker.qmd and run
quarto preview speaker.qmd. - Advance past the title slide to First slide, then press S to open speaker view. Wait until the previews and speaker notes are visible.
- 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
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
- Ngôn ngữ chính
- JavaScript
- Star
- 6.1k
- Fork
- 471
- Merge trung bình
- 17 giờ 35 phút
- Pull request đã merge (30 ngày)
- 107
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của quarto-dev/quarto-cli
-
accessibility bug html websites
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
quarto-dev/quarto-cli#15187 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement themes websites
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
quarto-dev/quarto-cli#15179 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
about-page bug layout websites
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 82/100
quarto-dev/quarto-cli#15178 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug websites
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
quarto-dev/quarto-cli#15176 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
a11y: prev/next page links and title breadcrumbs use `$text-muted` and fail contrast on dark themesĐang mởaccessibility bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
quarto-dev/quarto-cli#15175 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của quarto-dev/quarto-cli
Issue tương tự
-
bug needs triage P3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
pbakaus/impeccable#1143 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
status: waiting for maintainer
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
mui/material-ui#49547 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
capricorn86/happy-dom#2544 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
next() is called twice when the request closes after busboy fails to startCó thể đã có người làm @NgoQuocViet2001 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
jarrodwatts/claude-hud#827 ·
Maintainer thường phản hồi trong vòng 1 ngày