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

时间:2015-03-20 18:12:57

标签: zk screen-readers jaws-screen-reader

我在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,int,int,java.lang.String,int)

但是它将焦点设置为按钮本身,我尝试了从-5到5的数字,希望它能使用按钮作为起点,但这不起作用。如果您使用鼠标点击它,屏幕阅读器将读取该消息,因此我知道可以读取文本,但要求是它会在弹出时自动读取。

有没有人知道如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

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

以下是一个例子:

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