[Bug] Modal hardcodes aria-labelledby and aria-describedby pointing to nonexistent element IDs
I maintainer di solito rispondono entro 1 giorno
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Current Behavior
In Sistent's Modal component (src/custom/Modal/index.tsx, lines 182–183), the underlying StyledDialog hardcodes:
aria-labelledby="alert-dialog-slide-title"aria-describedby="alert-dialog-slide-description"
However:
- The rendered title element (
<Typography data-testid="modal-title">{title}</Typography>) does not carryid="alert-dialog-slide-title". - There is no element rendered with
id="alert-dialog-slide-description". - Because these IDs are static strings rather than dynamically generated (e.g., via
React.useId()), any future attempt to attach static IDs would also produce duplicate-ID DOM collisions when multiple modals exist in the component tree. - Screen readers and automated accessibility audits (e.g., axe, Lighthouse) flag
aria-labelledbyandaria-describedbyreferencing nonexistent element IDs.
Currently, consumers must rely on conditional mounting ({isOpen && <Modal ... />}) as a workaround to avoid tree-level accessibility collisions.
Expected Behavior
aria-labelledbyshould reference the ID of the modal's rendered title component.- The ID should be unique per modal instance (using
React.useId()or an overridableid/aria-labelledbyprop) so multiple dialogs do not collide in the DOM. - If no description element is rendered,
aria-describedbyshould not be attached by default unless explicitly supplied by consumer props.
Screenshots/Logs
Environment
Contributor Guides and Resources
- 🛠 Meshery Build & Release Strategy
- 📚 Instructions for contributing to documentation
- 🎨 Wireframes and designs for Sistent site in Figma (open invite)
- 🙋🏾🙋🏼 Questions: Layer5 Discussion Forum and Layer5 Community Slack
- Lingua principale
- TypeScript
- Stelle
- 140
- Fork
- 243
- Merge medio
- 6g 23h
- PR unite (30g)
- 13
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di layer5io/sistent
-
InfoTooltip is not keyboard reachable and has no accessible nameForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
[UI] Permission Shield tooltip uses fixed `placement="top"` instead of adaptive placementForse già presa @dhruveshmishra l’ha presa 72 giorni fa. Apertacomponent/ui help wanted kind/enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
layer5io/sistent#1772 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Barrel re-exports DateTimePickerProps from the optional peer @mui/x-date-pickers, so the type is `any` for consumers who skip itForse già presa @Valyrian-Code l’ha presa 82 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
layer5io/sistent#1749 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
ESM build is not loadable by Node: extensionless 'lodash/debounce' specifier in dist/index.mjsForse di nuovo libera @Salmaan-M l’ha presa 86 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
layer5io/sistent#1739 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di layer5io/sistent
Issue simili
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
lingdojo/kana-dojo#32590 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
bug p2
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
bastani-inc/atomic#3703 ·
I maintainer di solito rispondono entro 1 giorno
-
backend bug difficulty: medium priority: medium reliability
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
trustflow-protocol/trustflow-backend#730 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
firecrawl/firecrawl-mcp-server#548 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno