a11y: appendix "cite as" entry has `role="listitem"` with no `role="list"` parent
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 78/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- javascript
调研方向
Issue 指向 src/format/html/format-html-appendix.ts,尤其是第 322–326 行附近的 extractCiteEl,以及第 542–559 行附近的 appendix 代码。阅读 cite 元素的提取和追加方式,然后使用 citation: true 渲染所提供的 QMD 示例,并检查生成的 appendix 标记。完成标准是 cite 条目不再触发 axe-core 的 aria-required-parent 违规;issue 允许删除 role="listitem",或添加一个带有 role="list" 的父元素。
由索引模型根据 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
With citation: true, the "For attribution, please cite this work as" entry in the appendix is a div with role="listitem" and no role="list" ancestor.
axe-core reports this as aria-required-parent (critical, WCAG 2.0 A, SC 1.3.1 Info and Relationships).
Pandoc's citeproc wraps each csl-entry (role="listitem") in a role="list" container.
extractCiteEl takes the .csl-entry out of that container and returns it alone, and the appendix code appends it to the citation section.
- https://github.com/quarto-dev/quarto-cli/blob/69592e5c1718d3e1b2f3d11e757d32e23a16af67/src/format/html/format-html-appendix.ts#L322-L326
- https://github.com/quarto-dev/quarto-cli/blob/69592e5c1718d3e1b2f3d11e757d32e23a16af67/src/format/html/format-html-appendix.ts#L542-L559
#14755 reports the same defect for margin citations.
That issue is about a different code path, so a fix for the margin case does not cover the appendix.
Steps to reproduce
---
title: "Cite as test"
author: Jane Doe
date: 2026-01-01
citation: true
format: html
---
Content.
quarto render index.qmd
grep -o '<div[^>]*quarto-appendix-citeas[^>]*>' index.html
Actual behavior
<div id="ref-doe2026" class="csl-entry quarto-appendix-citeas" role="listitem">
There is no element with role="list" in the page.
Running the axe.min.js that ships with Quarto against the rendered page gives one aria-required-parent violation, on this element.
Expected behavior
The entry is not marked as a list item when it has no list parent, or it is placed inside an element with role="list".
Your environment
- IDE: none, terminal only
- OS: macOS (Darwin 27.0.0, Apple Silicon)
Quarto check output
Quarto 99.9.9
[✓] Checking versions of quarto binary dependencies...
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 Quarto installation......OK
Version: 99.9.9
commit: 69592e5c1718d3e1b2f3d11e757d32e23a16af67
- 主要语言
- JavaScript
- 星标
- 6.1k
- 派生
- 478
- 平均合并
- 17 小时 26 分钟
- 30 天内合并 PR
- 126
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
quarto-dev/quarto-cli 的其他 Issue
-
enhancement localization
难度 2/5 1-3 小时 新手友好度 65/100
quarto-dev/quarto-cli#15268 · 1 条评论 ·
维护者通常 1 天内回复
-
html maintenance
难度 2/5 1-3 小时 新手友好度 84/100
quarto-dev/quarto-cli#15261 ·
维护者通常 1 天内回复
-
enhancement websites
难度 2/5 1-3 小时 新手友好度 78/100
quarto-dev/quarto-cli#15255 · 1 条评论 ·
维护者通常 1 天内回复
-
quarto.json.decode does not raise on invalid JSON, so pcall cannot catch it可能已有人在做 @sogav21 于 3 天前认领。 未关闭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 于 2 天前认领。 未关闭accessibility bug themes
难度 1/5 1 小时以内 新手友好度 88/100
quarto-dev/quarto-cli#15222 ·
维护者通常 1 天内回复
查看 quarto-dev/quarto-cli 的全部 Issue
相似的 Issue
-
[vika] console keeps a stale "in progress" turn after a daemon restart mid-run可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 86/100
volcengine/OpenViking#7011 ·
维护者通常 1 天内回复
-
Issue: ready for confirmation Reported on 2.4.9 Triage: Dev.Experience
难度 2/5 1-3 小时 新手友好度 70/100
magento/magento2#41773 · 1 条评论 ·
维护者通常 5 天内回复
-
Upgrade listener stays on a custom server after close when `preClose` is set可能已有人在做 @RaphaelFakhri 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
fastify/fastify-websocket#388 ·
-
[推荐] 影夕视频未关闭
难度 1/5 1 小时以内 新手友好度 72/100
-
Perl - Readme Drift可能已有人在做 @Omnideth 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
CommunityToolkit/Aspire#2375 ·
维护者通常 2 天内回复