Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Announcement capture records text from a live region inside aria-hidden

クローズ
#339 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
59/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
playwright, typescript

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

accessibility area: engine bug

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".

主要言語
TypeScript
スター
0
フォーク
0
平均マージ
6時間 25分
マージ済み PR(30日)
46

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

usabl-dev/usabl のほかの issue

usabl-dev/usabl の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。