Safari中的ShadowRoot处理

Safari中的ShadowRoot处理,safari,focus,accessibility,web-component,shadow-dom,Safari,Focus,Accessibility,Web Component,Shadow Dom,当我在shadowdom中放置一个可聚焦元素时,osxsafari不会将其包含在选项卡序列中(与所有其他浏览器不同)。该按钮可见,可单击,但键盘用户无法访问。这是已知的bug吗?除了使组件选项卡化和转发焦点(看起来有点恶心)之外,还有什么方法可以处理它吗 下面是Safari控制台中的一个简单示例 <div class="host"> Shadow Content (Open) <button>Click me</button> </div&g

当我在shadowdom中放置一个可聚焦元素时,osxsafari不会将其包含在选项卡序列中(与所有其他浏览器不同)。该按钮可见,可单击,但键盘用户无法访问。这是已知的bug吗?除了使组件选项卡化和转发焦点(看起来有点恶心)之外,还有什么方法可以处理它吗

下面是Safari控制台中的一个简单示例

<div class="host">
  Shadow Content (Open)
    <button>Click me</button>
</div>

卷影内容(打开)
点击我
我通过在
div.host
上调用
.attachShadow({“mode”:“open”})
,然后将其
.shadowRoot.innerHTML
设置为
“单击我”


我创建的组件中存在此问题。我在Chrome中测试了上面的示例,按钮按预期包含在选项卡序列中。

Safari默认情况下不启用选项卡导航,它必须通过首选项启用

选项卡高亮显示下一个文本字段或弹出菜单。选项卡还突出显示 按钮和其他控件(如果在中选择了“所有控件”) 系统首选项键盘窗格的快捷键窗格

“选项”选项卡突出显示与“选项”选项卡相同的项目以及所有其他可单击的项目 项目

要切换选项卡和选项选项卡的行为,请启用“按Tab键切换” 突出显示Safari高级窗格中“网页上的每个项目” 偏好


Safari默认情况下不启用选项卡导航,必须通过首选项启用

选项卡高亮显示下一个文本字段或弹出菜单。选项卡还突出显示 按钮和其他控件(如果在中选择了“所有控件”) 系统首选项键盘窗格的快捷键窗格

“选项”选项卡突出显示与“选项”选项卡相同的项目以及所有其他可单击的项目 项目

要切换选项卡和选项选项卡的行为,请启用“按Tab键切换” 突出显示Safari高级窗格中“网页上的每个项目” 偏好


有趣的是,Safari也未能在上的选项卡序列中包含可聚焦元素,但根本原因不同:该页面上的组件没有阴影DOM。因此,在这种情况下,似乎是因为它们是自定义元素(?)您是否尝试过
delegatesFocus
:有趣的是,Safari也未能在上的选项卡序列中包含可聚焦元素,但根本原因不同:该页面上的组件没有阴影DOM。因此,在这种情况下,似乎是因为它们是自定义元素(?)您是否尝试过
delegatesFocus