Website announcement dismiss control cannot be reached or used with a keyboard
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 1/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 88/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript
- Domínio
- accessibility, frontend
Direção de pesquisa
Comece por src/resources/projects/website/templates/nav-before-body.ejs e src/resources/projects/website/navigation/quarto-nav.js, que a issue identifica como a marcação do anúncio e o manipulador de clique. Renderize o exemplo de site fornecido e inspecione o controle de anúncio gerado e seu comportamento com o teclado. A tarefa estará concluída quando for possível alcançar o controle com Tab, ele tiver um nome acessível e dispensar o anúncio com Enter ou Space.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- JavaScript
- Estrelas
- 6.1k
- Forks
- 476
- Merge médio
- 16h 42min
- PRs com merge (30d)
- 115
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de quarto-dev/quarto-cli
-
quarto.json.decode does not raise on invalid JSON, so pcall cannot catch itTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug lua
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
quarto-dev/quarto-cli#15226 ·
Mantenedores costumam responder em até 1 dia
-
accessibility bug themes
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
quarto-dev/quarto-cli#15222 ·
Mantenedores costumam responder em até 1 dia
-
bug code-annotation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
quarto-dev/quarto-cli#15215 ·
Mantenedores costumam responder em até 1 dia
-
accessibility bug website-navigation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
quarto-dev/quarto-cli#15190 ·
Mantenedores costumam responder em até 1 dia
-
Navbar dropdown toggles have `role="link"`Talvez já em andamento @Mittalnew assumiu há 6 dias. Abertaaccessibility bug website-navigation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
quarto-dev/quarto-cli#15188 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de quarto-dev/quarto-cli
Issues semelhantes
-
no timer on tournament pageAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
hexlet-codebattle/codebattle#2374 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
security
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Waschndolos/open-clubmanager#185 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 6 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia