Skip to content

Fix revealjs diagram and image announcements - #15034

Open
jooyoungseo wants to merge 1 commit into
quarto-dev:mainfrom
jooyoungseo:fix/revealjs-image-announcements
Open

jooyoungseo wants to merge 1 commit into
quarto-dev:mainfrom
jooyoungseo:fix/revealjs-image-announcements

Conversation

@jooyoungseo

Copy link
Copy Markdown
Collaborator

Description

Fixes #15033.

Backport image announcements to the bundled reveal.js 5.1.0 without upgrading the presentation framework:

  • Skip style and script contents, including Mermaid's inline SVG stylesheet.
  • Announce native image/video alternative text, so fig-alt is included alongside the caption.
  • Announce role="img" elements by their name rather than their presentational descendants, using the fix proposed in Fix screen reader image names and exclude SVG styles hakimel/reveal.js#3949.
  • Keep the existing hidden-content filtering, 5.1.0 whitespace behavior, and SVG titles outside named images.

The readable source patch is included with an updater step that reapplies it and rebuilds the UMD/ESM bundles and source maps. The updater notes that the upstream PR is not yet merged and that both fixes must be present in a future reveal.js release before removing the backport.

This does not include the separate slide/fragment announcement changes in #15020 or change Graphviz's per-node title/label duplication.

Validation

  • Rendered the new fixture with Quarto 1.10.19 and the regenerated reveal.js 5.1.0 bundles.
  • Playwright: 27/27 tests pass across Chromium, Firefox, and WebKit (revealjs-image-announcements.spec.ts --workers=1).
  • Before the fix, 8 of the 9 Chromium cases fail. WebKit's existing SVG-title filtering was also checked against the original bundle and is preserved.
  • Applied the source patch to pristine 5.1.0 and verified that the result matches the build source after normalizing Windows line endings.
  • Both bundle formats and maps were rebuilt using the upstream lockfile. The source-map source list is unchanged; only js/reveal.js differs.
  • The full Quarto test suite was not run.

Checklist

I have (if applicable):

  • referenced the GitHub issue this PR closes
  • updated the appropriate changelog in the PR
  • ensured the present test suite passes (focused browser tests pass; full suite not run)
  • added new tests
  • created a separate documentation PR in Quarto's website repo and linked it to this PR (not applicable to this bug fix)
AI-assisted PR
  • AI tool used: Aside
  • Codebase grounding: Local clones of Quarto main and reveal.js, the issue reproductions, repository contribution and test documentation, and the existing backport workflow.
  • Human review: I reviewed the changes and test results and approved this submission.

@jooyoungseo
jooyoungseo requested review from cderv and a balanced review from Copilot October 12, 2026 18:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@posit-snyk-bot

posit-snyk-bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues
✅ Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

revealjs: screen readers hear a Mermaid diagram's CSS, and not an image's fig-alt

3 participants