如何使SAPUI5自定义控件可访问(焦点处理)?

如何使SAPUI5自定义控件可访问(焦点处理)?,sapui5,Sapui5,我正在寻找一种使SAPUI5自定义控件可访问的方法。我构建了一种平铺(基于VBox控件),并尝试通过键盘(选项卡)或单击鼠标来访问此自定义控件 我的想法是在我的控件中实现sap.ui.core.Control#getAccessibilityInfo,但这似乎从未被调用过。目前,我正在尝试调试其他东西是如何做到这一点的,但我找不到一种可行的方法 我的控件当前放置在表中,如果单击它,焦点将设置为表列。如果我按tab键,它将跳转到控件内的输入控件 我的假设是,我遗漏了一些东西,因此控件会被认为是可聚

我正在寻找一种使SAPUI5自定义控件可访问的方法。我构建了一种平铺(基于VBox控件),并尝试通过键盘(选项卡)或单击鼠标来访问此自定义控件

我的想法是在我的控件中实现
sap.ui.core.Control#getAccessibilityInfo
,但这似乎从未被调用过。目前,我正在尝试调试其他东西是如何做到这一点的,但我找不到一种可行的方法

我的控件当前放置在表中,如果单击它,焦点将设置为表列。如果我按tab键,它将跳转到控件内的输入控件


我的假设是,我遗漏了一些东西,因此控件会被认为是可聚焦的。

我认为您正在寻找。VBox的设计不支持在其内容上进行键盘导航,但您可以在自定义控件呈现后向ONA添加一个钩子,收集需要导航的所有dom引用,并将它们传递给ItemNavigation.setItemDomRefs


如果你需要灵感,你可以看看实施情况。

我想你正在寻找灵感。VBox的设计不支持在其内容上进行键盘导航,但您可以在自定义控件呈现后向ONA添加一个钩子,收集需要导航的所有dom引用,并将它们传递给ItemNavigation.setItemDomRefs


如果您需要灵感,可以看看实现。

重要的是添加
oRM.writeAttribute(“tabindex”,“0”);//允许在我自己控件的渲染器中进行选择
。这允许使用选项卡处理。另一个问题中的完整代码: 使用此选项可以选择控件


还要注意这一点。_beexcludefromtabchain=false在init部分。

重要的是添加
oRM.writeAttribute(“tabindex”,“0”);//允许在我自己控件的渲染器中进行选择
。这允许使用选项卡处理。另一个问题中的完整代码: 使用此选项可以选择控件


还要注意这一点。_beexcludefromtabchain=false在init部分。

控件的代码有助于查看您是否遗漏了允许控件键盘聚焦的内容。控件的代码有助于查看您是否遗漏了允许控件键盘聚焦的内容。