我正在寻找一种方法来使SAPUI5自定义控件可访问。我构建了一种磁贴(基于VBox控件),并尝试通过键盘(选项卡)或单击鼠标来访问此自定义控件。
我的想法是在我的控件中实现sap.ui.core.Control#getAccessibilityInfo
,但这似乎从未被调用过。目前,我正在尝试调试其他东西是如何做的,比如https://github.com/SAP/openui5/blob/master/src/sap.m/src/sap/m/ListBase.js,但我找不到一种可行的方法。
我的控件当前放在一个表中,如果我单击它,焦点将被设置到表列上。如果我按Tab键,它会跳转到我的控件内的输入控件。
我的假设是,我遗漏了一些东西,这样控件就会被认为是可聚焦的。
发布于 2019-04-23 18:28:27
重要的是将oRM.writeAttribute("tabindex", "0"); // allows selection
添加到我自己控制的渲染器中。这允许使用制表符处理。另一个问题中的完整代码:How to copy&paste SAPUI5 controls by pressing Ctrl+C and Ctrl.V?使用此选项可以选择控件。
还要注意初始化部分中的this._bExcludeFromTabChain = false;
。
发布于 2019-04-03 21:26:08
我想你是在找ItemNavigation。VBox的设计初衷不是为了在其内容上支持键盘导航,但您可以在自定义控件的onAfterRendering中添加一个钩子,收集导航所需的所有dom引用,并将它们传递给ItemNavigation.setItemDomRefs。
如果您需要灵感,可以看看sap.m.List实现。
https://stackoverflow.com/questions/55299368
复制相似问题