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

Accessibility lookups fetch the entire DOM tree once per selector

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

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
68/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
停滞
技术栈
playwright, typescript

调研方向

在 src/deps/real.ts 中检查 backendNodeIdForSelector 及其获取文档根节点的方式。首先比较 depth: 0 请求与当前的 depth: -1 请求,然后添加 issue 中描述的真实浏览器测试,以两种方式解析同一组选择器。backendNodeId 值匹配且测量了查找成本后,即表示完成。

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

描述

area: engine enhancement performance

What

backendNodeIdForSelector in src/deps/real.ts sends DOM.getDocument with depth: -1, serializing the whole document over the DevTools protocol, and reads only root.nodeId from the result.

Evidence

Measured on a real product UI: 45 calls at 191 ms each, 8.6 seconds of a 55 second scan, 34 percent of the PatternFly rule phase. Every other DevTools call in the scan averaged 2 to 3 ms.

Direction

Request depth: 0 (root only) or cache the root node id per document. Same node, same querySelector, same backendNodeId, so the observation does not change. Prove identity with a real-browser test that resolves a selector set both ways and asserts equal backendNodeId values, then measure.

主要语言
TypeScript
星标
0
派生
0
平均合并
2 小时 48 分钟
30 天内合并 PR
8

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

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

usabl-dev/usabl 的其他 Issue

查看 usabl-dev/usabl 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

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