Announcement capture records text from a live region inside aria-hidden
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 59/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- playwright, typescript
- Domain
- accessibility, testing-qa
Research direction
Start in src/deps/real.ts and trace how announcement capture resolves a change's live host and walks live values on the flat tree. Check the toast rule for a shared hidden-state rule, then add real-browser tests for a polite region inside aria-hidden="true", an aria-hidden wrapper, and aria-hidden="false". Done means hidden, inert, and hidden content is not recorded as announced while aria-hidden="false" is handled correctly.
Written by the indexing model from the issue text.
Description
What happens
The announcement capture in src/deps/real.ts records text from a live region inside an aria-hidden="true" subtree. A screen reader says nothing for that region, but usabl records the text as announced.
Why it matters
Flow requirements check expectedAnnouncement against this capture with an exact match. A requirement that expects "Item archived" passes on a page where the status sits inside aria-hidden="true", though no user hears it. That is a false green in shipped behavior, not only in the voice lane preview.
Evidence
Found in the voice lane Phase 0 measurement against Orca 49.7 with Chromium 151. Fixture f12: a polite status inside aria-hidden="true". Orca's speech log has nothing for it; usabl's capture recorded "Item archived". The measurement ran on main before the effective live value resolver landed; that resolver handles aria-live values and roles, and does not look at aria-hidden.
Fix direction
When the capture resolves a change's live host, a change inside an aria-hidden="true" subtree (and inside inert or hidden content) is not recorded. Resolve hidden state on the flat tree the same way the live value walk does, and share the rule with the toast rule if that rule needs it too. Add a real-browser test for a polite region inside aria-hidden="true", for an aria-hidden wrapper between the region and the change, and for aria-hidden="false".
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 6h 42m
- Merged PRs (30d)
- 44
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from usabl-dev/usabl
-
area: engine enhancement performance
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Scan browser runs without Chromium's sandboxPossibly taken @eparenti claimed this today. Openarea: engine security
Difficulty 4/5 3-5 days Newbie friendliness 46/100
Maintainers usually reply within 1 day
-
area: engine enhancement performance
Difficulty 4/5 1-2 days Newbie friendliness 45/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
area: engine enhancement performance
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
area:web p3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Lets-Parley/Parley#912 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
wealthfolio/wealthfolio#2376 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
be-BOP-io-SA/be-BOP#2817 ·
Maintainers usually reply within 5 days
-
documentation good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 84/100
sno-ai/sno-station#149 · 1 comment ·
Maintainers usually reply within 1 day