Bug 544913 - [Accessibility] LTK refactoring: Some information can't be read in preview
Summary: [Accessibility] LTK refactoring: Some information can't be read in preview
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.6   Edit
Hardware: PC Windows All
: P3 normal (vote)
Target Milestone: 4.6.3+   Edit
Assignee: Niraj Modi CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2019-02-28 05:36 EST by Nadine LE NOUVEAU CLA
Modified: 2019-11-22 06:31 EST (History)
2 users (show)

See Also:


Attachments
Java example and information not read (13.92 KB, image/png)
2019-02-28 05:36 EST, Nadine LE NOUVEAU CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nadine LE NOUVEAU CLA 2019-02-28 05:36:18 EST
Created attachment 277709 [details]
Java example and information not read

Currently developing a refactoring API with the LTK plugins, we notice that some  information such as "changed to be performed" and the tree can't be read.

Test Tool Type: JAWS 2018


===== DEFECT DESCRIPTION =====

The information in red rectangles in pics (see attachment) can't be read out

=====STEPS TO REPRODUCE =====
With a Java example:
1.Open JAWS
2.Right click on a Java class
3. Refactor > Extract interface
4. Preview


===== EXPECTED RESULT =====
The information should be read out
Comment 1 Niraj Modi CLA 2019-03-28 03:47:26 EDT
Problem reproducible at my end with Jaws17 on Win7 as well, am investigating the reason.
Comment 2 Niraj Modi CLA 2019-04-08 06:28:28 EDT
As per the current behavior, JAWS(of even Microsoft's Narrator) reads out the text of the label which are immediately added before any specified Text field which is in focus.

In this case the Label's text which we expect to read out:
- is part of a Toolbar(added before the associated Text filed's Label)
- Also this label is non-focus able.

So, we can go about with two possible approaches to fix this:
1. Either we could establish relationship between the two widgets.
2. Or we could make the mentioned label as focus, so tab stops by.

I am trying out what works best.
Comment 3 Niraj Modi CLA 2019-05-28 06:30:38 EDT
We need to take clues from below SWT snippet to get to a solution for this bug:
SWT snippet, which tells a screen reader about updates to a non-focused descriptive area:
https://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet79.java

Moving out of 4.12
Comment 4 Niraj Modi CLA 2019-07-24 02:37:27 EDT
In my plan for 4.13, I plan to work on this issue after bug 544868.
Comment 5 Eclipse Genie CLA 2019-08-19 04:26:13 EDT
New Gerrit change created: https://git.eclipse.org/r/147901
Comment 6 Niraj Modi CLA 2019-08-29 02:26:37 EDT
(In reply to Eclipse Genie from comment #5)
> New Gerrit change created: https://git.eclipse.org/r/147901

Reached a partial fix, will investigate further on this in 4.14
Comment 7 Niraj Modi CLA 2019-11-11 10:18:00 EST
(In reply to Niraj Modi from comment #6)
> (In reply to Eclipse Genie from comment #5)
> > New Gerrit change created: https://git.eclipse.org/r/147901
Posted an updated gerrit on Eclipse compare module, which improves on above patch.
 
> Reached a partial fix, will investigate further on this in 4.14

We also need a change in JDT UI component to get above patch working:
Below setText(String text) method conditionally avoids setting the 'text' argument, without notifying the corresponding viewer: 
-------------------------------------------------------------------------
org.eclipse.ltk.internal.ui.refactoring.TextEditChangePreviewViewer.java

public void setText(String text) {
	if (fLabel != null) {
		super.setText(fLabel);
	} else {
		super.setText(text);
	}


I have a working changes on JDT UI, will share a gerrit shortly.
Comment 8 Eclipse Genie CLA 2019-11-11 10:25:34 EST
New Gerrit change created: https://git.eclipse.org/r/152437
Comment 9 Niraj Modi CLA 2019-11-11 11:30:26 EST
(In reply to Nadine LE NOUVEAU from comment #0)
> Created attachment 277709 [details]
> Java example and information not read

Referring to above screen-shot, current pair of gerrit patches will read out the class name in the Refactor > Extract interface workflow.
Comment 10 Niraj Modi CLA 2019-11-11 11:59:15 EST
(In reply to Eclipse Genie from comment #8)
> New Gerrit change created: https://git.eclipse.org/r/152437

With revised JDT UI patch, both of the texts(referred in attachment 277709 [details]) are now covered, targeting this bug for 4.14 M3
Comment 13 Niraj Modi CLA 2019-11-13 00:36:37 EST
(In reply to Eclipse Genie from comment #11)
> Gerrit change https://git.eclipse.org/r/152437 was merged to [master].
> Commit:
> http://git.eclipse.org/c/jdt/eclipse.jdt.ui.git/commit/
> ?id=f19623c48b13c11a9a25116d136d8cacb5a3f003

(In reply to Eclipse Genie from comment #12)
> Gerrit change https://git.eclipse.org/r/147901 was merged to [master].
> Commit:
> http://git.eclipse.org/c/platform/eclipse.platform.team.git/commit/
> ?id=1db5d00c72dd69ac6161cf04145cc7918842c5c0

Verified the fix in Eclipse Build id: I20191112-1800, resolving now.
Comment 14 Niraj Modi CLA 2019-11-13 01:19:12 EST
Reopening for back-port the fix to 4.11+, 4.8+ and R4_6_maintenance branches.
Comment 15 Eclipse Genie CLA 2019-11-22 03:29:52 EST
New Gerrit change created: https://git.eclipse.org/r/153162
Comment 16 Eclipse Genie CLA 2019-11-22 03:54:22 EST
New Gerrit change created: https://git.eclipse.org/r/153164
Comment 17 Eclipse Genie CLA 2019-11-22 04:10:35 EST
New Gerrit change created: https://git.eclipse.org/r/153165
Comment 18 Eclipse Genie CLA 2019-11-22 04:17:04 EST
New Gerrit change created: https://git.eclipse.org/r/153166
Comment 19 Eclipse Genie CLA 2019-11-22 04:40:18 EST
New Gerrit change created: https://git.eclipse.org/r/153167
Comment 20 Eclipse Genie CLA 2019-11-22 04:42:39 EST
New Gerrit change created: https://git.eclipse.org/r/153168
Comment 21 Eclipse Genie CLA 2019-11-22 05:40:05 EST
Gerrit change https://git.eclipse.org/r/153166 was merged to [R4_8_maintenance].
Commit: http://git.eclipse.org/c/jdt/eclipse.jdt.ui.git/commit/?id=d9e301700c4e749873cb8172fb088348af8ce672
Comment 22 Eclipse Genie CLA 2019-11-22 05:42:17 EST
Gerrit change https://git.eclipse.org/r/153164 was merged to [R4_11_maintenance].
Commit: http://git.eclipse.org/c/jdt/eclipse.jdt.ui.git/commit/?id=baf40310a51d179b7f42d83b69d4fc3ec45203cd
Comment 25 Eclipse Genie CLA 2019-11-22 05:52:27 EST
Gerrit change https://git.eclipse.org/r/153168 was merged to [R4_6_maintenance].
Commit: http://git.eclipse.org/c/jdt/eclipse.jdt.ui.git/commit/?id=1fbe14d8383c1aaab305bddd517120ec32393c77
Comment 27 Niraj Modi CLA 2019-11-22 06:28:58 EST
(In reply to Niraj Modi from comment #14)
> Reopening for back-port the fix to 4.11+, 4.8+ and R4_6_maintenance branches.

Both set of patches(eclipse.jdt.ui.git and eclipse.platform.team.git) are back-ported to above set of releases, resolving now.