ActionMenu+ActionList Accessibility issues
Describe the bug
We recevied a report from a user using an NVDA screen reader on latest firefox and chrome
For the "more options" menu (A vanilla impl of ActionMenu), the main problem is that when the button is clicked, focus is not placed inside the menu. So unless the user manually exits browse mode and enters focus mode, the menu is just skipped since it must be somewhere else in the DOM or hidden or something (I didn't look very hard at that part).
Also, the li items with role="menuitem" (ActionList.LinkItem) are not being used correctly since they are not focusable. Instead, focus is on the anchors inside, which means the screen reader may not announce it's a menu item at all. That's the case for NVDA.
Expected behavior Users with screen readers are able to navigate in browser mode properly
Additional context Add any other context about the problem here.
This user described this alongside another issue they found, so the issue is not directly related to the problem described in this issue, but it's discussed on this comment https://github.com/github/memex/issues/11741#issuecomment-1233056774
Thanks for the report! We'll try to pick this up when we have some bandwidth.
👋🏼 just providing some context that might be helpful when we look into this issue.
- https://github.com/github/accessibility-audits/issues/2939 might resolve the ActionList.LinkItem accessibility issue. If not, we should take this into account while working on ActionList semantics
- Regarding ActionMenu, I have a feeling it might be related to ActionMenu being a portal. We encountered the same inaccessibility for UnderlineNav v2 and disregarded using ActionMenu and introduced disclosure pattern.
I think this comment is related; cross-linking for tracking: https://github.com/github/accessibility-audits/issues/2451#issuecomment-1659252408
Hi! This issue has been marked as stale because it has been open with no activity for 180 days. You can comment on the issue or remove the stale label to keep it open. If you do nothing, this issue will be closed in 7 days.