a11y: appendix "cite as" entry has `role="listitem"` with no `role="list"` parent

Ouverte Adaptée aux débutants
#15,171 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
78/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
javascript
Domaine
accessibility

Piste de recherche

L’issue indique src/format/html/format-html-appendix.ts, en particulier extractCiteEl autour des lignes 322–326 et le code de l’appendice autour des lignes 542–559. Examine comment l’élément cite est extrait et ajouté, puis génère le rendu de l’exemple QMD fourni avec citation: true et inspecte le balisage obtenu pour l’appendice. Le travail est terminé lorsque l’entrée cite ne déclenche plus la violation aria-required-parent d’axe-core ; l’issue permet soit de supprimer role="listitem", soit d’ajouter un parent role="list".

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

accessibility bug
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.

#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
Langage dominant
JavaScript
Étoiles
6.1k
Forks
478
Merge moyen
17 h 58 min
PR mergées (30 j)
135

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de quarto-dev/quarto-cli

Toutes les issues de quarto-dev/quarto-cli

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.