我正在开发一个用于音乐教育目的的软件,它必须可以通过屏幕阅读器访问,因此盲人孩子也可以使用它。但是我遇到了JOptionPane消息的问题。屏幕阅读器无法读取它们。 当我尝试这样的事情时
JOptionPane.showConfirmDialog(getContentPane(), "Message", "Title", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
只读取标题和按钮。
有什么办法可以让屏幕阅读器读取信息吗?我可以将信息转移到焦点或其他什么状态吗?
P.S。屏幕阅读器(我正在使用NVDA)可以读取其他所有内容,但是JOptionPane消息。
修改
在VGR建议使用JLabel作为消息之后,我得让屏幕阅读器阅读消息,但我必须这样做:
JLabel lbl = new JLabel("Message");
lbl.setFocusable(true);
JOptionPane.showConfirmDialog(getContentPane(), lbl, "Title", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
但我仍然有问题。当JOptionPane打开时,屏幕阅读器读取标题,然后第一个按钮抓取焦点,因此阅读顺序为:title>按钮>消息。
有人可以帮助我吗?