Issue 56539 - accessibility : sub-menus not detected with Jaws
Summary: accessibility : sub-menus not detected with Jaws
Status: CLOSED FIXED
Alias: None
Product: ui
Classification: Code
Component: ui (show other issues)
Version: OOo 2.0
Hardware: PC Windows, all
: P3 Trivial (vote)
Target Milestone: OOo 2.1
Assignee: eric.savary
QA Contact: issues@ui
URL:
Keywords: accessibility
Depends on: 15942
Blocks:
  Show dependency tree
 
Reported: 2005-10-24 15:47 UTC by anowak
Modified: 2007-02-02 11:40 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description anowak 2005-10-24 15:47:58 UTC
Jasw can read the menus but doesnot detect the sub-menus (like File->New), the
user has to use the arrow key to (which he can't do If he uses Jaws).
Maybe the informations needed for the accessibility API are only partially
implemented.
Comment 1 dankegel 2005-10-28 05:35:17 UTC
Added "accessibility" keyword
Comment 2 eric.savary 2006-02-06 17:34:00 UTC
ES->MT: as described. Broken since OOo 2.0. (-> PP3)
Comment 3 malte_timmermann 2006-02-08 09:33:29 UTC
Philipp,
can you please have a look at that?

IMHO we changed menu implemenmtation to be system menus in 2.0?
Comment 4 philipp.lohmann 2006-02-21 12:40:46 UTC
Taking that change back does not fix the problem, so i don't think the vcl
system menu change did this. The menu events inside vcl get sent or else
Zoomtext would also not work.

tbe told me there were many changes in the accessibility bridge for this or that
ATTool; however i wouldn't know. I think it would be best if someone looked into
this who actually knows what he's doing.
Comment 5 nospam4obr 2006-03-07 12:32:18 UTC
The reason might be that SELECTED state changes are partially disabled on
Windows due to #i15942#.
Comment 6 malte_timmermann 2006-04-05 14:18:33 UTC
MT->OBR:
Please handle with #i15942#, or pass to TBE when changes in menu UAA
implementation are needed.
Comment 7 nospam4obr 2006-04-05 16:28:08 UTC
The workaround for issue 15942 is actually in toolkit, not in any of the bridges
=> re-assigned.
Comment 8 thomas.benisch 2006-04-07 13:56:38 UTC
The fix for #i15942# can be disabled by setting the environment variable
SAL_ACCESSIBILITY_ENABLE_MENU_SELECTED.

TBE->ES: Can you please test, if Jaws and ZoomText read menus, when
SAL_ACCESSIBILITY_ENABLE_MENU_SELECTED is set.
Comment 9 thomas.benisch 2006-05-03 09:52:58 UTC
Jaws doesn't read menus, but only menu items. In order to read both,
it is required, that a menu fires a state change event for selected
and for focused. A menu item must fire a state change event for
armed and for focused.

The impact for the accessible menu implementation is to fire
additional events, adjust the accessible state set, change the
semantics of selected for menus and change the implementation
of XAccessibleSelection.

As proposed by OBR, when reworking the accessible menu implementation
to such an extent, also the requirements from Gnome should be
taken into account.

The idea is to skip the armed state for both, menus and menu items.
When a menu or menu item is highlighted, the selected state should
be set and a state change for selected should be fired.
Up to now, the semantics of selected for a menu means, that the
corresponding popup menu is open. This should be changed, so
that a menu is selected, if it is highlighted, independent of
an open popup menu.
In addition, if a menu or menu item is highlighted, the focused
state should be set and a state change for focused should be fired.
Special cases taken into account are when a popup menu is opened
(then the first item of the popup menu gets the focus) or closed
(then the menu gets the focus back). In addition the inital focus
of the menu bar or a context menu must be taken into account.

Whereas XAccessibleAction should still open a sub menu or emulate
the click on a menu item, XAccessibleSelection should only highlight
a menu or menu item.

As Jaws won't read menu items, when a state changed for focused and
selected is fired, the idea is to map a state changed selected to
a state changed armed in the Java bridge.
Comment 10 thomas.benisch 2006-05-03 10:18:49 UTC
In the java_uno_accessbridge there's also an additional fix required, that menu
items
are focusable.
Comment 11 thomas.benisch 2006-05-04 08:35:30 UTC
TBE->MD: As discussed, please set target to OOo 2.0.4.
Comment 12 mdxonefour 2006-05-19 12:37:50 UTC
.
Comment 13 thomas.benisch 2006-07-17 12:10:39 UTC
accepted
Comment 14 thomas.benisch 2006-07-17 12:11:18 UTC
In order that Jaws reads menus and menu items it is required,
that a menu fires a state change event for selected and a 
menu item a state change event for armed.

Note, that state change events for focused are not necessary.
This was wrongly stated in one of my previous comments.
Comment 15 thomas.benisch 2006-07-17 12:19:33 UTC
TBE->OBR:
As discussed, the following fixes are needed in the
Java UNO AccessBridge:

o state set:
  - map state selected to armed for menu items
  - set state selectable for menus, don't set for menu items
  - set state focusable for menus and menu items

o state change events:
  - map state change selected events to state change armed
    for menu items

o selection changed events:
  - filter out selection changed events for menu items
    (otherwise Jaws reads menu items twice)
Comment 16 thomas.benisch 2006-07-19 10:16:16 UTC
reassigned to OBR
Comment 17 nospam4obr 2006-08-02 10:13:20 UTC
Missed the 2.0.4 code freeze gate - sorry.
Comment 18 nospam4obr 2006-08-17 08:45:25 UTC
In addition to the things mentioned above, I changed:

o accessible selection of menus
  - map addAccessibleSelection(n) to n.doAccessibleAction(0) for menu-items
Comment 19 nospam4obr 2006-09-04 08:07:19 UTC
obr -> es: please verify.
Comment 20 eric.savary 2006-10-30 11:21:52 UTC
Verified in tbe28
Comment 21 Martin Hollmichel 2006-10-31 11:10:00 UTC
set target to 2.1
Comment 22 eric.savary 2007-02-01 15:29:13 UTC
Fix but failed in master.
Reset to 2.2.
Comment 23 eric.savary 2007-02-01 15:30:23 UTC
ES->TBE: as discussed with MD. We reset to 2.2. Sorry!
Comment 24 thomas.benisch 2007-02-01 16:32:47 UTC
TBE->ES: As we found out, Jaws reads also submenus in the master. Whereas Jaws
read e.g. 'New submenu' in CWS tbe28, Jaws reads only 'New' in the master.
Please write a follow-up issue with target OOo 2.3.
Comment 25 thomas.benisch 2007-02-01 16:34:09 UTC
reassigned to ES
Comment 26 eric.savary 2007-02-02 10:52:38 UTC
As discussed with MD/TBE: this has been correctly integrated but there is a 2.
bug now (not due to the CWS).
Comment 27 eric.savary 2007-02-02 11:40:07 UTC
Ok in OOF_m5