Row identity cannot find elements in shadow DOM, iframes, or unnamed walk stops, so their screens read as not covered
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 54/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- playwright, typescript
- Lĩnh vực
- accessibility, testing-qa
Hướng nghiên cứu
Start with src/providers/axe/index.ts, src/providers/keyboard-walk/index.ts, and src/deps/real.ts to trace how findings are resolved to rows. Add real-browser tests for the four cases listed in the issue, then check that unresolved findings remain gaps and presentation or none tables are excluded. Also replace the issue-number comment in src/deps/real.ts with a description of the failure mode.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happens
With row-scoped identities, every finding's element is found again on the live page to read its table row. A finding whose selector does not name exactly one element in the top document makes its screen a not-covered gap. That rule is safe, because it never turns a lost row identity into a pass. But several kinds of findings can never be found that way, so their screens read as not covered on every run:
- Shadow DOM and iframes.
src/providers/axe/index.tsjoins axe'snode.targetlist into one selector. For an element inside a shadow root or an iframe, axe returns one selector per boundary, and the joined string names nothing, or the wrong element, in the top document. Web-component design systems put most controls inside shadow roots. - Keyboard-walk stops with no path.
src/providers/keyboard-walk/index.tsuses a placeholder pathtab-stop-Nwhen the element path cannot be computed. As a selector it matches nothing. - Layout tables. The table selector in
src/deps/real.tscounts<table role="presentation">as a table. A layout table that wraps a data table makes the data table's rowsenclosing-row-unkeyedgaps.
Expected
- Resolve an axe target across shadow and frame boundaries (host selector, then into its shadow root or frame document, and so on), and read the row from the composed tree.
- Keep a keyboard-walk stop's element reference from the walk itself, rather than going back through a placeholder selector.
- Leave out tables whose role is
presentationornone. - A finding that still cannot be found stays a gap, as now.
Each case needs a real-browser test: a button inside a shadow root in a keyed row, a button in an iframe, a walk stop without a path, and a data table inside a layout table.
Also
A code comment carries an issue number, which the project rules do not allow: src/deps/real.ts ("the exact miss #146 is about"). Replace it with a description of the failure mode.
Status
Found while finishing the row-scoped identity change. It makes screens read as not covered; it never makes one read as verified.
- Ngôn ngữ chính
- TypeScript
- Star
- 0
- Fork
- 0
- Merge trung bình
- 9 giờ 27 phút
- Pull request đã merge (30 ngày)
- 31
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của usabl-dev/usabl
-
area: setup bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: engine enhancement performance
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
accessibility area: engine bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 59/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Scan browser runs without Chromium's sandboxCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởarea: engine security
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 46/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: engine bug security
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của usabl-dev/usabl
Issue tương tự
-
Shell: serve the home app's Cookie Policy on a hard reloadCó thể đã có người làm @2001anshkaushik đã nhận hôm nay. Đang mởfeature module:ai
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
rocketride-org/rocketride-server#2899 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
wazuh/wazuh-dashboard-plugins#9551 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
gofish-graphics/gofish-graphics#1252 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
optimization P3 size:XS
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
josephfung/curia#2366 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
stranded-follow-up sweep trusts any issue whose body carries the marker as the tracking issueĐang mởtype:bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
nightgauge/nightgauge#2688 ·
Maintainer thường phản hồi trong vòng 1 ngày