Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Default revealjs link colour fails text contrast at normal sizes

Open Beginner friendly
#14,962 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
88/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
scss

Research direction

Inspect src/resources/formats/revealjs/quarto.scss around L40-L41, where the default link colour is defined. Render the provided revealjs example and check the footer, smaller text, and captions against the default background; done means normal-sized links meet the 4.5:1 WCAG contrast requirement.

Written by the indexing model from the issue text.

Description

accessibility revealjs themes

I have:

  • searched the issue tracker for similar issues
  • installed the latest version of Quarto CLI
  • formatted my issue following the Markdown guide

Bug description

The default revealjs theme sets $link-color to #2a76dd. On the default #fff background, the contrast is 4.44:1. WCAG 2.2 SC 1.4.3 Contrast (Minimum) requires 4.5:1 for text that is not large.

Slide body text is 40px, so body links pass (large text needs 3:1). Links in smaller text fail, for example in the footer (18px, and 14px on a 320px viewport), in .smaller slides, and in captions.

The colour comes from quarto.scss L40-L41. axe reports this on the quarto.org revealjs demo footer.

Steps to reproduce

---
format: revealjs
footer: "[quarto.org](https://quarto.org)"
---

## Slide

See [the Quarto website](https://quarto.org).
  1. Render the file.
  2. Measure the footer link colour against the slide background.

Actual behavior

The footer link is #2a76dd on #fff, at 4.44:1. Blue quarto.org text on white background

Expected behavior

The default link colour gives at least 4.5:1 on the default background.

AI helped investigate this issue. The investigation used a local clone of quarto-cli (see "Using AI tools to investigate" in CONTRIBUTING.md).

Your environment

  • IDE: Positron 1.134.0
  • OS: macOS 26.6.2 (build 25G83)

Quarto check output

Quarto 1.11.4

[✓] Checking environment information...
      Quarto cache location: /Users/charlottewickham/Library/Caches/quarto

[✓] 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 versions of quarto dependencies......OK

[✓] Checking Quarto installation......OK
      Version: 1.11.4
      Path: /Applications/quarto/bin


[✓] Checking tools....................OK
      TinyTeX: v2026.04
      Chrome Headless Shell: 150.0.7871.115
      VeraPDF: 1.28.2


[✓] Checking LaTeX....................OK
      Using: TinyTex
      Path: /Users/charlottewickham/Library/TinyTeX/bin/universal-darwin
      Version: 2026


[✓] Checking Chrome Headless....................OK
      Using: Chrome Headless Shell installed by Quarto
      Path: /Users/charlottewickham/Library/Application Support/quarto/chrome-headless-shell/chrome-headless-shell-mac-arm64/chrome-headless-shell
      Version: 150.0.7871.115


[✓] Checking basic markdown render....OK


[✓] Checking R installation...........OK
      Version: 4.6.0
      Path: /Library/Frameworks/R.framework/Versions/4.6/Resources
      LibPaths:
        - /Users/charlottewickham/Library/R/arm64/4.6/library
        - /Library/Frameworks/R.framework/Versions/4.6/Resources/library
      knitr: 1.51
      rmarkdown: 2.31


[✓] Checking Knitr engine render......OK


[✓] Checking Python 3 installation....OK
      Version: 3.12.2
      Path: /Users/charlottewickham/.pyenv/versions/3.12.2/bin/python3
      Jupyter: 5.9.1
      Kernels: python3


[✓] Checking Jupyter engine render....OK


[✓] Checking Julia installation...
Dominant language
JavaScript
Stars
6k
Forks
461
Avg merge
13h 15m
Merged PRs (30d)
54

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from quarto-dev/quarto-cli

All issues in quarto-dev/quarto-cli

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.