revealjs speaker view: Layout select has no accessible name
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 65/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- html, javascript
調査の方向性
まず、同梱されているスピーカービューのマークアップ src/resources/formats/revealjs/reveal/plugin/notes/speaker-view.html を確認し、次にレポートでリンクされている reveal.js の issue と比較します。ネイティブのレイアウト選択欄に安定したアクセシブルな名前を付け、ネイティブのセマンティクスとキーボードフォーカスの可視性を維持し、生成されたノートバンドルの同期を保ちます。選択欄が選択値とは別に目的を公開できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Bug description
The speaker-view Layout dropdown has no programmatic accessible name.
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 visible label is a separate span, not a programmatic label for the native select:
<span class="speaker-layout-label">Layout: Default</span>
<select class="speaker-layout-dropdown">
<option value="default">Default</option>
<option value="wide">Wide</option>
<option value="tall">Tall</option>
<option value="notes-only">Notes only</option>
</select>
In the running speaker window, the select has no id, associated label, aria-label, aria-labelledby, or title; select.labels.length is 0. Its selected value is present, but that does not supply the control's purpose/name ("Layout"). With the select focused, ArrowDown changes its value from default to wide, and the visible text changes to "Layout: Wide". This is an accessible-name defect, not a claim that the native select or its options are entirely unavailable to every screen reader.
The select also has computed opacity: 0 and overlays the visible span. Opacity alone is not evidence that a control is excluded from a browser accessibility tree; the defect here is the missing label association.
Expected behavior
Give the native select a programmatically associated, stable accessible name such as "Layout" (e.g., a label with for/id or aria-labelledby pointing to an appropriate label). Preserve native select semantics and expose its selected value separately from its purpose. Verify keyboard focus visibility while retaining the custom visual styling.
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
- 主要言語
- JavaScript
- スター
- 6.1k
- フォーク
- 471
- 平均マージ
- 17時間 35分
- マージ済み PR(30日)
- 107
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
quarto-dev/quarto-cli のほかの issue
-
revealjs speaker view: missing named landmarks for current slide, upcoming slide, time, and notes対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug revealjs
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
quarto-dev/quarto-cli#15160 ·
メンテナーはふだん 1 日以内に返信
-
accessibility bug website-navigation
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
quarto-dev/quarto-cli#15123 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
quarto-dev/quarto-cli#15109 ·
メンテナーはふだん 1 日以内に返信
-
accessibility html websites
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
quarto-dev/quarto-cli#15096 ·
メンテナーはふだん 1 日以内に返信
-
accessibility bootstrap dark-mode enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
quarto-dev/quarto-cli#15060 ·
メンテナーはふだん 1 日以内に返信
quarto-dev/quarto-cli の issue をすべて見る
似ている issue
-
type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 66/100
メンテナーはふだん 1 日以内に返信
-
Update to mocha 12.xオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
rescript-lang/rescript#8996 ·
メンテナーはふだん 1 日以内に返信
-
check:passed logos:add
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100