a11y: appendix "cite as" entry has `role="listitem"` with no `role="list"` parent
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- javascript
- Bereich
- accessibility
Rechercherichtung
Der Issue verweist auf src/format/html/format-html-appendix.ts, insbesondere auf extractCiteEl um die Zeilen 322–326 und den Appendix-Code um die Zeilen 542–559. Lies nach, wie das Cite-Element extrahiert und angehängt wird, rendere dann das bereitgestellte QMD-Beispiel mit citation: true und prüfe das resultierende Appendix-Markup. Als erledigt gilt die Aufgabe, wenn der Cite-Eintrag keine axe-core-Verletzung aria-required-parent mehr auslöst; laut Issue kann entweder role="listitem" entfernt oder ein übergeordnetes Element mit role="list" hinzugefügt werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- JavaScript
- Sterne
- 6.1k
- Forks
- 478
- Ø Merge
- 17 Std. 36 Min.
- Gemergte PRs (30 T.)
- 139
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus quarto-dev/quarto-cli
-
enhancement good-first-issue localization
Schwierigkeit 2/5 1-2 Tage Anfängerfreundlichkeit 76/100
quarto-dev/quarto-cli#15289 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug engines-jupyter
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
quarto-dev/quarto-cli#15281 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement localization
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
quarto-dev/quarto-cli#15268 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
html maintenance
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
quarto-dev/quarto-cli#15261 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement websites
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
quarto-dev/quarto-cli#15255 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in quarto-dev/quarto-cli
Ähnliche Issues
-
needs-area-label
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 2 Tagen
-
serienstream.toOffenN: AdGuard for Windows P2: High T: Annoyance
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 61/100
AdguardTeam/AdguardFilters#246310 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Website: the hero tip's video play() has no catch, so a refused play is an unhandled rejectionOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
liberation-data/drivine#615 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug dependencies known-issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
unreleased dependencies
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
cloudfour/eslint-config#760 ·
Maintainer antworten meist innerhalb von 1 Tag