Bug 21430 - [Accessibility] JAWS can not read label for multi-lines Text
Summary: [Accessibility] JAWS can not read label for multi-lines Text
Status: RESOLVED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Carolyn MacLeod CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2002-07-10 03:50 EDT by Naomi Miyamoto CLA
Modified: 2013-05-02 11:00 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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".