a11y: lightbox link of an off-theme `.light-content` or `.dark-content` image stays focusable
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, scss
- Ambito
- accessibility, frontend
Direzione di ricerca
Il report rimanda a src/resources/filters/layout/lightbox.lua e src/resources/formats/html/_quarto-rules.scss; leggi prima le regole per l’avvolgimento di lightbox e per nascondere i temi. Riproduci il comportamento con l’esempio QMD fornito, poi verifica che il link del tema disattivato sia nascosto nell’ordine di tabulazione da tastiera e nell’albero di accessibilità, mentre l’immagine corrispondente continui ad aprirsi. Nell’issue non è indicato alcun file di test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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 a light and a dark version of an image, Quarto hides the one that does not match the colour scheme, but it leaves the lightbox link around it.
The hidden image's link is zero-size and invisible, yet it stays in the keyboard tab order, and pressing Enter on it opens the lightbox with the image from the other colour scheme.
Keyboard users tab onto an element they cannot see.
The lightbox filter wraps every lightbox image in an <a class="lightbox"> and puts no theme class on the link.
The stylesheet hides the image with display: none !important, and the rule only matches the image.
#14691 describes the same pattern for the dashboard navbar logo.
Steps to reproduce
---
title: "Lightbox light and dark test"
lightbox: auto
format:
html:
theme:
light: default
dark: darkly
---
{.light-content}
{.dark-content}
Render it, press Tab until the focus reaches the second image in light mode, then press Enter.
Actual behavior
The output contains one link per image, and the link of the off-theme image measures 0 by 0:
<a href="dark.svg" class="lightbox" data-gallery="quarto-lightbox-gallery-2" title="Dark version"><img src="dark.svg" class="dark-content img-fluid figure-img" alt="Dark version"></a>
In light mode the tab order is: skip link, light image link, dark image link (invisible), lightbox close button.
In dark mode it is the same with the roles swapped.
Enter on the invisible link opens the lightbox with the hidden image.
Expected behavior
The link of the hidden image is hidden with it, so it leaves the tab order and the accessibility tree.
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
- Lingua principale
- JavaScript
- Stelle
- 6.1k
- Fork
- 478
- Merge medio
- 17h 7m
- PR unite (30g)
- 112
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di quarto-dev/quarto-cli
-
enhancement websites
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
quarto-dev/quarto-cli#15255 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Website announcement dismiss control cannot be reached or used with a keyboardForse già presa @Xander-AJ l’ha presa oggi. Apertaaccessibility bug websites
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
quarto-dev/quarto-cli#15235 ·
I maintainer di solito rispondono entro 1 giorno
-
quarto.json.decode does not raise on invalid JSON, so pcall cannot catch itForse già presa @sogav21 l’ha presa 2 giorni fa. Apertabug lua
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
quarto-dev/quarto-cli#15226 ·
I maintainer di solito rispondono entro 1 giorno
-
arrow-dark gives region markers a light band that fails contrastForse già presa @vav7 l’ha presa 1 giorno fa. Apertaaccessibility bug themes
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
quarto-dev/quarto-cli#15222 ·
I maintainer di solito rispondono entro 1 giorno
-
bug code-annotation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
quarto-dev/quarto-cli#15215 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di quarto-dev/quarto-cli
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
Analysis
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
SACGF/variantgrid#2615 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
LucasSantana-Dev/Lucky#2945 ·
I maintainer di solito rispondono entro 1 giorno