If the key-combination Ctrl+CursorUp/Down is used the event ActivateDescenderPropertyChanged is not passed by JAB. As a consequence, JAWS is unable to recognize the correct active cell. JAWS in turn needs this event to give the corresponding information of the selected cell in Braille or by voice to the user. So, JAWS users have a problem using multi-selection in Swing tables and other Swing objects.
The problem affects Swing classes JTable, JTree (TreeView), JList (Listboxes) and ListView.
A reproducer MultiSelectionTable.jar is attached.
SHIFT + CursorDown -> no ActiveDescendentPropertyChanged, but only SelectionChangedEvent (unexpected behavior)
SHIFT + CursorUp -> 2 events: ActiveDescendentPropertyChanged and SelectionChangedEvent (expected behavior)
CTRL+CursorDown/Up -> no ActiveDescendentPropertyChanged (unexpected behaviour) (JAWS doesn't send the key-combination to the application. An SR has been opened regarding this issue with Freedom Scientific already.)
CTRL+Space -> 1 event : SelectionChangedEvent (expected behavior)
SHIFT + CursorDown -> 2 events: ActiveDescendentPropertyChanged and SelectionChangedEvent
SHIFT + CursorUp -> 2 events: ActiveDescendentPropertyChanged and SelectionChangedEvent
CTRL+CursorDown/Up -> 1 event : ActiveDescendentPropertyChanged
CTRL+Space -> 1 event : SelectionChangedEvent