FloatingPortal + FloatingFocusManager: 非模态对话框在 tablist 元素中使用时引入了可访问性违规

作者: jandrade创建于 2026年1月16日更新于 2026年6月10日
标签NEEDS: triage

描述错误

当使用 useFloatingFloatingPortalFloatingFocusManager 时,floating-ui 存在一个 a11y 问题。当浮动引用元素(button[role=tab])包含在 Tabs 小组件(role="tablist")中时,浮动会添加一些额外元素(可能是保护器),以使焦点管理和门户在屏幕阅读器中正常工作。实际问题在于,FloatingPortal 会在引用元素旁边添加一个元素(例如 <span aria-owns="id-to-floating-element">),但它不包含 aria-hidden 属性。这导致该 span 被包括在可访问性树中作为一个 generic 元素,从而触发以下 a11y 违规:

内容来源: floating-ui/floating-ui