Website announcement dismiss control cannot be reached or used with a keyboard
I maintainer di solito rispondono entro 1 giorno
Una pull request collegata è già stata integrata.
- #15253 di @Xander-AJ — integrata
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript
- Ambito
- accessibility, frontend
Direzione di ricerca
Inizia da src/resources/projects/website/templates/nav-before-body.ejs e src/resources/projects/website/navigation/quarto-nav.js, che l’issue identifica come il markup dell’annuncio e il gestore del clic. Genera l’esempio di sito web fornito ed esamina il controllo dell’annuncio generato e il suo comportamento da tastiera. Il lavoro è completo quando è possibile raggiungere il controllo con Tab, ha un nome accessibile e chiude l’annuncio con Enter o Space.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- JavaScript
- Stelle
- 6.1k
- Fork
- 478
- Merge medio
- 17h 26m
- PR unite (30g)
- 126
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di quarto-dev/quarto-cli
-
enhancement localization
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
quarto-dev/quarto-cli#15268 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
html maintenance
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
quarto-dev/quarto-cli#15261 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement websites
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
quarto-dev/quarto-cli#15255 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
quarto.json.decode does not raise on invalid JSON, so pcall cannot catch itForse già presa @sogav21 l’ha presa 3 giorni fa. Apertabug lua
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
quarto-dev/quarto-cli#15226 ·
I maintainer di solito rispondono entro 1 giorno
-
arrow-dark gives region markers a light band that fails contrastForse già presa @vav7 l’ha presa 2 giorni fa. Apertaaccessibility bug themes
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
quarto-dev/quarto-cli#15222 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di quarto-dev/quarto-cli
Issue simili
-
good first issue help wanted
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
modrollstudio/Modroll-Studio-Website#80 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue help wanted
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
-
area: panel enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
GabrielGirardi/ledge#7 ·
-
0. Needs triage 35-feedback bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
A-linter
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
oxc-project/oxc#28783 ·
I maintainer di solito rispondono entro 1 giorno