patternfly / patternfly/patternfly-react
[Popover] - allow its sparing usage for interactive content
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 862
- Forks
- 392
- Avg merge
- 4d 8h
- Merged PRs (30d)
- 9
Description
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-describedbyproperty 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-detailsallows 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.
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 |
|---|---|
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.
Contributor 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.
Research direction
Start in packages/react-core/src/components/Popover/Popover.tsx, especially the aria-describedby usage around line 456, and review the Popover documentation and linked ARIA guidance. Determine the accessibility requirements for interactive content and define completion as Popover supporting the requested use cases without making its content inaccessible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- accessibility, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100