Bug 21430

Summary: [Accessibility] JAWS can not read label for multi-lines Text
Product: [Eclipse Project] Platform Reporter: Naomi Miyamoto <nmiya>
Component: SWTAssignee: Carolyn MacLeod <carolynmacleod4>
Status: RESOLVED WORKSFORME QA Contact:
Severity: major    
Priority: P3 CC: barry_dow, dipalerm, lding, Lmao, pombredanne, steve_northover
Version: 2.0Keywords: accessibility
Target Milestone: ---   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Naomi Miyamoto CLA 2002-07-10 03:50:38 EDT
Environment : Windows 2000 + JAWS 4.02

JAWS can not read corresponding label when GridData is set to multi-lines Text 
widget.

In the sample below, JAWS reads "Label 1" and "Label 3", but can not 
read "Label 2".

//// sample /////
public class JAWSTest {
	Shell shell;
	
public static void main(String[] args) {
	JAWSTest test = new JAWSTest();
	test.open();
}

void open() {
	Display display = new Display();
	shell = new Shell(display);
	shell.setLayout(new GridLayout());	

	Label label1 = new Label(shell, SWT.NONE);
	label1.setText("Label &1:");
	Text commentText1 = new Text(shell, SWT.H_SCROLL | SWT.V_SCROLL | 
SWT.BORDER);

	Label label2 = new Label(shell, SWT.NONE);
	label2.setText("Label &2:");
	Text commentText2 = new Text(shell, SWT.H_SCROLL | SWT.V_SCROLL | 
SWT.BORDER);
	GridData gridData = new GridData();
	gridData.widthHint = 200;
	gridData.heightHint = 100;
	commentText2.setLayoutData(gridData);

	Label label3 = new Label(shell, SWT.NONE);
	label3.setText("Label &3:");
	Text commentText3 = new Text(shell, SWT.H_SCROLL | SWT.V_SCROLL | 
SWT.BORDER);

	shell.open();
	
	while (!shell.isDisposed() ) {
		if ( !display.readAndDispatch() ) {
			display.sleep();
		}
	}	
}
}
Comment 1 Tod Creasey CLA 2002-10-25 08:53:10 EDT
JAWS associated labels with single line texts but not with multi line texts. 
The rationale is that the single line label is an entry field so a sibling 
label to the right of it is associated - no such association is made for a 
multi line text. The only way to label a multi line text is to put it into a 
GroupBox and label the GroupBox.
Comment 2 Carolyn MacLeod CLA 2004-02-11 17:46:26 EST
This problem is completely fixed in the new JAWS 5.0 upgrade (5.00.809).
To upgrade, see Frank DiPalermo's comment in bug 38194.
Closing bug.
Comment 3 Naomi Miyamoto CLA 2004-10-01 04:15:27 EDT
I tried JAWS 5.00.846 and eclipse 3.0GM. JAWS can not read Label 2 of sample 
program.
Comment 4 Carolyn MacLeod CLA 2004-10-01 11:34:55 EDT
Rewrote the code snippet slightly for Lin.
Also, I tried it with JAWS 5.0 and JAWS 5.1, and the bug still exists - JAWS 
does not read "Label 2:". The MSAA inspector *does* see "Label 2:" if I 
ctrl+Tab into the second text control. (Can also use Alt+1, Alt+2, Alt+3 to 
switch focus to the various text editors).

Here's the rewritten snippet:

package org.eclipse.swt.snippets;

import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;

public class MultiLineTextTest {
	static Display display;
	static Shell shell;
	static TabFolder tabFolder;
	static Point maxSize;
	static Composite selectedContents;
	
	public static void main(String[] args) {
		Display display = new Display();
		shell = new Shell(display);
		shell.setLayout(new GridLayout());	

		Label label1 = new Label(shell, SWT.NONE);
		label1.setText("Label &1:");
		Text commentText1 = new Text(shell, SWT.H_SCROLL | 
SWT.V_SCROLL | SWT.BORDER);

		Label label2 = new Label(shell, SWT.NONE);
		label2.setText("Label &2:");
		Text commentText2 = new Text(shell, SWT.H_SCROLL | 
SWT.V_SCROLL | SWT.BORDER);
		GridData gridData = new GridData();
		gridData.widthHint = 200;
		gridData.heightHint = 100;
		commentText2.setLayoutData(gridData);

		Label label3 = new Label(shell, SWT.NONE);
		label3.setText("Label &3:");
		Text commentText3 = new Text(shell, SWT.H_SCROLL | 
SWT.V_SCROLL | SWT.BORDER);

		shell.open();
		
		while (!shell.isDisposed() ) {
			if ( !display.readAndDispatch() ) {
				display.sleep();
			}
		}	
	}
}
Comment 5 Steve Northover CLA 2006-06-28 13:44:13 EDT
CAR if this is a bug in JAWS, make sure that FS knows about it and close it as WONTFIX (ie. CANTFIX).  Thanks.
Comment 6 Barry Dow CLA 2009-09-11 05:59:17 EDT
Is anything going to be done about this? I am using JAWS 10 and RSA 7.5.3. 

We have a defect in our product which I am going to defer and refer to this bug.
Comment 7 Carolyn MacLeod CLA 2013-05-02 11:00:36 EDT
I just tried this with JAWS 14, and Label 2 is read correctly now.
Marking this bug as "works for me".