patternfly / patternfly/patternfly-react

[Popover] - allow its sparing usage for interactive content

オープン
#11,746 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

Demo Stale
主要言語
TypeScript
スター
862
フォーク
392
平均マージ
4日 8時間
マージ済み PR(30日)
9

説明

Is this a new component or an extension of an existing one?

And extension/adjustment of Popover

Describe the feature

Allow interactive content for using it in scenarios where other components such as Modal, Menu, or Dropdown, don’t quite fit the use case.

As an example, see the screenshots below of rough prototypes for an interface that allows users quick access to available Wi-Fi networks and keyboard layout from a top toolbar.

One concern I have is that the Popover component internally uses the aria-describedby attribute, which I believe makes the interactive content inaccessible. From my limited understanding of accessibility, and after reviewing MDN's documentation, it seems that using aria-details might help.

The aria-describedby property is appropriate when the associated content contains plain text. If the content is extensive, contains useful semantics, or has a complex structure requiring user navigation, use aria-details instead. aria-details allows assistive technology users to visit the associated structured content and provides additional navigation commands, making it easier to understand the structure, or experience the information in smaller pieces.

https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-describedby

Are there visuals for this feature? If applicable, please include examples for each state and for varying widths

See these rough prototypes

Available Wi-Fi networks Localization options
Available Wi-Fi networks in a Popover prototype Localization options in a Popover prototype

Any other information?

Originally posted as a discussion in #11745, but later realized that a feature request issue might be a better place for it.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

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

調査の方向性

packages/react-core/src/components/Popover/Popover.tsx から始め、特に 456 行目付近の aria-describedby の使用箇所を確認し、Popover のドキュメントとリンク先の ARIA ガイダンスを調査します。インタラクティブなコンテンツに対するアクセシビリティ要件を明確にし、Popover が要求されたユースケースをサポートしつつ、そのコンテンツをアクセス不能にしないことを完了の定義とします。

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

評価

技術スタック
react, typescript
領域
accessibility, frontend
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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