<AWT Dev> <Swing Dev> [12] JDK-7124285: Nothing heard from VoiceOver regarding the status of the progress bar

Alexey Ivanov alexey.ivanov at oracle.com
Thu Nov 22 14:21:40 UTC 2018

Hi Shashi,

On 22/11/2018 09:43, shashidhara.veerabhadraiah at oracle.com wrote:
> The mac platform keyboard shortcuts are specific to mac and they work 
> differently as I think we wont be receiving those key strokes at the 
> java program level instead they traverse thro' the platform component 
> level.
> It means java program won't be receiving the accessibility shortcut 
> key event at all(With voice over ON) and I verified this by debugging 
> (at dispatchKeyEvent()). Because those key strokes are consumed at the 
> OS level and it knows the current active window and it traverses thro' 
> the top level components of that window(from the accessibility 
> perspective). Since they are consumed at OS level, we can't even fix 
> that problem of internal traversal of the children components from our 
> end.

I think this is the expected behaviour. VoiceOver consumes its own 
shortcut keys and they don't reach Java program. VoiceOver communicates 
to Java program using accessibility interfaces and it relies on the 
information Swing exposes. So you should look into what implementation 
of AccessibleContext or rather 
javax.swing.JComponent.AccessibleJComponent provides.


> Thanks and regards,
> Shashi
> On 22/11/18 5:00 AM, Sergey Bylokhov wrote:
>> On 20/11/2018 22:16, Shashidhara Veerabhadraiah wrote:
>>> Thank you Alexey. I agree to it as well.
>>> Sergey, I saw that the accessibility short cuts does not work on 
>>> some of the components of the dialogs and only the TAB key has to be 
>>> used to traverse the components. Hence I think the traversal must 
>>> work for tab keys all the time. So with this thing in mind and 
>>> considering the case of other platforms, should not this fix hold good?
>> If accessibility shortcuts does not work for some components, then it 
>> is a bug, which should be fixed.
>> BTW "accessibility shortcuts" iterates over the children of the 
>> current component only, you need to manually "move in/out" of the 
>> component to iterates over the children of some other component.

More information about the awt-dev mailing list