AT-SPI: an invalid node has no "invalid-entry" state
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- rust
調査の方向性
adapters/atspi-common/src/node.rs の NodeWrapper::state を読み、Node::is_required() と関連する状態のマッピングの仕組みを確認してください。次に、ノードの無効な値を公開する accesskit_consumer API を探してください。任意の Invalid 値を持つノードに AT-SPI の State::InvalidEntry が含まれるようになったら完了です。Accerciser または atspi で再現手順を追って確認してください。
索引モデルが issue の本文から書いたものです。
説明
Platform: Linux (AT-SPI, accesskit_atspi_common)
What happens: a node with invalid set (for example a required text input whose value doesn't validate, aria-invalid="true") reaches AT-SPI without the invalid-entry state, so Orca doesn't say "invalid entry" when the field gets focus.
Expected: StateSet includes State::InvalidEntry whenever the node's invalid is set (any Invalid value). Chromium does the same: it maps aria-invalid to ATK_STATE_INVALID_ENTRY.
Reproduce: set node.set_invalid(Invalid::True) on a text input and read its states with Accerciser or atspi. invalid-entry is missing, while required, read-only and the others mapped in NodeWrapper::state are present.
Proposed change:
accesskit_consumer: addNode::is_invalid()(or exposeinvalid()).adapters/atspi-common/src/node.rs,NodeWrapper::state: next to theis_required()check, addif state.is_invalid() { atspi_state.insert(State::InvalidEntry); }
For other platforms: UIA has IsDataValidForForm (Windows), and macOS has AXInvalid. I can look at those too if that's wanted.
- 主要言語
- Rust
- スター
- 1.6k
- フォーク
- 135
- 平均マージ
- 10時間 53分
- マージ済み PR(30日)
- 11
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
AccessKit/accesskit のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Document sub-treesオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
メンテナーはふだん 1 日以内に返信
AccessKit/accesskit の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
-
bug UI
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
wardian-app/Wardian#1746 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
jlcodes99/cockpit-tools#3125 ·
メンテナーはふだん 2 日以内に返信
-
bug user-sprint
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Vondor/KassenSturz#967 ·
メンテナーはふだん 1 日以内に返信