Java 如何在不破坏可访问性的情况下使JLabel可选择?

Java 如何在不破坏可访问性的情况下使JLabel可选择?,java,swing,accessibility,Java,Swing,Accessibility,我们希望能够选择一些标签上的文本 目前,我们正在使用一种方法,扩展JEditorPane,然后尝试将其样式设置为与JLabel完全相同。这看起来不错,但实际上它只是让你产生一种虚假的安全感,直到使用屏幕阅读器的用户问你为什么要插入一个永远无法编辑的编辑器。有趣的是,这正是发生的事情 结果是,编辑器窗格的getAccessibleContext()返回编辑器窗格的上下文,这并不奇怪。我知道我可以重写该方法并自己重新实现整个JLabel.AccessibleJLabel,但是还有很多事情要实现,我觉

我们希望能够选择一些标签上的文本

目前,我们正在使用一种方法,扩展
JEditorPane
,然后尝试将其样式设置为与
JLabel
完全相同。这看起来不错,但实际上它只是让你产生一种虚假的安全感,直到使用屏幕阅读器的用户问你为什么要插入一个永远无法编辑的编辑器。有趣的是,这正是发生的事情

结果是,编辑器窗格的
getAccessibleContext()
返回编辑器窗格的上下文,这并不奇怪。我知道我可以重写该方法并自己重新实现整个
JLabel.AccessibleJLabel
,但是还有很多事情要实现,我觉得一定有更好的方法

事实上,有没有更好的办法?e、 看起来我应该可以通过外观和感觉来做到这一点,但也许还有一个更简单的技巧


我想,理想情况下,我希望JLabel上只有一个属性,允许直接选择文本,使我们既能保持向视图添加标签的语义/可访问性,又能保持可用性。

屏幕阅读器将其读取,就像它是一个编辑器窗格一样:/我很困惑,你能举个例子吗?它是否读取标签,例如,当它不应该读取标签时?此外,可能需要将其签出。它会读出类似“您当前在文本字段上。键入以输入文本”的内容,然后用户会说,“我正在键入以输入文本,但什么也没有发生”,因为显然,不可编辑的文本区域不会读出某些内容来指示它不可编辑。一个真正的标签上写着“您当前在一个文本元素上”。(实际上,它也读取HTML内容。我没有注意到这一点,但现在这让我感到不安。)