如何将 ZK 框架消息框的焦点设置为框中的文本,而不是按钮?

How do I set the focus of a ZK framework messagebox to the text in the box, instead of the buttons?

我在 ZK 框架中有一个消息框,它会在用户输入无效输入时弹出。它的行为符合预期。我们正试图让 JAWS 和其他屏幕阅读器在弹出框时阅读框内的文本。

    {
        Messagebox
                .show("Verify that the correct Employee ID Number and/or last four of SSN were entered", "Error", Messagebox.OK, Messagebox.ERROR, -1);
    }

最后的-1是设置焦点:

http://www.zkoss.org/javadoc/7.0.2/zk/org/zkoss/zul/Messagebox.html#show(int, 整数, 整数, java.lang.String, 整数)

但它将焦点设置到按钮本身,我尝试了从 -5 到 5 的数字,希望它会使用按钮作为起点,但这不起作用。屏幕阅读器用鼠标点一下就会读出来,所以我知道文字是可以读的,但是要求是弹出的时候自动读。

有谁知道实现这一目标的方法吗?

您可以使用 org.zkoss.zk.ui.util.Clients.evalJavaScript() 函数调用 JavaScript 警报,而不是使用内置的 ZK MessageBox 功能。这会将焦点带到弹出窗口。虽然它不会是漂亮的 ZK window,但屏幕阅读器应该阅读它。

这是一个例子:

org.zkoss.zk.ui.util.Clients.evalJavaScript("alert('This is a popup message')");