mirror of
https://github.com/element-hq/element-call.git
synced 2026-10-05 23:27:15 +00:00
- Show the focus ring only when the keyboard moved the focus. Radix focuses whatever the pointer is over, so the browser cannot answer that question here: Chromium treats every focus after a key press as keyboard-driven, Firefox treats no programmatic focus as keyboard-driven. The menu records which modality arrived, watched at the document while it is open, since the first arrow key lands on the menu itself rather than on anything we render. - Suppress the browser's own ring on menu items, so there is one answer to that question rather than two. - Drop readOnly from the device radios. Compound paints a read-only control muted, and that rule comes after the checked rule, so it overrode the accent fill marking the selection and the menu stopped matching settings. - Make the decorative radio inert rather than aria-hidden. A negative tabindex inside an interactive control stays reachable to assistive technology even when hidden, which axe rejects. - Give each section a labelled group and mark its heading decorative. A menu may contain only items, separators and groups, and the headings were direct children of it. The list wrappers are role="none" for the same reason. - Run axe over the open menu, which is what found both of the above. Spec: FEATURES_SPEC/2026-09_Quick_Audio_Menu.md — AC23, AC24, AC25