Repository navigation
Fix for "name required" for tab at 5.2.8.4 and 5.2.8.5 - #1771
Merged
Merged
Conversation
(name required) is missing for "tab" on 5.2.8.4 and 5.2.8.5. The query is searching the "Accessible Name Required:" value to be "True". There were extra spaces around that value so the string read "True " instead of "True".
scottaohara
approved these changes
Jul 20, 2022
scottaohara
left a comment
Member
There was a problem hiding this comment.
this does the trick. thanks
Contributor
|
@pkra I think we can merge this? |
Member
@spectranaut Is it ok for me to resolve the ipr failure as "non-substantial"? |
|
pkra marked as non substantive for IPR from ash-nazg. |
Member
|
I think this falls clearly in the "typos" category mentioned on the ipr page. |
pkra
pushed a commit
that referenced
this pull request
Jul 22, 2022
(name required) is missing for "tab" on 5.2.8.4 and 5.2.8.5. The query is searching the "Accessible Name Required:" value to be "True". There were extra spaces around that value so the string read "True " instead of "True".
jnurthen
pushed a commit
that referenced
this pull request
Oct 10, 2023
(name required) is missing for "tab" on 5.2.8.4 and 5.2.8.5. The query is searching the "Accessible Name Required:" value to be "True". There were extra spaces around that value so the string read "True " instead of "True".
Elizabeth1979
added a commit
to Elizabeth1979/accessibility-evidence-engine
that referenced
this pull request
Oct 17, 2026
…A6, A8) (#126) Audit items **A6** and **A8** from [docs/audits/home-grown-code.md](https://github.com/Elizabeth1979/accessibility-evidence-engine/blob/main/docs/audits/home-grown-code.md). Chrome's accessibility tree is the tested tool here, and AEE's glue was throwing away what it returns. A7 (which roles must have a name) is **not** in this PR: aria-query follows ARIA 1.2, and the ARIA 1.3 draft disagrees with it on `tab`, `dialog`, `alertdialog`, `form`, `grid`, `radiogroup` and `table` (w3c/aria#1771, w3c/aria#2297; A11yance/aria-query#556 is still open). The owner is deciding which list to follow. ## What changes **A6: reader transcript.** Each reader item now keeps every `AXProperty` exactly as Chrome reports it (`properties`, e.g. `hasPopup`, `invalid`, `describedby`, `labelledby`, `editable`), plus `description`, `value` and `backendDOMNodeId`. `states` stays as the spoken summary. `AccessibilityNode` in [accessibility-tree.ts](packages/playwright/src/accessibility-tree.ts) gains `description` and `value`, and the transcript schema gains the new fields. **A8: the cross-check.** The accessibility-tree observer used to dedupe the tree into `{role, name, level}`. It now indexes whole nodes by `backendDOMNodeId`: role, name, description, value, `ignored`, Chrome's `ignoredReasons`, and every property. The screen-reader judge finds the same element the reader read and compares all of that. Before, any node with the same role and name passed, so a second "Invoices" heading elsewhere was enough. The pass message is reworded to match. The Chrome → spoken role mapping (`DisclosureTriangle` → button, `StaticText` → text) moves to `@aee/core` (`spokenRoleOf`), so the reader and the judge share one copy. The screen-reader judge goes to 0.3.0 and the accessibility-tree observer to 0.3.0. **A8: images.** The element map no longer labels every skipped image "decorative". It keeps Chrome's exact `ignoredReasons` (`alt: "ignored"`, e.g. `emptyAlt`, `ariaHiddenElement`, `presentationalRole`), and the page view shows them. While testing I found that `Accessibility.getFullAXTree` leaves ignored images out entirely in some places, such as an `alt=""` image inside a plain paragraph. So the map listed none of them, before and after the label fix. Each `<img>` the full tree leaves out is now asked about on its own with `getPartialAXTree`, which always answers with the reason. The reader reuses that same per-node fetch (`fetchAccessibilityNode`). **Not here: iframes.** Fetching the tree and DOM snapshot for every frame (`getFullAXTree` per `frameId`, a CDP session per out-of-process frame, `DOMSnapshot` documents past `[0]`, element paths across frames) is a separate follow-up PR. ## Before / after for the owner Real output from one demo page on `main` and on this branch: https://claude.ai/artifact/7KnuugCJHKAS2phDoUcrH5 ## Tests - New judge unit cases, each of which passed before: renamed element while another node has the old name, a changed state, a changed description, an ignored node (with its reason), a node missing from the tree, an item with no node id (unknown), and the `DisclosureTriangle` → button match. - The observer test indexes whole nodes, including ignored ones and relation properties. - Schema tests cover the new transcript item fields and `ignoredReasons`. - New browser tests in real Chrome: - The reader keeps `hasPopup`, `describedby`, the description, the value and `invalid`, and the judge joins the item to the checkpoint tree and passes. - The element map lists three skipped images in a paragraph with `emptyAlt`, `ariaHiddenElement` and `presentationalRole`. - Ran locally: `npm run check`, `format:check`, `site:check`, `lint`, `test:unit` (230 pass) and `test:playwright` (105 pass). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses 1768
(name required) is missing for "tab" on 5.2.8.4 and 5.2.8.5. The query is searching the "Accessible Name Required:" value to be "True". There were extra spaces around that value so the string read "True " instead of "True".
Preview | Diff