Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Update the bundled Observable Plot and Inputs libraries

未关闭 适合新手
#14,934 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
65/100
Issue 类型
重构
描述清晰度
描述清楚
活跃度
活跃
技术栈
javascript

调研方向

捆绑的库定义在 src/resources/formats/html/ojs/quarto-ojs-runtime.js 的第 207-208 行。将 Plot 和 Inputs 的版本号更新至最新发布版本(Plot 0.6.17,Inputs 0.11.0)。通过构建 Quarto 并测试新版本是否被提供来验证更改。检查更新库的发布说明中是否有任何破坏性变更。

由索引模型根据 Issue 内容生成。

描述

maintenance ojs-engine

Quarto bundles Observable Plot 0.6.11 and Observable Inputs 0.10.6. These versions have not changed since November 2023.

https://github.com/quarto-dev/quarto-cli/blob/e24bcbd1fa93165e4dc2b022a9564dbc1692f114/src/resources/formats/html/ojs/quarto-ojs-runtime.js#L207-L208

Before that, the bundled Plot moved about every six months: 0.6.0 (November 2022), 0.6.5 (April 2023), and 0.6.11 (November 2023, f04ca43).

The current Plot release is 0.6.17. The upstream observablehq/stdlib pins Plot 0.6.16 and Inputs 0.11.0 (stdlib v5.8.8).

Accessibility

An update also removes some accessibility errors on quarto.org.

In Plot 0.6.11, each axis tick is in the accessibility tree. VoiceOver announces each tick as "image", which adds noise between the tick values (observablehq/plot#2019). Plot 0.6.14 hides the ticks from assistive technology (observablehq/plot#2018).

The tick groups also have an aria-label with no role. axe reports this as aria-prohibited-attr, a failure of WCAG 2.2 SC 4.1.2 Name, Role, Value.

I scanned the 10 OJS pages on quarto.org with quarto call axe, before and after the documented import of the latest Plot (0.6.17):

Plot findings instances
Plot 0.6.11 (bundled) 20 54
Plot 0.6.17 (import) 10 24

The update removed all findings on axis-tick and grid groups. It added no new findings. I did not test Inputs 0.11.0.

If your own scan found these errors

Charts from Plot 0.6.11 give aria-prohibited-attr errors on <g> elements such as g[aria-label="y-axis tick"]. These errors come from Plot, not from your content.

To use a newer Plot on a page, add this cell (Libraries):

Plot = import("https://cdn.jsdelivr.net/npm/@observablehq/plot/+esm")

The newer Plot still puts an aria-label on data marks (rect, frame, line, rule, tick). axe reports these marks with the same error. A Quarto update does not change this.

This is a design decision in Plot. Plot gives every mark an automatic label, such as "dot", and adds no role (observablehq/plot#710). One Plot maintainer's view is that SVG-AAM already includes a <g> with a non-empty aria-label in the accessibility tree. The maintainer was not sure that role="graphics-object" would help users (observablehq/plot#944). The open request for a role is observablehq/plot#1760.

Plot's ariaHidden mark option removes a decorative mark from the accessibility tree (Plot accessibility docs).

AI tools helped with this investigation. The investigation used local clones of quarto-cli and quarto-web.

主要语言
JavaScript
星标
6k
派生
458
平均合并
1 天 5 小时
30 天内合并 PR
53

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

quarto-dev/quarto-cli 的其他 Issue

查看 quarto-dev/quarto-cli 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。