Website announcement dismiss control cannot be reached or used with a keyboard
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 1/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 88/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript
調査の方向性
issue で告知のマークアップとクリックハンドラーとして挙げられている src/resources/projects/website/templates/nav-before-body.ejs と src/resources/projects/website/navigation/quarto-nav.js から始めてください。提示されたウェブサイトの例をレンダリングし、生成された告知コントロールとキーボード操作時の動作を確認してください。コントロールに Tab キーで移動でき、アクセシブルな名前があり、Enter または Space で告知を閉じられれば完了です。
索引モデルが issue の本文から書いたものです。
説明
I have:
- searched the issue tracker for similar issues
- installed the latest version of Quarto CLI
- formatted my issue following the Bug Reports guide
Bug description
Keyboard and screen reader users cannot dismiss a website announcement.
Quarto writes the dismiss control as an <i> element, with no role, no accessible name, and no tab stop:
quarto-nav.js only listens for a mouse click on it:
This fails WCAG 2.1.1 Keyboard and WCAG 4.1.2 Name, Role, Value, both Level A.
Related:
Steps to reproduce
_quarto.yml:
project:
type: website
website:
title: "Announcement"
navbar:
left:
- href: index.qmd
text: Home
announcement:
content: "This is an announcement."
type: info
dismissable: true
position: above-navbar
format: html
index.qmd:
---
title: "Home"
---
Some text.
- Run
quarto render. - Open
_site/index.html. - Press Tab repeatedly.
Actual behavior
Focus never reaches the dismiss control, and its tabIndex is -1.
Only a mouse click closes the bar.
A screen reader does not expose the control at all.
Expected behavior
The control is a <button type="button"> with an accessible name, such as aria-label="Dismiss announcement".
Tab reaches it, and Enter or Space closes the bar.
If the button keeps the quarto-announcement-action class, the existing click handler in quarto-nav.js works unchanged, because a button fires click on Enter and Space.
Your environment
- OS: macOS 27.0.1.
- Browser: Chromium (Brave), driven by Playwright.
Quarto check output
Quarto 99.9.9
[✓] Checking environment information...
[✓] Checking versions of quarto binary dependencies...
Pandoc version 3.10.0: OK
Dart Sass version 1.101.0: OK
Deno version 2.9.8: OK
Typst version 0.15.1: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
Version: 99.9.9
commit: 6f81421488bde28d87cee51c9988e666bc09f7be
The build comes from commit 6f81421, which is the v1.11.8 tag.
- 主要言語
- JavaScript
- スター
- 6.1k
- フォーク
- 476
- 平均マージ
- 16時間 42分
- マージ済み PR(30日)
- 115
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
quarto-dev/quarto-cli のほかの issue
-
quarto.json.decode does not raise on invalid JSON, so pcall cannot catch it対応中かも @sogav21 が 1 日前に担当しました。 オープンbug lua
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
quarto-dev/quarto-cli#15226 ·
メンテナーはふだん 1 日以内に返信
-
arrow-dark gives region markers a light band that fails contrast対応中かも @vav7 が今日担当しました。 オープンaccessibility bug themes
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
quarto-dev/quarto-cli#15222 ·
メンテナーはふだん 1 日以内に返信
-
bug code-annotation
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
quarto-dev/quarto-cli#15215 ·
メンテナーはふだん 1 日以内に返信
-
accessibility bug website-navigation
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
quarto-dev/quarto-cli#15190 ·
メンテナーはふだん 1 日以内に返信
-
Navbar dropdown toggles have `role="link"`対応中かも @Mittalnew が 6 日前に担当しました。 オープンaccessibility bug website-navigation
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
quarto-dev/quarto-cli#15188 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
quarto-dev/quarto-cli の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
endurain-project/endurain#882 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
メンテナーはふだん 1 日以内に返信
-
bug help wanted ux
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
nesquena/hermes-webui#8733 ·
メンテナーはふだん 1 日以内に返信
-
help wanted translation
難易度 2/5 半日 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信