Community
Participate
Working Groups
To reproduce: - Create a GEF logic diagram with some different shapes. - Start MS Narrator. - Select shapes with mouse and they are read properly (e.g. "LED"). - Select shapes with the keyboard arrow keys and they are most often read somewhat properly (e.g. "BLAH BLAH BLAH LED"). ISSUE: Sometimes when you select the shapes with the keyboard arrow keys they are not read (e.g. "BLAH BLAH BLAH" only).
That's a problem with Narrator. Try another accessibility client.
Both Windows Eyes and Jaws are not able to read the shapes, that's odd to have both narrator with the same issue... it only says custom control ... user has to go into Edit Mode to read the text ... is this the workaround you are referring to? If that is the case, what happens to shapes that are invalid (those that are still in the diagram but have been physical deleted), since it is invalid, the user cannot invoke the Edit mode for that, only action is to delete), how can the user workaround that so a blind user can tell that the shape is invalid ?
What do you mean by an invalid shape? I don't think we ever have a scenario where the shapes are still in the diagram but have been physical deleted.
There certainly seems to be something wrong with the screen reading capabilities on a GEF diagram. Windows Eyes and an older version of JAWS I have, cannot read the shape names anymore, but I am certain this used to work. Microsoft Narrator works sporadically for me. Inspect Objects seems to have the correct information.
I thought this might be an issue with the outline view -- see https://bugs.eclipse.org/bugs/show_bug.cgi?id=191570 [Viewers] [Outline] Screen Reader reads text from outline view even when it doesn't have focus. However, the screen reader still doesn't read the shape name if I modify the logic example to not show the outline view at all.
I have done some more testing. My conclusions are: 1. There is a bug when the Outline View is hooked up to the diagram editor which is covered under Bugzilla 191570. Note: This problem does not go away when you close the Outline View, you actually need to modify the editor code so the Outline View is not hooked up to the diagram. 2. (Assuming the Outline View is not hooked up) I cannot get Windows Eyes nor an older version of JAWS to ever read the shape names on a GEF or GMF diagram. I am pretty sure this used to work. Microsoft Narrator will most often read the shape names, but not always. I have done some testing with the Inspect32 and AccEvent32 tools and it seems that all the correct focus events are being sent. Therefore, I am concluding this is screen reader problem.
Reopening. With help from Carolyn on the SWT team, I have figured out that if I give the AccessibleGraphicalEditPart a role like ACC.ROLE_LABEL, Windows Eyes will read it. The previous role was "client" which apparently is the default role. I am thinking about implementing the getRole() method in AccessibleGraphicalEditPart in GEF to use ACC.ROLE_LABEL so not every GEF client will need to know that they have to do this.
Created attachment 82576 [details] Fix Here is the patch to provide an accessibility role that screen readers seem to understand. If clients were overriding this role previously, this wouldn't affect them.
This one is ready to be committed.
Committed to HEAD