Bug 544868 - [Accessibility] Compare editor and accessibility: the column is read wrong when swapping left and right view
Summary: [Accessibility] Compare editor and accessibility: the column is read wrong wh...
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Compare (show other bugs)
Version: 4.6   Edit
Hardware: PC Windows 10
: P3 normal (vote)
Target Milestone: 4.6.3+   Edit
Assignee: Niraj Modi CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
Depends on: 213780
Blocks:
  Show dependency tree
 
Reported: 2019-02-27 05:26 EST by Nadine LE NOUVEAU CLA
Modified: 2019-11-22 06:32 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nadine LE NOUVEAU CLA 2019-02-27 05:26:01 EST
Test Tool for accessibility: JAWS 2019

===== DEFECT DESCRIPTION =====
When swapping left and right view, Column name Local history: xxx  is read as Local: xxx
=====STEPS TO REPRODUCE =====
1.Open JAWS
2. Open a file
3. Right-click in the editor
4. Select Compare with ->Local
4. Click the icon of swap left and right view
6.Press tab key to focus the left column

===== EXPECTED RESULT =====
The column should be read out correctly
Comment 1 Niraj Modi CLA 2019-04-08 06:57:33 EDT
This bug is also reproducible at my end on Win7 using Jaws17, will take a look at the Compare view's code to narrow down on the problem.
Comment 2 Niraj Modi CLA 2019-05-28 06:34:39 EDT
Possible root cause:
It looks like some initial labels String values get cached in the accessibility initialization which needs to be refreshed after swapping the left and right views.
Comment 3 Niraj Modi CLA 2019-05-28 06:36:57 EDT
Moving out of 4.12, for now.
Comment 4 Niraj Modi CLA 2019-07-23 01:43:25 EDT
This problem is caused by enhancement bug 213780.

What I notice the way above enhancement handles the Left and Right label value swap, doesn't work well with Accessibility tools.

Sharing the implementation trick that was used in bug 213780, which is causing JAW tool to wrongly read the values.
public String getLeftLabel(Object input) {
	return delegate.getRightLabel(input);
}
I am investigating a fix for this.

Link to the class commit: 
https://git.eclipse.org/c/platform/eclipse.platform.team.git/diff/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/MirroredMergeViewerContentProvider.java?id=d12c403fa89f023f6e29425649bab0780712002c
Comment 5 Niraj Modi CLA 2019-07-24 02:46:12 EDT
Root cause of this bug:
Bug 213780 introduced the concept of mirroring of the Compare-configuration.
So, we need to use the same mirroring concept when adding the Accessibility listeners for the Left and Right label headers.

I have a working solution for this, will share a gerrit shortly.
Comment 6 Eclipse Genie CLA 2019-07-24 02:55:34 EDT
New Gerrit change created: https://git.eclipse.org/r/146544
Comment 8 Niraj Modi CLA 2019-07-25 01:52:09 EDT
(In reply to Eclipse Genie from comment #7)
> Gerrit change https://git.eclipse.org/r/146544 was merged to [master].
> Commit:
> http://git.eclipse.org/c/platform/eclipse.platform.team.git/commit/
> ?id=7cb37653f01abad8f14ef73d2c31cc004b3d674e

Resolving now.
Comment 9 Niraj Modi CLA 2019-07-25 01:53:09 EDT
I have verified the fix using JAWS17.0 on Win7 using latest Eclipse build:
Build id: I20190724-1800

Marking verified.
Comment 10 Niraj Modi CLA 2019-08-23 02:05:46 EDT
Reopening for back-port to 4.11+
Comment 11 Eclipse Genie CLA 2019-08-23 02:07:25 EDT
New Gerrit change created: https://git.eclipse.org/r/148173
Comment 13 Niraj Modi CLA 2019-08-23 02:49:24 EDT
Also back-porting to R4_6_maintenance, shortly.
Comment 14 Eclipse Genie CLA 2019-08-23 02:51:04 EDT
New Gerrit change created: https://git.eclipse.org/r/148175
Comment 16 Niraj Modi CLA 2019-08-23 03:17:25 EDT
Fix back-ported to 'R4_11_maintenance' and 'R4_6_maintenance' branches, resolving.
Comment 17 Eclipse Genie CLA 2019-08-23 04:59:51 EDT
New Gerrit change created: https://git.eclipse.org/r/148185
Comment 18 Eclipse Genie CLA 2019-08-23 09:12:41 EDT
New Gerrit change created: https://git.eclipse.org/r/148226
Comment 20 Eclipse Genie CLA 2019-08-26 06:07:03 EDT
New Gerrit change created: https://git.eclipse.org/r/148335
Comment 22 Niraj Modi CLA 2019-10-24 04:44:11 EDT
Also back-porting to previous LTS branch 'R4_8_maintenance' branch. Will share a gerrit shortly.
Comment 23 Eclipse Genie CLA 2019-10-24 04:50:40 EDT
New Gerrit change created: https://git.eclipse.org/r/151511